Towards suitable description of reference architectures

Due to the increasing size and complexity of many current software systems, the architectural design of these systems has become a considerately complicated task. In this scenario, reference architectures have already proven to be very relevant to support the architectural design of systems in diverse critical application domains, such as health, avionics, transportation, and the automotive sector. However, these architectures are described in many different approaches, such as using textual description, informal models, and even modeling languages as UML. Hence, practitioners are faced with a difficult decision of the better approaches to describing reference architectures. The main contribution of this work is to depict a detailed panorama containing the state of the art (from the literature) and state of the practice (based on existing reference architectures) of approaches for describing reference architectures. For this, we firstly examined the existing approaches (e.g., processes, methods, models, and modeling languages) and compared them concerning completeness and applicability. We also examined four well-known, successful reference architectures (AUTOSAR, ARC-IT, IIRA, and AXMEDIS) in view of the approaches used to describe them. As a result, there exists a misalignment between the state of the art and state of the practice, requiring an engagement of the software architecture community, through research collaboration of academia and industry, to propose more suitable means to describe reference architectures and, as a consequence, promoting the sustainability of these architectures.

[1]  Claes Wohlin,et al.  Guidelines for snowballing in systematic literature studies and a replication in software engineering , 2014, EASE '14.

[2]  James S. Albus,et al.  A reference architecture for control of mechanical systems , 1994, Proceedings 1994 Tutorial and Workshop on Systems Engineering of Computer-Based Systems.

[3]  Bernd Blobel,et al.  A Reference Architecture for Integrated EHR in Colombia , 2011, MIE.

[4]  Elisa Yumi Nakagawa,et al.  A Typology of Architectural Strategies for Interoperability , 2019, SBCARS '19.

[5]  Matthias Galster,et al.  Reference architectures and Scrum: friends or foes? , 2017, ESEC/SIGSOFT FSE.

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

[7]  Xavier Franch,et al.  Benefits and drawbacks of software reference architectures: A case study , 2017, Inf. Softw. Technol..

[8]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[9]  Tiago Volpato,et al.  Two perspectives on reference architecture sustainability , 2017, ECSA.

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

[11]  Georg Hackenberg,et al.  Towards a bottom-up development of reference architectures for smart energy systems , 2013, 2013 2nd International Workshop on Software Engineering Challenges for the Smart Grid (SE4SG).

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

[13]  Jan Bosch,et al.  A reference architecture template for software-intensive embedded systems , 2012, WICSA/ECSA '12.

[14]  P. Bellini,et al.  An architecture of automating production of cross media content for multi-channel distribution , 2005, First International Conference on Automated Production of Cross Media Content for Multi-Channel Distribution (AXMEDIS'05).

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

[16]  David Garlan,et al.  Software architecture: a roadmap , 2000, ICSE '00.

[17]  Michael Stal,et al.  Architecture Sustainability , 2013, IEEE Softw..

[18]  Naveed Ikram,et al.  Evidence in software architecture, a systematic literature review , 2013, EASE '13.

[19]  David C. Luckham,et al.  NSA's MISSI Reference Architecture - Moving from Prose to Precise Specification , 1997, Requirements Targeting Software and Systems Engineering.

[20]  Davide Brugali,et al.  Modeling and reusing robotic software architectures: The HyperFlex toolchain , 2014, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[21]  Robert N. Lass,et al.  A Methodology for Developing an Agent Systems Reference Architecture , 2010, AOSE.

[22]  Eduardo B. Fernández,et al.  Building Compliance and Security Reference Architectures (CSRA) for Cloud Systems , 2016, 2016 IEEE International Conference on Cloud Engineering (IC2E).

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

[24]  Colin C. Venters,et al.  Software sustainability: Research and practice from a software architecture viewpoint , 2018, J. Syst. Softw..

[25]  Marco Tulio Valente,et al.  BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests , 2013, Journal of Software Engineering Research and Development.

[26]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[27]  Paris Avgeriou,et al.  Describing, Instantiating and Evaluating a Reference Architecture : A Case Study , 2003 .

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

[29]  Christian Berger,et al.  Design and Evaluation of a Customizable Multi-Domain Reference Architecture on Top of Product Lines of Self-Driving Heavy Vehicles - An Industrial Case Study , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[30]  Flávio Oquendo,et al.  An Approach for Capturing and Documenting Architectural Decisions of Reference Architectures , 2014, SEKE.

[31]  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.

[32]  Flávio Oquendo,et al.  Consolidating a Process for the Design, Representation, and Evaluation of Reference Architectures , 2014, 2014 IEEE/IFIP Conference on Software Architecture.

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

[34]  Francisca Losavio,et al.  Quality-based heuristic for optimal product derivation in Software Product Lines , 2015, 2015 Internet Technologies and Applications (ITA).

[35]  Peter Knauber,et al.  PuLSE-DSSA—a method for the development of software reference architectures , 1998, ISAW '98.

[36]  Paul de Vrieze,et al.  A reference architecture for big data systems , 2016, 2016 10th International Conference on Software, Knowledge, Information Management & Applications (SKIMA).

[37]  Flávio Oquendo,et al.  A systematic literature review on the description of software architectures for systems of systems , 2015, SAC.

[38]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A systematic literature review , 2009, Inf. Softw. Technol..

[39]  Robert N. Lass,et al.  Development and Specification of a Reference Architecture for Agent-Based Systems , 2014, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[40]  Olaf Zimmermann,et al.  Architectural Knowledge in an SOA Infrastructure Reference Architecture , 2009, Software Architecture Knowledge Management.

[41]  Xavier Franch,et al.  A survey on the benefits and drawbacks of AUTOSAR , 2015, 2015 First International Workshop on Automotive Software Architecture (WASA).

[42]  Flávio Oquendo,et al.  Architectural description of embedded systems: a systematic review , 2012, ISARCS '12.

[43]  Diego Vicentin Developing Standards, Shaping the Network: Ethnographic Notes on the IEEE 802 LAN/MAN Standards Committee , 2015 .

[44]  Gerrit Muller,et al.  The Concept of Reference Architectures , 2010, Syst. Eng..

[45]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

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

[47]  Claes Wohlin,et al.  When to Update Systematic Literature Reviews in Software Engineering , 2020, J. Syst. Softw..

[48]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[49]  Flávio Oquendo,et al.  Foreword: Towards Reference Architectures for Systems-of-Systems , 2015, 2015 IEEE/ACM 3rd International Workshop on Software Engineering for Systems-of-Systems.

[50]  Ina Schieferdecker,et al.  Towards an Open Data Based ICT Reference Architecture for Smart Cities , 2017, 2017 Conference for E-Democracy and Open Government (CeDEM).

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

[52]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[53]  Emilia Mendes,et al.  Using Forward Snowballing to update Systematic Reviews in Software Engineering , 2016, ESEM.

[54]  Philippe Kruchten Architectural Blueprints: The 4+1 View Model of Software Architecture , 2020, ArXiv.