A modular metamodel and refactoring rules to achieve software product line interoperability. - Horcas-Aguilera, José Miguel; Pinto-Alarcón, Mónica; Fuentes-Fernández, Lidia (Elsevier, 2022)
Emergent application domains, such as cyber–physical systems, edge computing or industry 4.0. present a high variability in software and hardware infrastructures. However, no single variability modeling language supports all language extensions required by these application domains (i.e., attributes, group cardinalities, clonables, complex constraints). This limitation is an open challenge that should be tackled by the software engineering field, and specifically by the software product line (SPL) community. A possible solution could be to define a completely new language, but this has a high cost in terms of adoption time and development of new tools. A more viable alternative is the definition of refactoring and specialization rules that allow interoperability between existing variability languages. However, with this approach, these rules cannot be reused across languages because each language uses a different set of modeling concepts and a different concrete syntax. Our approach relies on a modular and extensible metamodel that defines a common abstract syntax for existing variability modeling extensions. We map existing feature modeling languages in the SPL community to our common abstract syntax. Using our abstract syntax, we define refactoring rules at the language construct level that help to achieve interoperability between variability modeling languages.
Keywords: Computación; Ingeniería del software; Protocolos de comunicaciones; Variability modeling language; Modular metamodel; Model refactoring; Model specialization; Interoperability; Edge computing