An approach to support the creation of domain reference architectures based on legacy systems analysis
Keywords:
Domain Reference Architectures, DSSA, Architecture Recovery, Dynamic Analysis, Domain Engineering, VariabilityAbstract
Large organizations usually have software systems that represent effort and resources invested, besides encompassing business knowledge. Moreover, these companies frequently develop systems of the same domain to different clients in the same business area. It has been motivating the adoption of reuse approaches, such as Domain Engineering (DE) and Product Line (PL). DE involves the process of identifying and organizing the knowledge about a class of common problems, i.e., the problem domain, supporting its description and solution. PL can be seen as a variant of DE which focus has been moved to the industrial context. In both of them the domain reference architecture or Domain Specific Software Architecture (DSSA) represents the basis for application instantiation. It must be in conformance with domain requirements, commonalities, and variability, expressing common and distinct aspects among domain applications. Although these existent systems, usually named legacy systems, represent one of the most meaningful domain information sources for the construction of DSSAs, in general, they do not have an up-to-date documentation that can help in their comprehension. In this context, Reverse Engineering (RE) provides a set of techniques that aids in reconstructing models for these systems, starting from static or dynamic analysis. However, RE does not support model analysis for reuse. Considering this scenario, this thesis proposes an approach to support the creation of DSSAs based on legacy systems analysis, involving: a RE process, focusing on the recovery of architectural elements that represent domain concepts; and the comparison of the recovered architectures in the same domain in order to detect their similarities and variability by applying techniques such as a domain dictionary, substrings comparison etc. Since the analyzed systems are Object-Oriented, the dynamic analysis is prioritized in the proposed Reverse Engineering process, although static analysis complements its results. Existent DE and PL approaches generally do not provide a systematic support to DSSAs specification from legacy systems, like the proposed approach, that defines a set of activities with supporting criteria, techniques, and tool set.Downloads
Downloads
Issue
Section
License
The authors of the manuscript submitted to Vértices, hereby represented by the corresponding author, agree to the following terms:
The authors retain the copyright and grant Vértices the right of first publication.
At the same time the work is licensed under the Creative Commons Attribution 4.0 International License, allowing third parties to copy and redistribute the material in any medium or format and to remix, transform, and build upon its content for any legal purpose, even commercially, provided the original work is properly cited.
Authors will not receive any material reward for the manuscript and Essentia Editora will make it available online in Open Access mode, through its own system or other databases.
Authors are authorized to enter into additional contracts separately for non-exclusive distribution of the version of the work published in Vértices (eg, publish in institutional repository or as book chapter), with acknowledgment of authorship and initial publication in this journal.
Authors are permitted and encouraged to disseminate and distribute the post-print (ie final draft post-refereeing) or publisher's version/PDF at online information sources (eg, in institutional repositories or on their personal page) at any time after the first publication of the article by Vértices.
Essentia Editora may make normative, orthographic and grammatical changes in the originals in order to maintain the standard language, with the final consent of the authors.
The content and opinions expressed in the manuscript are the sole responsibility of the author (s).