Towards correct-by-construction product variants of a software product line: GFML, a formal language for feature modules

Thi-Kim-Zung Pham
Catherine Dubois
Nicole Levy

Software Product Line Engineering (SPLE) is a software engineering paradigm that focuses on reuse and variability. Although feature-oriented programming (FOP) can implement software product line efficiently, we still need a method to generate and prove correctness of all product variants more efficiently and automatically. In this context, we propose to manipulate feature modules which contain three kinds of artifacts: specification, code and correctness proof. We depict a methodology and a platform that help the user to automatically produce correct-by-construction product variants from the related feature modules. As a first step of this project, we begin by proposing a language, GFML, allowing the developer to write such feature modules. This language is designed so that the artifacts can be easily reused and composed. GFML files contain the different artifacts mentioned above.The idea is to compile them into FoCaLiZe, a language for specification, implementation and formal proof with some object-oriented flavor. In this paper, we define and illustrate this language. We also introduce a way to compose the feature modules on some examples.

In Joanne M. Atlee and Stefania Gnesi: Proceedings 6th Workshop on Formal Methods and Analysis in SPL Engineering (FMSPLE 2015), London, UK, 11 April 2015, Electronic Proceedings in Theoretical Computer Science 182, pp. 44–55.
Published: 12th April 2015.

ArXived at: https://dx.doi.org/10.4204/EPTCS.182.4 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org