HATS - A Formal Software Product Line Engineering Methodology

Trust in software is typically achieved via stabilization efforts over long periods of use. Adaptation to changing circumstances, however, often requires substantial changes to the software. Changing a software system using standard manufacturing processes often results in quality regressions, invalidating trust. Formal methods provide a means for guaranteeing various properties of a software system that increase its trustworthiness. The HATS methodology aims to integrate formal methods for modeling changes of software systems in terms of variability and evolution, while preserving trustworthiness properties. This paper outlines how different formal methods are extended and integrated to build an industrially viable Software Product Line Engineering method for manufacturing highly adaptable and trustworthy software. Keywords-software product lines; methodology; formal methods

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

[2]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

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

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

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

[6]  Einar Broch Johnsen,et al.  Dynamic Classes: Modular Asynchronous Evolution of Distributed Concurrent Objects , 2009, FM.

[7]  Elvira Albert,et al.  Closed-Form Upper Bounds in Static Cost Analysis , 2011, Journal of Automated Reasoning.

[8]  Frank S. de Boer,et al.  Prototyping a tool environment for run-time assertion checking in JML with communication histories , 2010, FTfJP@ECOOP.

[9]  Pierre-Yves Schobbens,et al.  Evaluating formal properties of feature diagram languages , 2008, IET Softw..

[10]  Elvira Albert,et al.  Resource Usage Analysis and Its Application to Resource Certification , 2009, FOSAD.

[11]  Andreas Classen,et al.  Formal modelling of feature configuration workflows , 2009, SPLC.

[12]  Martin Leucker,et al.  Calculating and Modeling Common Parts of Software Product Lines , 2008, 2008 12th International Software Product Line Conference.

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

[14]  Einar Broch Johnsen,et al.  An Asynchronous Communication Model for Distributed Concurrent Objects , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

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

[16]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[17]  Takuya Katayama,et al.  Design Verification for Product Line Development , 2005, SPLC.

[18]  Wolfgang Ahrendt,et al.  A Verification System for Distributed Objects with Asynchronous Method Calls , 2009, ICFEM.

[19]  Tomoji Kishi,et al.  Formal verification and software product lines , 2006, CACM.

[20]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[21]  Reiner Hähnle,et al.  Interleaving Symbolic Execution and Partial Evaluation , 2009, FMCO.

[22]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[23]  Stefania Gnesi,et al.  Formal Modeling for Product Families Engineering , 2008, 2008 12th International Software Product Line Conference.

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