Reengineering Real-Time Software Systems
NAVAL POSTGRADUATE SCHOOL MONTEREY CA
Pagination or Media Count:
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.
- Computer Programming and Software