Variability Modelling in the ABS Language

The HATS project aims at developing a model-centric methodology for the design, implementation and verification of highly configurable systems, such as software product lines, centred around the Abstract Behavioural Specification (ABS) modelling Language. This article describes the variability modelling features of the ABS Modelling framework. It consists of four languages, namely, μ TVL for describing feature models at a high level of abstraction, the Delta Modelling Language DML for describing variability of the ‘code' base in terms of delta modules, the Product Line Configuration Language CL for linking feature models and delta modules together and the Product Selection Language PSL for describing a specific product to extract from a product line. Both formal semantics and examples of each language are presented.

[1]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[2]  Ina Schaefer,et al.  Compositional Type-Checking for Delta-Oriented Programming (version with Appendix) , 2011 .

[3]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[4]  Oscar Nierstrasz,et al.  Context-oriented Programming , 2008, J. Object Technol..

[5]  U. Kulesza,et al.  Bridging the Gap Between Features and Models , 2007 .

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

[7]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[8]  Tomoji Kishi,et al.  Aspect-Oriented Modeling for Variability Management , 2008, 2008 12th International Software Product Line Conference.

[9]  Arnd Poetzsch-Heffter,et al.  A Model-Based Framework for Automated Product Derivation , 2009, MAPLE@SPLC.

[10]  Frank S. de Boer,et al.  A Complete Guide to the Future , 2007, ESOP.

[11]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[12]  Sven Apel,et al.  Model Superimposition in Software Product Lines , 2009, ICMT@TOOLS.

[13]  Reiner Hähnle,et al.  ABS: A Core Language for Abstract Behavioral Specification , 2010, FMCO.

[14]  Michiel Helvensteijn,et al.  Abstract delta modeling , 2010, GPCE '10.

[15]  Ina Schaefer,et al.  Pure delta-oriented programming , 2010, FOSD '10.

[16]  Viviana Bono,et al.  Delta-Oriented Programming of Software Product Lines , 2010, SPLC.

[17]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..

[18]  Andreas Classen,et al.  Introducing TVL, a Text-based Feature Modelling Language , 2010, VaMoS' 2010.

[19]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

[20]  Ivan Lanese,et al.  A Component Model for the ABS Language , 2010, FMCO.

[21]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[22]  Jaejoon Lee,et al.  Software Product Lines: Going Beyond - 14th International Conference, SPLC 2010, Jeju Island, South Korea, September 13-17, 2010. Proceedings , 2010, SPLC.

[23]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[24]  Antonio Ruiz Cortés,et al.  Automated analysis of feature models: challenges ahead , 2006, CACM.

[25]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[26]  Andrew P. Black ECOOP 2005 - Object-Oriented Programming, 19th European Conference, Glasgow, UK, July 25-29, 2005, Proceedings , 2005, ECOOP.

[27]  Iris Groher,et al.  Product Line Implementation using Aspect-Oriented and Model-Driven Software Development , 2007 .

[28]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[29]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[30]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[31]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[32]  Stephen Gilmore,et al.  Mobile Resource Guarantees for Smart Devices , 2004, CASSIS.

[33]  Frank J. van der Linden Software Product-Family Engineering , 2003, Lecture Notes in Computer Science.

[34]  Colin Atkinson,et al.  Component-based product line development: the KobrA Approach , 2000, SPLC.

[35]  Roberto Erick Lopez-Herrejon,et al.  Evaluating Support for Features in Advanced Modularization Technologies , 2005, ECOOP.

[36]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, Electron. Notes Theor. Comput. Sci..

[37]  R. van Ommering Software reuse in product populations , 2005, IEEE Transactions on Software Engineering.

[38]  Einar Broch Johnsen,et al.  An Asynchronous Communication Model for Distributed Concurrent Objects , 2004, SEFM.

[39]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[40]  Jean-Marc Jézéquel,et al.  Towards a UML Profile for Software Product Lines , 2003, PFE.

[41]  Valérie Issarny,et al.  Formal Methods for Eternal Networked Software Systems , 2011, Lecture Notes in Computer Science.

[42]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[43]  Jacques Klein,et al.  Reconciling Automation and Flexibility in Product Derivation , 2008, 2008 12th International Software Product Line Conference.

[44]  Reiner Hähnle,et al.  Modeling Spatial and Temporal Variability with the HATS Abstract Behavioral Modeling Language , 2011, SFM.

[45]  K. Rustan M. Leino,et al.  The Spec# Programming System: An Overview , 2004, CASSIS.

[46]  Hassan Gomaa,et al.  Designing Software Product Lines with UML , 2005, 29th Annual IEEE/NASA Software Engineering Workshop - Tutorial Notes (SEW'05).

[47]  Don Batory,et al.  Scaling step-wise refinement , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[48]  André van der Hoek,et al.  Modeling Product Line Architectures through Change Sets and Relationships , 2007, 29th International Conference on Software Engineering (ICSE'07).

[49]  Ina Schaefer,et al.  Variability Modelling for Model-Driven Development of Software Product Lines , 2010, VaMoS.