Variability Modelling in the ABS Language

  • Dave Clarke
  • Radu Muschevici
  • José Proença
  • Ina Schaefer
  • Rudolf Schlatte
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6957)


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.


Product Line Core Module Software Product Line Abstract Syntax Variability Modelling 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Atkinson, C., Bayer, J., Muthig, D.: Component-Based Product Line Development: The KobrA Approach. In: SPLC (2000)Google Scholar
  2. 2.
    Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# programming system: An overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Batory, D., Sarvela, J., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. Software Eng. 30(6) (2004)Google Scholar
  4. 4.
    Batory, D., Benavides, D., Ruiz-Cortes, A.: Automated analysis of feature models: challenges ahead. Commun. ACM 49(12), 45–47 (2006)CrossRefGoogle Scholar
  5. 5.
    Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Information Systems (2010)Google Scholar
  6. 6.
    de Boer, F.S., Clarke, D., Johnsen, E.B.: A complete guide to the future. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 316–330. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Boucher, Q., Classen, A., Faber, P., Heymans, P.: Introducing TVL, a text-based feature modelling language. In: Proceedings of the Fourth International Workshop on Variability Modelling of Software-intensive Systems (VaMoS 2010), Linz, Austria, January 27-29, pp. 159–162. University of Duisburg-Essen (2010)Google Scholar
  8. 8.
    Burdy, L., Cheon, Y., Cok, D.R., Ernst, M.D., Kiniry, J.R., Leavens, G.T., Leino, K.R.M., Poll, E.: An overview of JML tools and applications. International Journal on Software Tools for Technology Transfer, STTT 7(3) (June 2004)Google Scholar
  9. 9.
    Clarke, D., Diakov, N., Hähnle, R., Johnsen, E.B., Schaefer, I., Schäfer, J., Schlatte, R., Wong, P.Y.H.: Modeling spatial and temporal variability with the HATS abstract behavioral modeling language. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 417–457. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  10. 10.
    Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract Delta Modeling. In: Proceedings of the Ninth International Conference on Generative Programming and Component Engineering, GPCE 2010, pp. 13–22. ACM, New York (2010)CrossRefGoogle Scholar
  11. 11.
    Classen, A., Boucher, Q., Heymans, P.: A text-based approach to feature modelling: Syntax and semantics of TVL. Science of Computer Programming (November 2010)Google Scholar
  12. 12.
    Czarnecki, K., Antkiewicz, M.: Mapping Features to Models: A Template Approach Based on Superimposed Variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    van Deursen, A., Klint, P.: Domain-specific language design requires feature descriptions. Journal of Computing and Information Technology 10(1), 1–18 (2002)CrossRefzbMATHGoogle Scholar
  14. 14.
    Gomaa, H.: Designing Software Product Lines with UML. Addison Wesley, Reading (2004)Google Scholar
  15. 15.
    Hähnle, R., Johnsen, E.B., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A core language for abstract behavioral specification. In: Aichernig, B.K., de Boer, F.S., Bonsange, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 143–165. Springer, Heidelberg (2011)Google Scholar
  16. 16.
    Haugen, Ø., Møller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding Standardized Variability to Domain Specific Languages. In: SPLC (2008)Google Scholar
  17. 17.
    Heidenreich, F., Wende, C.: Bridging the Gap Between Features and Models. In: Aspect-Oriented Product Line Engineering, AOPLE 2007 (2007)Google Scholar
  18. 18.
    Hendrickson, S.A., van der Hoek, A.: Modelling product line architectures through change sets and relationships. In: ICSE, pp.189–198 (2007)Google Scholar
  19. 19.
    Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented Programming. Journal of Object Technology (March/April 2008)Google Scholar
  20. 20.
    Jayaraman, P.K., Whittle, J., Elkhodary, A.M., Gomaa, H.: Model composition in product lines and feature interaction detection using critical pair analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 151–165. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  21. 21.
    Johnsen, E.B., Owe, O.: An asynchronous communication model for distributed concurrent objects. Software and System Modeling 6(1), 35–58 (2007)CrossRefGoogle Scholar
  22. 22.
    Kang, K.C., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-Oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-021, Carnegie Mellon University Software Engineering Institute (1990)Google Scholar
  23. 23.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  24. 24.
    Lienhardt, M., Lanese, I., Bravetti, M., Sangiorgi, D., Zavattaro, G., Welsch, Y., Schäfer, J., Poetzsch-Heffter, A.: A component model for the ABS language. In: Aichernig, B.K., de Boer, F.S., Bonsange, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 166–184. Springer, Heidelberg (2011)Google Scholar
  25. 25.
    Lopez-Herrejon, R.E., Batory, D.S., Cook, W.R.: Evaluating Support for Features in Advanced Modularization Technologies. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 169–194. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    Noda, N., Kishi, T.: Aspect-Oriented Modeling for Variability Management. In: SPLC (2008)Google Scholar
  27. 27.
    OMG: Unified modelling language, infrastructure and superstructure (version 2.2, OMG final adopted specification) (2009)Google Scholar
  28. 28.
    van Ommering, R.C.: Software reuse in product populations. IEEE Trans. Software Eng. 31(7), 537–550 (2005)CrossRefGoogle Scholar
  29. 29.
    Perrouin, G., Klein, J., Guelfi, N., Jézéquel, J.M.: Reconciling Automation and Flexibility in Product Derivation. In: SPLC (2008)Google Scholar
  30. 30.
    Pohl, K., Böckle, G., Van Der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)CrossRefzbMATHGoogle Scholar
  31. 31.
    Schaefer, I.: Variability Modelling for Model-Driven Development of Software Product Lines. In: Proc. of 4th Intl. Workshop on Variability Modelling of Software-intensive Systems, VaMoS 2010 (2010)Google Scholar
  32. 32.
    Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 77–91. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  33. 33.
    Schaefer, I., Bettini, L., Damiani, F.: Compositional Type-Checking for Delta-oriented Programming. In: Intl. Conference on Aspect-oriented Software Development, AOSD (to appear, 2011)Google Scholar
  34. 34.
    Schaefer, I., Damiani, F.: Pure Delta-oriented Programming. In: FOSD 2010 (2010)Google Scholar
  35. 35.
    Schaefer, I., Worret, A., Poetzsch-Heffter, A.: A Model-Based Framework for Automated Product Derivation. In: Proc. of Workshop in Model-based Approaches for Product Line Engineering, MAPLE 2009 (2009)Google Scholar
  36. 36.
    Apel, S., Janda, F., Trujillo, S., Kästner, C.: Model Superimposition in Software Product Lines. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 4–19. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  37. 37.
    Völter, M., Groher, I.: Product Line Implementation using Aspect-Oriented and Model-Driven Software Development. In: SPLC, pp. 233–242 (2007)Google Scholar
  38. 38.
    Ziadi, T., Hélouët, L., Jézéquel, J.M.: Towards a UML Profile for Software Product Lines. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 129–139. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Dave Clarke
    • 1
  • Radu Muschevici
    • 1
  • José Proença
    • 1
  • Ina Schaefer
    • 2
  • Rudolf Schlatte
    • 3
  1. 1.IBBT-DistriNetKatholieke Universiteit LeuvenBelgium
  2. 2.University of BraunschweigGermany
  3. 3.University of OsloNorway

Personalised recommendations