Synthesis-Based Variability Control: Correctness by Construction

In this paper, we show the power of combining modern synthesis technology with a constraint-oriented approach to variability modeling. This combination guarantees the validity of all the required properties simply by construction: including a new property simply requires adding a corresponding constraint. The synthesis procedure will then automatically take care that all generated variants are property-conform. This fully declarative approach leads to a very agile variability modeling framework, where new product lines guaranteeing new properties can be defined ad hoc and are, due to our synthesis technology, immediately operational. As the underlying constraint language allows fully describing the intended solution space without imposing any overspecification, neither on the structure, nor on the artifacts, our approach may in particular be regarded as a step from the today typical settings with closed-world assumption to one with an open-world assumption. Impact and ease of this method are illustrated along a small case study running on our prototypical framework implementation.

[1]  William R. Cook,et al.  A machine-checked model of safe composition , 2009, FOAL '09.

[2]  Wil M. P. van der Aalst,et al.  Handbook of Research on Business Process Modeling , 2009 .

[3]  Alasdair Urquhart,et al.  Temporal Logic , 1971 .

[4]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[5]  Lianping Chen,et al.  A systematic review of evaluation of variability management approaches in software product lines , 2011, Inf. Softw. Technol..

[6]  Ina Schaefer,et al.  Compositional type-checking for delta-oriented programming , 2011, AOSD '11.

[7]  Tiziana Margaria,et al.  Constraint-oriented Variability Modeling , 2011, 2011 IEEE 34th Software Engineering Workshop.

[8]  Tiziana Margaria,et al.  Service-Orientation: Conquering Complexity with XMDD , 2012, Conquering Complexity.

[9]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

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

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

[12]  Tiziana Margaria,et al.  Bio-jETI: a framework for semantics-based service composition , 2009, BMC Bioinformatics.

[13]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[14]  Alexander Sczyrba,et al.  GeneFisher-P: variations of GeneFisher as processes in Bio-jETI , 2008, BMC Bioinformatics.

[15]  Sven Apel,et al.  Proof Composition for Deductive Verification of Software Product Lines , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[16]  Vladimir Klebanov,et al.  Verification of Software Product Lines with Delta-Oriented Slicing , 2010, FoVeOOS.

[17]  Reiner Hähnle,et al.  A Liskov Principle for Delta-Oriented Programming , 2012, ISoLA.

[18]  Pierre-Yves Schobbens,et al.  Symbolic model checking of software product lines , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[19]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[20]  Tiziana Margaria,et al.  A constraint-based variability modeling framework , 2012, International Journal on Software Tools for Technology Transfer.

[21]  Sven Apel,et al.  Type safety for feature-oriented product lines , 2010, Automated Software Engineering.

[22]  Tiziana Margaria,et al.  METAFrame in Practice: Design of Intelligent Network Services , 1999, Correct System Design.

[23]  Ian Horrocks,et al.  OWL Web Ontology Language Reference-W3C Recommen-dation , 2004 .

[24]  Tiziana Margaria,et al.  Agile IT: Thinking in User-Centric Models , 2008, ISoLA.

[25]  Tiziana Margaria,et al.  Semantics-based composition of EMBOSS services , 2011, J. Biomed. Semant..

[26]  Bernhard Steffen,et al.  Unifying Models , 1997, STACS.

[27]  Marco Sinnema,et al.  Classifying variability modeling techniques , 2007, Inf. Softw. Technol..

[28]  Gerard J. Holzmann,et al.  Conquering Complexity , 2012, Springer London.

[29]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[30]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[31]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[32]  Bernhard Steffen,et al.  Characteristic Formulae for Processes with Divergence , 1994, Inf. Comput..

[33]  L. Stein,et al.  OWL Web Ontology Language - Reference , 2004 .

[34]  Andy Schürr,et al.  Model-based pairwise testing for feature interaction coverage in software product line engineering , 2011, Software Quality Journal.

[35]  Maurice H. ter Beek,et al.  Formal Description of Variability in Product Families , 2011, 2011 15th International Software Product Line Conference.

[36]  Tiziana Margaria,et al.  Synthesis-Based Loose Programming , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[37]  Tiziana Margaria,et al.  An Approach to Intelligent Software Library Management , 1995, DASFAA.

[38]  Tiziana Margaria,et al.  Model-Driven Development with the jABC , 2006, Haifa Verification Conference.

[39]  Goetz Botterweck,et al.  Software diversity: state of the art and perspectives , 2012, International Journal on Software Tools for Technology Transfer.

[40]  Tiziana Margaria,et al.  The Electronic Tool Integration platform: concepts and design , 1997, International Journal on Software Tools for Technology Transfer.

[41]  Krzysztof Czarnecki,et al.  Variability Modeling: State of the Art and Future Directions , 2010, International Workshop on Variability Modelling of Software-Intensive Systems.

[42]  Maurice H. ter Beek,et al.  A Logical Framework to Deal with Variability , 2010, IFM.

[43]  Bernhard Steffen,et al.  Tailoring Process Synthesis to Domain Characteristics , 2011, 2011 16th IEEE International Conference on Engineering of Complex Computer Systems.

[44]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[45]  Bernhard Steffen,et al.  Quality Engineering: Leveraging Heterogeneous Information - (Invited Talk) , 2011, VMCAI.

[46]  Gunter Saake,et al.  Type checking annotation-based product lines , 2012, TSEM.

[47]  Tiziana Margaria,et al.  Incremental Formalization: A Key to Industrial Success , 1996, Softw. Concepts Tools.

[48]  Tiziana Margaria,et al.  Constraint-Guided Workflow Composition Based on the EDAM Ontology , 2010, SWAT4LS.

[49]  Bernhard Steffen,et al.  Loose Programming with PROPHETS , 2012, FASE.

[50]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[51]  Bernhard Steffen,et al.  Property-Oriented Expansion , 1996, SAS.

[52]  Bernhard Beckert,et al.  Formal Verification of Object-Oriented Software - International Conference, FoVeOOS 2010, Paris, France, June 28-30, 2010, Revised Selected Papers , 2011, FoVeOOS.

[53]  Pierre-Yves Schobbens,et al.  Simulation-based abstractions for software product-line model checking , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[54]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[55]  Tiziana Margaria,et al.  A Constraint-Oriented Service Creation Environment , 1996, TACAS.

[56]  Tiziana Margaria,et al.  Aggressive Model-Driven Development: Synthesizing Systems from Models viewed as Constraints , 2005, MBEES.