Towards a Reference Architecture for ADM-based Modernization Tools
Context: The modernization of a legacy software system is a reality of companies that need to improve their systems. Architecture-Driven Modernization (ADM) is a model-driven blueprint that support modernization engineers in the modernization processes. ADM considers the usage of reengineering and model driven architecture (MDA) concepts and advocates the employment of standard metamodels, such as Knowledge Discovery Metamodel (KDM). One of the main challenges while considering ADM is on how modernization tools (MTs) should be developed in order to allow the success of modernization projects that follows the ADM blueprint. Objective: In this paper we address the main requirements and guidelines on how modernization tools should be designed by means of a Reference Architecture (RA) for ADM-based Modernization Tools named RADMoTo. Methodology: We followed a four-steps methodological process to build RADMoTo and to evaluate it we submitted the RA technical report and a survey to ADM experts and software architects in order to get a feedback of the RA acceptance level. Results: As a result, we found out that, in general, the participants believe that our RA provides an acceptable level while considering the architectural views. Conclusion: The feedback from the participants helped in the improvement process of the RA. Thus, we claim that this paper provides concrete guidelines on how modernization tools should be designed and on how architectural instances derived from our RA could benefit from reusability and interoperability.
Samuil Angelov, Jos J. M. Trienekens, and Paul Grefen. 2008. Towards a Method for the Evaluation of Reference Architectures: Experiences from a Case. Springer Berlin Heidelberg, Berlin, Heidelberg, 225--240. https://doi.org/10.1007/978-3-540-88030-1_17
Elliot J. Chikofsky and James H Cross. 1990. Reverse engineering and design recovery: A taxonomy. IEEE software 7, 1 (1990), 13--17.
R. S. Durelli, D. S. M. Santibáñez, B. Marinho, R. Honda, M. E. Delamaro, N. Anquetil, and V. V. de Camargo. 2014. A mapping study on architecture-driven modernization. In Proceedings of the 2014 IEEE 15th International Conference on Information Reuse and Integration (IEEE IRI 2014). IEEE, Redwood City, CA, USA, 577--584.
Nancy S. Eickelmann and Debra J. Richardson. 1996. An Evaluation of Software Test Environment Architectures. In Proceedings of the 18th International Conference on Software Engineering (ICSE '96). IEEE Computer Society, Washington, DC, USA, 353--364.
Matthias Galster and Paris Avgeriou. [n. d.]. Empirically-grounded Reference Architectures: A Proposal. In Proceedings of the Joint ACM SIGSOFT Conference, series = QoSA-ISARCS '11, year = 2011, isbn = 978-1-4503-0724-6, location = Boulder, Colorado, USA, pages = 153--158, numpages = 6, url = http://doi.acm.org/10.1145/2000259.2000285, doi = 10.1145/2000259.2000285, acmid = 2000285, publisher = ACM, address = New York, NY, USA, keywords = design process, empirically-grounded, reference architecture, software architecture,.
David Garlan and Dewayne E. Perry. 1995. Introduction to the Special Issue on Software Architecture. IEEE Trans. Softw. Eng. 21, 4 (April 1995), 269--274. http://dl.acm.org/citation.cfm?id=205313.205314
ISO/IEC 25010:2011 2011. Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models. Standard.
T. R. Kramer, M. K. Senehi, J. L. Michaloski, S. R. Ray, W. G. Rippey, S. E. Wallace, R. Quintero, and J. S. Albus. 1994. A reference architecture for control of mechanical systems. In Proceedings 1994 Tutorial and Workshop on Systems Engineering of Computer-Based Systems. IEEE, Stockholm, Sweden, 104--110. https://doi.org/10.1109/ECBS.1994.331679
Mohammed Misbhauddin and Mohammad Alshayeb. 2015. UML Model Refactoring: A Systematic Literature Review. Empirical Softw. Engg. 20, 1 (Feb. 2015), 206--251. https://doi.org/10.1007/s10664-013-9283-7
Gerrit Muller. 2008. A reference architecture primer. Eindhoven Univ. of Techn., Eindhoven, White paper -, - (2008), -.
Elisa Yumi Nakagawa, Pablo Oliveira Antonino, and Martin Becker. 2011. Exploring the Use of Reference Architectures in the Development of Product Line Artifacts. In Proceedings of the 15th International Software Product Line Conference, Volume 2 (SPLC '11). ACM, New York, NY, USA, Article 28, 8 pages. https://doi.org/10.1145/2019136.2019168
E. Y. Nakagawa, M. Guessi, J. C. Maldonado, D. Feitosa, and F. Oquendo. 2014. Consolidating a Process for the Design, Representation, and Evaluation of Reference Architectures. In 2014 IEEE/IFIP Conference on Software Architecture. IEEE, Sydney, NSW, Australia, 143--152. https: //doi.org/10.1109/WICSA.2014.25
OMG. 2019. Architecture-Driven Modernization. In Architecture-Driven Modernization. OMG, Needham, MA, USA, Retrieved January 11, 2019, from http://adm.omg.org/.
OMG. 2019. Software Modernization Category - Specifications. OMG, Needham, MA, USA, Software Modernization Category - Specifications Associated Retrieved January 11, 2019, from https://www.omg.org/spec/category/software-modernization.
William F. Opdyke. 1992. Refactoring Object-oriented Frameworks. Ph.D. Dissertation. University of Illinois at Urbana-Champaign Champaign, Champaign, IL, USA. UMI Order No. GAX93-05645.
Ricardo Pérez-Castillo, Ignacio García-Rodríguez de Guzmán, and Mario Piattini. 2011. Knowledge Discovery Metamodel-ISO/IEC 19506: A Standard to Modernize Legacy Systems. Comput. Stand. Interfaces 33, 6 (Nov. 2011), 519--532. https://doi.org/10.1016/j.csi.2011.02.007
Ricardo Pérez-Castillo, I. G. R. de Guzmán, and M. Piattini. 2011. Architecture-Driven Modernization. 75--103. https://doi.org/10.4018/978-1-60960-215-4
Ignacio García Rodríguez de Guzmán Ricardo Pérez-Castillo and Mario Piattini. 2010. Modern Software Engineering Concepts and Practices: Advanced Approaches: Advanced Approaches. Chapter 4 - Architecture-Driven Modernization. IGI Global, Germany.
Woods E. Rozanski, N. 2005. Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. - -, - (2005), -.
A. Sadovykh, L. Vigier, A. Hoffmann, and et al. [n. d.]. Architecture Driven Modernization in Practice #150; Study Results. In 2009 14th IEEE International Conference on Engineering of Complex Computer Systems. IEEE, Potsdam, Germany, 50--57.
B. M. Santos, I. G. de Guzmán, V. V. de Camargo, M. Piattini, and C. Ebert. 2018. Software Refactoring for System Modernization. IEEE Software 35, 6 (November 2018), 62--67. https://doi.org/10.1109/MS.2018.4321236
Forrest Shull, Janice Singer, and Dag I.K. Sjùberg. 2007. Guide to Advanced Empirical Software Engineering. Springer-Verlag, Berlin, Heidelberg.
William M. Ulrich and Philip Newcomb. 2010. Information Systems Transformation: Architecture-Driven Modernization Case Studies. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
Ragnhild Van Der Straeten, Viviane Jonckers, and Tom Mens. 2007. A formal approach to model refactoring and model refinement. Software & Systems Modeling 6, 2 (01 Jun 2007), 139--162. https://doi.org/10.1007/s10270-006-0025-9