Behaviors generation from product lines requirements

Modeling variability in product lines (PL) has received a lot of attention in recent years, building on the idea that product could be automatically derived from a PL through model transformations, at leastbfor its static architecture (e.g. class diagrams). This paper proposes to go beyond these static aspects by also addressing the behavioral aspect of software product lines. Inspired by the way UML2.0 sequence diagrams can be algebraically composed, we propose to specify PL behavioral requirements as algebraic expressions extended with constructs to specify variability. Then we propose a two stages approach to synthesize detailed behavior for each product member in the PL. The first stage uses abstract interpretation of the variability operators in scenarios to get behavior specialization of the PL according to a given decision criteria. The second stage uses statechart synthesis from product expressions. We describe the interest of our method on a well known case study, and briefly discusses its implementation in a prototype tool.

[1]  Erkki Mäkinen,et al.  MAS — an interactive synthesizer to support behavioral modelling in UML , 2001, ICSE.

[2]  Johann Schumann,et al.  Generating statechart designs from scenarios , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[3]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[4]  Jean-Marc Jézéquel,et al.  Revisiting statechart synthesis with an algebraic approach , 2004, Proceedings. 26th International Conference on Software Engineering.

[5]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.

[6]  T. Systa,et al.  MAS - an interactive synthesizer to support behavioral modeling in UML , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[7]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[8]  Klaus Pohl,et al.  Communicating the variability of a software-product family to customers , 2004, Informatik Forschung und Entwicklung.

[9]  Horst Lichter,et al.  Modeling Variability by UML Use Case Diagrams , 2002 .

[10]  Dirk Muthig,et al.  Tailoring Use Cases for Product Line Modeling , 2002 .

[11]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[12]  A. Bertolino,et al.  Use Case Description of Requirements for Product Lines , 2002 .

[13]  Manfred Broy,et al.  From MSCs to Statecharts , 1998, DIPES.

[14]  Kai Koskimies,et al.  Automated Support for Modeling OO Software , 1998, IEEE Softw..

[15]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[16]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[17]  Paul Clements,et al.  A framework for software product line practice - version 2 , 1999 .

[18]  Ismaïl Khriss,et al.  Automating the Synthesis of UML StateChart Diagrams from Multiple Collaboration Diagrams , 1998, UML.

[19]  Ketil Stølen,et al.  STAIRS - Steps to Analyze Interactions with Refinement Semantics , 2003, UML.

[20]  Sebastián Uchitel,et al.  Synthesis of Behavioral Models from Scenarios , 2003, IEEE Trans. Software Eng..

[21]  Alan W. Biermann,et al.  Constructing Programs from Example Computations , 1976, IEEE Transactions on Software Engineering.

[22]  Sebastián Uchitel,et al.  A workbench for synthesising behaviour models from scenarios , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.