Litcius/Paper detail

Reference architectures modelling and compliance checking

Alessio Bucaioni, Amleto Di Salle, Ludovico Iovino, Ivano Malavolta, Patrizio Pelliccione

2022Software & Systems Modeling24 citationsDOIOpen Access PDF

Abstract

Abstract Reference architectures (RAs) are successfully used to represent families of concrete software architectures in several domains such as automotive, banking, and the Internet of Things. RAs inspire architects when designing concrete architectures, and they help to guarantee compliance with architectural decisions, regulatory requirements, as well as architectural qualities. Despite their importance, reference architectures still suffer from a number of open technical issues, including (i) the lack of a common interpretation, a precise notation for their representation and documentation, and (ii) the lack of conformance mechanisms for checking the compliance of concrete architectures to their related reference architecture, architectural decisions, regulatory requirements, etc. This paper addresses these two issues by introducing a model-driven approach that leverages (i) a domain-independent metamodel for the representation of reference architectures and (ii) the combination of model transformation and weaving techniques for the automatic conformance checking of concrete architectures. We evaluate the applicability, effectiveness, and generalizability of our approach using illustrative examples from the web browsers and automotive domains, including an assessment from an independent practitioner.

Topics & Concepts

Computer scienceSoftware engineeringConformance checkingMetamodelingDocumentationDomain (mathematical analysis)Software architectureConformance testingReference modelReference architectureAutomotive industryArchitectural patternArchitectureWeavingRepresentation (politics)SoftwareProgramming languageSoftware developmentBusiness processWork in processSoftware designBiologyAerospace engineeringPolitical sciencePoliticsBusiness process modelingArtBusinessEngineeringStandardizationVisual artsMathematical analysisMathematicsZoologyMarketingLawOperating systemAdvanced Software Engineering MethodologiesModel-Driven Software Engineering TechniquesSoftware Engineering Research