AbstractLegacy software systems are often the subject of analyses in attempts to affect modifications to extend their useful lifetimes. For the systems engineer, reengineering legacy systems or integrating legacy systems with new development and/or off‐the‐shelf software are areas which may provide particular challenges and where effective software system analysis is critical. When analyzing a software system, a range of system artifacts may be used. These artifacts include a description of the system in natural language, program design language descriptions, flow charts, object diagrams, as well as the system code. All of these artifact types can contain equivalent information at their specific level of abstraction. However, deriving information that is needed for reengineering or integrating a legacy system from each of these artifacts cannot be performed equivalently. For example, analyzing a poorly structured system with little or no design documentation is a particularly challenging problem. Software modeling using an abstract architecture representation as a common description vehicle, such as the Unified Modeling Language or some other, can “level the playing field” by creating representations of disparate systems at the same level of abstraction. This is of importance to reengineering efforts; it shows promise for supporting and facilitating integration efforts between legacy and other systems. This paper presents a methodology to express and manipulate (i.e. restructure) system architecture‐level models, an evaluation of the integratability of those models, and proposes a decision support system framework that makes the use of the methods.
Read full abstract