Reengineering Real-Time Software Systems
Abstract
The problem this thesis solves is how to reengineer existing real- time applications implemented without software engineering (SE) attributes; with poor modularity and robustness, and that are difficult to read and maintain. The real-time system chosen for this study was the Model-based Mobile robot Language (MML) used on the Yamabico- 11 mobile robot, which was implemented without SE attributes. The approach taken was reengineering MML with a focus on improving modifiability while preserving functionality. First we developed a systematic plan using manual static analysis, then we incrementally reengineered the application with thorough system-level testing. Code review was used to locate and remove dead code, and synonymous and redundant variables and functions (improving modifiability, readability and robustness). Call-hierarchy tracing was used to gain explicit module restructuring insight for tighter cohesion (improving modifiability, modularity, and readability). Global-variable tracing was used to improve module coupling by localizing and minimizing global variables (improving modularity, readability, and robustness). The results were as follows: A method for applying SE to existing real-time applications after- the-fact called 'Reengineering Real-Time Software Systems' was developed, which improves modifiability, modularity, robustness and readability. MML now has improved modularity and robustness, and is easier to read and maintain.
Document Details
- Document Type
- Technical Report
- Publication Date
- Sep 09, 1993
- Accession Number
- ADA273408
Entities
People
- Randall C. Scott
Organizations
- Naval Postgraduate School