Formal Definition of Syntax and Semantics for Documenting Variability in Activity Diagrams

Quality assurance is an important issue in product line engineering. It is commonly agreed that quality assurance in domain engineering requires special attention, since a defect in a domain artifact can affect several products of a product line and can lead to high costs for defect correction. However, the variability in domain artifacts is a special challenge for quality assurance, since quality assurance approaches from single system engineering cannot handle the variability in domain artifacts. Therefore, the adaptation of existing approaches or the development of new approaches is necessary to support quality assurance in domain engineering. Activity diagrams are a widely accepted modeling language used to support quality assurance activities in single system engineering. However, current quality assurance approaches adapted for product line engineering using activity diagrams are not based on a formal syntax and semantics and therefore techniques based on these approaches are only automatable to a limited extent. In this paper, we propose a formal syntax and semantics for documenting variability in activity diagrams based on Petri-nets which provide the foundation for an automated support of quality assurance in domain engineering.

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

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

[3]  Klaus Pohl,et al.  Software product line testing , 2006, CACM.

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

[5]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[6]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

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

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

[9]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

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

[11]  C. Petri Kommunikation mit Automaten , 1962 .

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

[13]  Andreas Metzger Quality Issues in Software Product Lines: Feature Interactions and Beyond , 2007, ICFI.

[14]  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 .

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

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

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

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

[19]  Guoliang Zheng,et al.  Generating test cases from UML activity diagram based on Gray-box method , 2004, 11th Asia-Pacific Software Engineering Conference.

[20]  Harald Störrle,et al.  Semantics of Control-Flow in UML 2.0 Activities , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[21]  Timo Käkölä,et al.  Software Product Lines - Research Issues in Engineering and Management , 2006 .

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

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

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

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

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

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

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

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

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

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

[32]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

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

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

[35]  Peter Liggesmeyer,et al.  Software-Qualität - testen, analysieren und verifizieren von Software , 2002 .

[36]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.