Consolidating a Process for the Design, Representation, and Evaluation of Reference Architectures

Reference architectures have emerged as a special type of software architecture that achieves well-recognized understanding of specific domains, promoting reuse of design expertise and facilitating the development, standardization, and evolution of software systems. Because of their advantages, several reference architectures have been proposed and have been also successfully used, including in the industry. However, the most of these architectures are still built using an ad-hoc approach, lacking of a systematization to their construction. If existing, these approaches could motivate and promote the building of new architectures and also support evolution of existing ones. In this scenario, the main contribution of this paper is to present the evolution of ProSA-RA, a process that systematizes the design, representation, and evaluation of reference architectures. ProSA-RA has been already applied in the establishment of reference architectures for different domains and this experience was used to evolve our process. In this paper, we illustrate an application of ProSA-RA in the robotics domain. Results achieved through the use of ProSA-RA have showed us that it is a viable, efficient process and, as a consequence, it could contribute to the reuse of knowledge in several applications domains, by promoting the establishment of new reference architectures.

[1]  Paul W. P. J. Grefen,et al.  A classification of software reference architectures: Analyzing their success and effectiveness , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[2]  J. Girard,et al.  Definition of Reference Architectures based on Existing Systems WP 2 . 2 , Platforms and Components , 2004 .

[3]  Gerrit Muller Right Sizing Reference Architectures; How to provide specific guidance with limited information , 2008 .

[4]  Michael Uschold,et al.  Ontologies: principles, methods and applications , 1996, The Knowledge Engineering Review.

[5]  Inger Anne Tøndel,et al.  An Architectural Foundation for Security Model Sharing and Reuse , 2009, 2009 International Conference on Availability, Reliability and Security.

[6]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[7]  Fabiano Cutigi Ferrari,et al.  Towards a Reference Architecture for Software Testing Tools , 2007, SEKE.

[8]  Brian P. Gallagher,et al.  Using the Architecture Tradeoff Analysis Method SM to Evaluate a Reference Architecture: A Case Study , 2000 .

[9]  Philippe Kruchten,et al.  The Past, Present, and Future for Software Architecture , 2006, IEEE Software.

[10]  Elisa Yumi Nakagawa,et al.  Exploring ontologies to support the establishment of reference architectures: An example on software testing , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[11]  Flávio Oquendo,et al.  Variability viewpoint to describe reference architectures , 2014, WICSA '14 Companion.

[12]  Elisa Yumi Nakagawa,et al.  Towards a process to design aspect-oriented reference architectures , 2009 .

[13]  Fernando Henrique Ataíde,et al.  AUTomotive Open System Architecture - concepts, benefits and challenges , 2007 .

[14]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[15]  Elisa Yumi Nakagawa,et al.  Reference architecture knowledge representation: an experience , 2008, SHARK '08.

[16]  Paul W. P. J. Grefen,et al.  A framework for analysis and design of software reference architectures , 2012, Inf. Softw. Technol..

[17]  Flávio Oquendo,et al.  RAModel: A Reference Model for Reference Architectures , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[18]  Paris Avgeriou,et al.  Empirically-grounded reference architectures: a proposal , 2011, QoSA-ISARCS '11.

[19]  Elisa Yumi Nakagawa,et al.  Using Systematic Review to Elicit Requirements of Reference Architectures , 2011, WER.

[20]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[21]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[22]  Eila Niemelä,et al.  An Approach to Reference Architecture Design for Different Domains of Embedded Systems , 2008, Software Engineering Research and Practice.

[23]  Douglas P. Bogia,et al.  Continua Health Alliance and Associated Standards , 2008 .

[24]  Ursula Faber,et al.  Requirements Engineering A Good Practice Guide , 2016 .

[25]  Fabiano Cutigi Ferrari,et al.  An aspect-oriented reference architecture for Software Engineering Environments , 2011, J. Syst. Softw..

[26]  Elisa Yumi Nakagawa,et al.  Representation of Reference Architectures: A Systematic Review , 2011, SEKE.

[27]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[28]  Bernd Blobel,et al.  A development framework for semantically interoperable health information systems , 2009, Int. J. Medical Informatics.

[29]  Elisa Yumi Nakagawa,et al.  A Service-Oriented Reference Architecture for Software Testing Tools , 2011, ECSA.

[30]  Gerrit Muller,et al.  The Concept of Reference Architectures , 2010 .

[31]  Elisa Yumi Nakagawa,et al.  An Investigation into Reference Architectures for Mobile Robotic Systems , 2012, ICSEA 2012.

[32]  Paul W. P. J. Grefen,et al.  Towards a Method for the Evaluation of Reference Architectures: Experiences from a Case , 2008, ECSA.

[33]  Elisa Yumi Nakagawa,et al.  Reference Architecture and Product Line Architecture: A Subtle But Critical Difference , 2011, ECSA.

[34]  Rogério de Lemos,et al.  The Golden Age of Software Architecture , 2015 .

[35]  Elisa Yumi Nakagawa,et al.  A Checklist for Evaluation of Reference Architectures of Embedded Systems (S) , 2013, SEKE.

[36]  Arie van Deursen,et al.  Evaluating an embedded software reference architecture - industrial experience report , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[37]  G. Muller A Reference Architecture Primer , 2008 .