Skip to main content
Log in

Metrics for assessment of designs and implementations during reengineering of computer-based systems

  • Published:
Annals of Software Engineering

Abstract

Modern computer-based systems have many required characteristics, including performance, concurrency, timeliness, availability, dependability, safety and security. Aging computer-based systems are being reengineered to exploit distributed and highly parallel hardware platforms, in order to accommodate increased functional requirements and to achieve dependability. Simultaneously, reengineering is introducing modern software engineering principles such as component layering, encapsulation and information hiding, in order to reduce maintenance burdens and to simplify future enhancement. This paper summarizes a process for reengineering of computer-based systems to achieve these goals. The process incorporates experience gained through the reengineering of the Weapons Selection module and the Surface Operations module of the AEGIS Weapon System. A key component of the reengineering process is themission critical software architecture (MCSA), a hierarchical view of systems that includes the abstraction levels of programs, tasks, packages, procedures, and statements. To guide the reengineering processes of software transformation, concurrency metrics are defined at the procedure, package and task levels of the MCSA. The paper defines the intermediate representation (IR) needed to compute the metrics, and shows how to use the IR to compute several metrics: the percentage of concurrency within procedures and packages, and the amount of potential concurrency among tasks. The metrics are important in any reengineering approach that iteratively transforms design and code, or that deals with system configuration (the integration of software, hardware and humanware).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Arango, G.et al. (1985), “Maintenance and Porting of Software by Design Recovery”,Proceedings of the Conference on Software Maintenance, IEEE CS Press, pp. 42–49.

  • AEGIS TACTICAL EXECUTIVE SYSTEM (ATES/43) USER'S MANUAL, Volume 1 — System Design Guide, July 1991, p. 3–1.

  • Biggerstaff, T.J. (1989), “Design Recovery for Maintenance and Reuse”,IEEE Computer 22, 7.

    Google Scholar 

  • Castells-Schofield, C. (1990), “Engineering a Language-Independent Approach to Parsing for Analysis and Testing”,Vitro Tech. Journal 8, 1.

    Google Scholar 

  • Dietrich, S. and F. Calliss (1992), “A Conceptual Design for a Code Analysis Knowledge Base”,Software Maintenance: Research and Practice 4.

  • Ferrante, J., K.J. Ottenstein, and J.D. Warren (1987), “The Program Dependence Graph and its Use in Optimization”,ACM Transactions on Programming Languages and Systems 9, 3, 319–349.

    Google Scholar 

  • Harandii, M. and J. Ning (1990), “Knowledge-Based Program Analysis”,IEEE Software 7, 1.

    Google Scholar 

  • Marlowe, T.J., A.D. Stoyenko, S.P. Masticola, and L.R. Welch (1994), “Schedulability — Analyzable Exception Handling for Responsive Languages”,Journal of Real-Time Systems 7, 2, 183–212.

    Google Scholar 

  • Prywes, N., G. Ingargiola, I. Lee, and M. Lee (1994), “Reengineering Concurrent Software into Ada”,Proceedings of the Fourth Systems Reengineering Technology Workshop, Naval Surface Warfare Center, pp. 157–177.

  • Reasoning Systems, Palo Alto, CA, “Refine Language Tools” (1993).

  • Rich, C. and R. Wills (1990), “Recognizing a Program's Design: A Graph-Parsin Approach”,IEEE Software 7, 1.

    Google Scholar 

  • Rossak, W., A.D. Stoyenko, and L.R. Welch (1992), “THE COMPONENT MANAGER — A Hybrid Reuse-Tool Supporting Interactive and Automated Retrieval of Software Components”, Technical Report CIS-92-04, New Jersey Institute of Technology.

  • Rubinstein, H., R. Piazza, and S. Roberts (1993), “Separating Parsing and Analysis in Reverse Engineering Tools”,Proceedings of the Working Conference on Reverse Engineering.

  • Sampson, C.H. (1994), “Translating CMS-2 to Ada”,Proceedings of the Fourth Systems Reengineering Technology Workshop, Naval Surface Warfare Center, pp. 143–156.

  • Scott, W.B. (1983), “Navy May Accelerate Missile Defense”,Aviation Week and Space Technology (May 30) 283–284.

  • Sitaraman, M., L.R. Welch, and D.E. Harms (1993), “On Specification of Reusable Software Components”,The International Journal of Software Engineering and Knowledge Engineering 3, 2, pp. 207–229.

    Google Scholar 

  • Sneed, H.M. (1991), “Economics of Software Re-engineering”,Software Maintenance: Research and Practice 3, 3, 163–182.

    Google Scholar 

  • Steiger, R.A. and L.R. Welch (1993), “Reusable Component Retrieval for Real-Time Applications”,Proceedings of the First IEEE Workshop on Real-Time Applications.

  • Stein, K.J. (1973), “AEGIS Fleet Defense Nearing Sea Test”,Aviation Week and Space Technology (August 13) 32–35.

  • Stein, K.J. (1975), “AEGIS System Tested Successfully”,Aviation Week and Space Technology (April 7) 36–40.

  • Stoyenko, A.D., L.R. Welch, and B.C. Cheng (1994), “Response Time Prediction in Object-Based, Parallel Embedded Systems”, to appear inEuromicro Journal, Special Issue on Parallel Processing in Embedded Real-Time Systems.

  • Verhoosel, J.P.C., L.R. Welch, D.K. Hammer, and A.D. Stoyenko (1994), “Assignment and Pre-Runtime Scheduling of Object-Based, Parallel Real-Time Processes”,Sixth IEEE Symposium on Parallel and Distributed Processing, pp. 638–645.

  • Verhoosel, J.P.C., L.R. Welch, D.K. Hammer, and A.D. Stoyenko (1995), “A Model for Scheduling of Object-Based, Hard Real-Time Parallel Processes”,The Journal of Real-Time Systems 8, 1.

    Google Scholar 

  • Welch, L.R. (1992), “Assignment of ADT Modules to Processors”,The 6th IEEE International Parallel Processing Symposium, pp. 72–75.

  • Welch, L.R., A.D. Stoyenko, and S. Chen (1993), “Assignment of ADT Modules with Random Neural Networks”,The Hawaii International Conference on System Sciences, pp. II-546–555.

  • Welch, L.R. (1993), “Cloning ADT Modules to Increase Parallelism: Rationale and Techniques”,Fifth IEEE Symposium on Parallel and Distributed Computing, pp. 430–437.

  • Welch, L.R. (1994), “A Parallel Virtual Machine for Programs Composed of Abstract Data Types”,IEEE Transactions on Computers 43, 11, 1249–1261.

    Google Scholar 

  • Welch, L.R., A.L. Samuel, M.W. Masters, R.D. Harrison, A.D. Stoyenko, and J. Caruso (1994), “A Framework for Automated Reengineering of Complex Computer Systems”,Proceedings of the 4th Systems Reengineering Technology Workshop, Naval Surface Warfare Center, pp. 44–56.

  • Welch, L.R., J.A. Haney, A.L. Samuel, R.D. Harrison, J. Lynch, M.W. Masters, T. Moffit, B. Ravindran, E. Sam, and W. Wright (1995), “Reengineering of Legacy Systems: Toward an Automated Approach”,Proceedings of the 5th Systems Reengineering Technology Workshop, Naval Surface Warfare Center.

  • Welch, L.R., A.L. Samuel, M.W. Masters, R.D. Harrison, and M. Wilson (1995), “A Framework for Automated Reengineering of Complex Computer Systems”,Journal of Systems and Software (July).

  • Welch, L.R., A.D. Stoyenko, and T.J. Marlowe, “Response Time Prediction for Distributed Periodic Processes Specified in CaRT-Spec”,Control Engineering Practice (in press).

  • Xinotech Research Inc., Minneapolis, MN (1992), “The Xinotech Program Composer 2.0”.

  • Yu, G. and L.R. Welch (1994), “Program Dependence Analysis for Concurrency Exploitation in Programs Composed of Abstract Data Type Modules”,Sixth IEEE Symposium on Parallel and Distributed Processing, pp. 66–73.

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work is supported in part by the US NSWC (N00178-95-R-2007, N60921-94-M-6096, N60921-94-M-1960, N60921-94-M-2555, N60921-95-M-0311), by the State of New Jersey (SBR-421290), and by the US ONR(N00014-92-J-1367).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Welch, L.R., Yu, G., Verhoosel, J. et al. Metrics for assessment of designs and implementations during reengineering of computer-based systems. Ann Software Eng 1, 179–217 (1995). https://doi.org/10.1007/BF02249051

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02249051

Keywords

Navigation