Defining variability in activity diagrams and Petri nets

Control flow models, such as UML activity diagrams or Petri nets, are widely accepted modeling languages used to support quality assurance activities in single system engineering as well as software product line (SPL) engineering. Quality assurance in product line engineering is a challenging task since a defect in a domain artifact may affect several products of the product line. Thus, proper quality assurance approaches need to pay special attention to the product line variability. Automation is essential to support quality assurance approaches. A prerequisite for automation is a profound formalization of the underlying control flow models and, in the context of SPLs, of the variability therein. In this paper, we propose a formal syntax and semantics for defining variability in Petri nets. We use these extended Petri nets as a foundation to formally define variability in UML activity diagrams; UML activity diagrams serve as a basis for several testing techniques in product line engineering. We illustrate the contribution of such a formalization to assurance activities in product line engineering by describing its usage in three application examples.

[1]  Sven Apel,et al.  1st International Workshop on Formal Methods in Software Product Line Engineering (FMSPLE 2010) , 2010, SPLC.

[2]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[3]  Klaus Pohl,et al.  Avoiding Redundant Testing in Application Engineering , 2010, SPLC.

[4]  Harald Störrle,et al.  Semantics and Verification of Data Flow in UML 2.0 Activities , 2005, VLFM.

[5]  Klaus Pohl,et al.  The ScenTED Method for Testing Software Product Lines , 2006, Software Product Lines.

[6]  C. A. Petri Communication with automata , 1966 .

[7]  Klaus Pohl,et al.  Model-Based System Testing of Software Product Families , 2005, CAiSE.

[8]  Klaus Pohl,et al.  Dynamic Consistency Checking of Domain Requirements in Product Line Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[9]  Klaus Pohl,et al.  A performance comparison of contemporary algorithmic approaches for automated analysis operations on feature models , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

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

[11]  Ricardo J. Machado,et al.  Extending UML 2.0 metamodel for complementary usages of the /spl Lt/extend/spl Gt/ relationship within use case variability specification , 2006 .

[12]  Huiqun Yu,et al.  Mapping UML Activity Diagrams to Analyzable Petri Net Models , 2010, 2010 10th International Conference on Quality Software.

[13]  Elaine J. Weyuker,et al.  Data flow analysis techniques for test data selection , 2015, ICSE '82.

[14]  Bogdan Franczyk,et al.  EXTENDING THE UML FOR MODELLING VARIABILITY FOR SYSTEM FAMILIES , 2002 .

[15]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[16]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[17]  Harald Störrle,et al.  Towards a Formal Semantics of UML 2.0 Activities , 2005, Software Engineering.

[18]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[19]  Li Xuandong,et al.  Generating test cases from UML activity diagram based on Gray-box method , 2004 .

[20]  Rik Eshuis,et al.  Tool support for verifying UML activity diagrams , 2004, IEEE Transactions on Software Engineering.

[21]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[22]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[23]  Hassan Gomaa,et al.  Model-based Test Design for Software Product Lines , 2008, SPLC.

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

[25]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[26]  Klaus Pohl,et al.  Testing Variabilities in Use Case Models , 2003, PFE.

[27]  Rik Eshuis,et al.  Symbolic model checking of UML activity diagrams , 2006, TSEM.

[28]  Klaus Pohl,et al.  Integration Testing in Software Product Line Engineering: A Model-Based Technique , 2007, FASE.

[29]  Kim G. Larsen,et al.  Modal I/O Automata for Interface and Product Line Theories , 2007, ESOP.

[30]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[31]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[32]  Klaus Pohl,et al.  Model Checking of Domain Artifacts in Product Line Engineering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[33]  Klaus Pohl,et al.  Formal Definition of Syntax and Semantics for Documenting Variability in Activity Diagrams , 2010, SPLC.

[34]  Selmin Nurcan,et al.  Intentional Perspectives on Information Systems Engineering , 2010 .

[35]  Rik Eshuis,et al.  Semantics and Verification of UML Activity Diagrams for Workflow Modelling , 2002 .

[36]  Klaus Pohl,et al.  Towards automated consistency checks of product line requirements specifications , 2007, ASE.

[37]  Harald Störrle,et al.  Structured Nodes in UML 2.0 Activities , 2004, Nord. J. Comput..