Accession Number : ADA299314

Title :   Computer-Aided Maintenance for Embedded Real-time Software.

Descriptive Note : Final rept. Jan-Jun 94,

Corporate Author : ARMY RESEARCH LAB ATLANTA GA

Personal Author(s) : Dampier, David A. ; Byrnes, Ronald B. ; Kindl, Mark R.

PDF Url : ADA299314

Report Date : AUG 1995

Pagination or Media Count : 24

Abstract : Army software systems get more complex as Army hardware gets more sophisticated. Life cycle costs for these systems are expected to exceed $35 billion over the life of current systems. Current software development and maintenance practice will soon be insufficient; hence, to keep pace, computer-aided methods must be adopted. One such method, computer-aided prototyping, improves software development and benefits costly software maintenance, by taking advantage of automation and decreasing costly human involvement. In computer-aided prototyping, software prototypes written in a specification language are translated into some high-level programming language, like Ada, compiled, and demonstrated to the customer. Based on customer comments, the prototype is quickly updated and demonstrated to the customer again. This iterative process continues until the customer and designer agree on the prototype design. The prototype is then used as the baseline version of the final system. Change-merging is a formal method which allows multiple design teams to work on different enhancements to the same prototype. These enhancements can be made independently and combined automatically using our change-merging algorithm. As long as the independent enhancements do not conflict with one another, the result of the change-merge is a prototype with the capability of all the enhancements. This method is applied to the maintenance of different versions of existing systems by making enhancements to the baseline version and automatically integrating these changes into each fielded version. This will drastically reduce the time required to update software systems in the field.

Descriptors :   *SOFTWARE ENGINEERING, *COMPUTER PROGRAM VERIFICATION, *COMPUTER AIDED DIAGNOSIS, COMPUTER PROGRAMS, MAINTENANCE, REAL TIME, SPECIFICATIONS, PROGRAMMING LANGUAGES, TEAMS(PERSONNEL), PROTOTYPES, ARMY EQUIPMENT, EMBEDDING, COMPUTER APPLICATIONS, LIFE CYCLE COSTS, ITERATIONS.

Subject Categories : Computer Programming and Software

Distribution Statement : APPROVED FOR PUBLIC RELEASE