Hide metadata

dc.date.accessioned2023-03-11T17:44:13Z
dc.date.available2023-03-11T17:44:13Z
dc.date.created2022-11-02T13:13:35Z
dc.date.issued2022
dc.identifier.citationDamiani, Ferruccio Hähnle, Reiner Kamburjan, Eduard Lienhardt, Michael Paolini, Luca . Variability Modules. Journal of Systems and Software. 2022, 195
dc.identifier.urihttp://hdl.handle.net/10852/101293
dc.description.abstractA Software Product Line (SPL) is a family of similar programs, called variants, generated from a common artifact base. A Multi SPL (MPL) is a set of interdependent SPLs: each variant can depend on variants from other SPLs. MPLs are challenging to model and to implement efficiently, especially when different variants of the same SPL must coexist and interoperate. We address this challenge by introducing the concept of a variability module (VM), a new language construct. A VM constitutes at the same time a module and an SPL of standard (variability-free), possibly interdependent, modules. Generating a variant of a VM triggers the generation of all variants required to satisfy its dependencies. Consequentially, a set of interdependent VMs represents an MPL that can be compiled into a set of standard modules. We illustrate the VM concept with an example from an industrial modeling scenario and formalize it in a core calculus. We define family-based analyses to check that a VM satisfies certain well-formedness conditions and whether all variants can be generated. Finally, we provide an implementation of VM for the Java-like modeling language ABS, and evaluate it with case studies.
dc.languageEN
dc.rightsAttribution 4.0 International
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/
dc.titleVariability Modules
dc.title.alternativeENEngelskEnglishVariability Modules
dc.typeJournal article
dc.creator.authorDamiani, Ferruccio
dc.creator.authorHähnle, Reiner
dc.creator.authorKamburjan, Eduard
dc.creator.authorLienhardt, Michael
dc.creator.authorPaolini, Luca
cristin.unitcode185,15,5,80
cristin.unitnameCentre for Scalable Data Access
cristin.ispublishedtrue
cristin.fulltextoriginal
cristin.qualitycode2
dc.identifier.cristin2068016
dc.identifier.bibliographiccitationinfo:ofi/fmt:kev:mtx:ctx&ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.jtitle=Journal of Systems and Software&rft.volume=195&rft.spage=&rft.date=2022
dc.identifier.jtitleJournal of Systems and Software
dc.identifier.volume195
dc.identifier.doihttps://doi.org/10.1016/j.jss.2022.111510
dc.type.documentTidsskriftartikkel
dc.type.peerreviewedPeer reviewed
dc.source.issn0164-1212
dc.type.versionPublishedVersion
cristin.articleid111510
dc.relation.projectNFR/294600
dc.relation.projectNFR/237898


Files in this item

Appears in the following Collection

Hide metadata

Attribution 4.0 International
This item's license is: Attribution 4.0 International