Data abstraction in a software re-engineering reference model
Adrian Colbrook, C. Smythe, Anthony Darlison · 2002
The process of software reengineering must incorporate techniques for manipulating software which is imperative, declarative, or functional in nature. This generality needs a mechanism for deriving the original requirements of the underlying data structures contained within the source code itself. A reference model is proposed from which it is possible to derive the necessary techniques required to implement such a mechanism. The proposed model, the source code reengineering reference model (SCORE/RM), consists of eight layers (encapsulation, transformation, normalization, interpretation, abstraction, causation, regeneration, and certification) which provide a step-by-step approach to rationalizing the software, comprehending its functions and requirements, and rebuilding it according to well-established practices of software engineering. Such a framework can then be used to provide improved maintenance capability, language translation, retrospective standardization of the code and documentation, code migration onto parallel architectures, and formal specification.>