A Framework for Testing UML Activities Based on fUML

In model-driven engineering (MDE), models constitute the main de- velopment artifacts. As a consequence, their quality significantly affects the qual- ity of the final product. Thus, adequate techniques are required for ensuring the quality of models. We present a testing framework, comprising a test specification language and an interpreter, for validating the functional correctness of UML ac- tivities. For this purpose, we utilize the executability of a subset of UML provided by the fUML standard. As UML activities are employed for different purposes, from high-level process specifications to low-level object manipulations, the pro- posed testing framework not only allows to validate the correctness in terms of input/output relations, but also supports testing intermediate results, as well as the execution order of activity nodes. First experiments indicate that the proposed testing framework is useful for ensuring the correct behavior of fUML activities.

[1]  Sandeep Neema,et al.  Compositional Specification of Behavioral Semantics for Domain-Specific Modeling Languages , 2009, Int. J. Semantic Comput..

[2]  Jochen Malte Küster,et al.  Definition and validation of model transformations , 2006, Software & Systems Modeling.

[3]  Udo Kelter,et al.  Proceedings of the 2008 international workshop on Comparison and versioning of software models , 2008, ICSE 2008.

[4]  Kish Shen,et al.  Under consideration for publication in Theory and Practice of Logic Programming , 2003 .

[5]  Bin Lei,et al.  State Based Robustness Testing for Components , 2010, Electron. Notes Theor. Comput. Sci..

[6]  E. Tansley,et al.  Using ontology to validate conceptual models , 2003, CACM.

[7]  Stephan Merz,et al.  Model Checking - Timed UML State Machines and Collaborations , 2002, FTRTFT.

[8]  Gerti Kappel,et al.  Guided Merging of Sequence Diagrams , 2012, SLE.

[9]  Martin Gogolla,et al.  OCL Extended with Temporal Logic , 2003, Ershov Memorial Conference.

[10]  Corina S. Pasareanu,et al.  JPF-SE: A Symbolic Execution Extension to Java PathFinder , 2007, TACAS.

[11]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[12]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[13]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[14]  Jussi Rintanen Planning and SAT , 2009, Handbook of Satisfiability.

[15]  Pascal Van Hentenryck,et al.  Parameterized interfaces for open system verification of product lines , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[16]  Fabio Massacci,et al.  Security-by-Contract for the OSGi Platform , 2012, SEC.

[17]  Martin Gogolla,et al.  Verifying UML/OCL models using Boolean satisfiability , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[18]  Michael J. Butler,et al.  Supporting Reuse of Event-B Developments through Generic Instantiation , 2009, ICFEM.

[19]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[20]  Ramadan Abdunabi,et al.  An Approach to Analyzing Temporal Properties in UML Class Models , 2013, MoDeVVa@MoDELS.

[21]  Stephen H. Edwards,et al.  A framework for practical, automated black‐box testing of component‐based software † , 2001, Softw. Test. Verification Reliab..

[22]  João Saraiva,et al.  Generative and Transformational Techniques in Software Engineering II , 2007, Lecture Notes in Computer Science.

[23]  Arda Goknil,et al.  Survey of Traceability Approaches in Model-Driven Engineering , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

[24]  Rémi Douence,et al.  Aspects preserving properties , 2008, PEPM '08.

[25]  Jean-Raymond Abrial,et al.  Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B , 2007, Fundam. Informaticae.

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

[27]  Robert B. France,et al.  A tool-supported approach to testing UML design models , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[28]  Ina Schieferdecker,et al.  Model-Driven Development and Testing – A Case Study , 2004 .

[29]  Magdalena Widl Test Case Generation by Grammar-Based Fuzzing for Model-Driven Engineering , 2012, Haifa Verification Conference.

[30]  Eric Bodden,et al.  The Clara framework for hybrid typestate analysis , 2010, International Journal on Software Tools for Technology Transfer.

[31]  Levi Lucio,et al.  DSLTrans: A Turing Incomplete Transformation Language , 2010, SLE.

[32]  Robert B. France,et al.  Testing UML designs , 2007, Inf. Softw. Technol..

[33]  Armin Biere,et al.  Bounded model checking , 2003, Adv. Comput..

[34]  Marc Pantel,et al.  First Steps Toward a Verification and Validation Ontology , 2012, KEOD.

[35]  Jürgen Dingel,et al.  Symbolic execution of UML-RT State Machines , 2012, SAC '12.

[36]  Grigore Rosu,et al.  An overview of the MOP runtime verification framework , 2012, International Journal on Software Tools for Technology Transfer.

[37]  Gerti Kappel,et al.  A runtime model for fUML , 2012, MRT '12.

[38]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[39]  Koushik Sen,et al.  Symbolic execution for software testing: three decades later , 2013, CACM.

[40]  Edward A. Lee,et al.  A behavioral type system and its application in Ptolemy II , 2004, Formal Aspects of Computing.

[41]  Maurice H. ter Beek,et al.  A state/event-based model-checking approach for the analysis of abstract system properties , 2011, Sci. Comput. Program..

[42]  Kiev Gama,et al.  Dynamic Event-Based Monitoring in a SOA Environment , 2011, OTM Conferences.

[43]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

[44]  Bernhard Schätz,et al.  Integrating Component Tests to System Tests , 2010, Electron. Notes Theor. Comput. Sci..

[45]  Iulian Ober,et al.  Validation of UML Models via a Mapping to Communicating Extended Timed Automata , 2004, SPIN.

[46]  Bernhard Schätz,et al.  On Behavioral Types for OSGi: From Theory to Implementation , 2013, ArXiv.

[47]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[48]  George T. Heineman Unit Testing of Software Components with Inter-component Dependencies , 2009, CBSE.

[49]  Ramadan Abdunabi,et al.  Rigorous Analysis of Temporal Access Control Properties in Mobile Systems , 2013, 2013 18th International Conference on Engineering of Complex Computer Systems.

[50]  Fred B. Schneider,et al.  Enforceable security policies , 2000, TSEC.

[51]  Bernhard Schätz,et al.  Towards a formal foundation of behavioral types for UML state-machines , 2012, SOEN.

[52]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[53]  Michael J. Butler,et al.  Shared Event Composition/Decomposition in Event-B , 2010, FMCO.

[54]  M. Seidl,et al.  A Classification of Model Checking-Based Verification Approaches for Software Models , 2013 .

[55]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[56]  Bernhard Schätz,et al.  Behavioral Specification Based Runtime Monitors for OSGi Services , 2012, ISoLA.

[57]  Iulian Ober,et al.  Seeing errors: model driven simulation trace visualization , 2012, MODELS'12.

[58]  Zaur Molotnikov,et al.  Implementing modular domain specific languages and analyses , 2012, MoDeVVa '12.

[59]  Yamine Aït Ameur,et al.  Stepwise Design of BPEL Web Services Compositions: An Event_B Refinement Based Approach , 2010, SERA.

[60]  Carsten Sinz,et al.  Towards an Optimal CNF Encoding of Boolean Cardinality Constraints , 2005, CP.

[61]  Egon Börger,et al.  The Stream Boiler Case Study: Competition of Formal Program Specification and Development Methods , 1995, Formal Methods for Industrial Applications.

[62]  Yuefeng Zhang Test-Driven Modeling for Model-Driven Development , 2004, IEEE Softw..

[63]  Howard Barringer,et al.  Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors , 2012, FM.

[64]  Joseph Sifakis,et al.  Model checking , 1996, Handbook of Automated Reasoning.

[65]  Tommi A. Junttila,et al.  Symbolic model checking of hierarchical UML state machines , 2008, 2008 8th International Conference on Application of Concurrency to System Design.

[66]  Martin Gogolla,et al.  USE: A UML-based specification environment for validating UML and OCL , 2007, Sci. Comput. Program..

[67]  Colin Snook,et al.  An EMF Framework for Event-B , 2010 .

[68]  Christian Prehofer Assume-Guarantee Specifications of State Transition Diagrams for Behavioral Refinement , 2013, IFM.

[69]  Kevin W. Hamlen,et al.  Certified In-lined Reference Monitoring on .NET , 2006, PLAS '06.

[70]  Gefei Zhang,et al.  HiLA: high-level aspects for UML state machines , 2009, MODELS'09.

[71]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[72]  Dorel Lucanu,et al.  A Generic Approach to Symbolic Execution , 2012 .

[73]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[74]  Martin Gogolla,et al.  Formal Specification and Testing of Model Transformations , 2012, SFM.

[75]  Moritz Balz,et al.  Representing Formal Component Models in OSGi , 2010, Software Engineering.

[76]  Jürgen Dingel,et al.  A Tridimensional Approach for Studying the Formal Verification of Model Transformations , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[77]  Kunihiko Miyazaki,et al.  Abstract Data Types in Event-B - An Application of Generic Instantiation , 2012, ArXiv.

[78]  Dan Ioan Chiorean,et al.  Ensuring UML Models Consistency Using the OCL Environment , 2004, Electron. Notes Theor. Comput. Sci..

[79]  Dániel Varró,et al.  Change-driven model transformations - Change (in) the rule to rule the change , 2012, Softw. Syst. Model..

[80]  J. Christian Attiogbé,et al.  Using Assertions to Enhance the Correctness of Kmelia Components and their Assemblies , 2010, Electron. Notes Theor. Comput. Sci..

[81]  Indrakshi Ray,et al.  A Rigorous Approach to Uncovering Security Policy Violations in UML Designs , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[82]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[83]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[84]  Thomas Engel,et al.  On an Automated Translation of Satellite Procedures Using Triple Graph Grammars , 2013, ICMT.

[85]  Eliane Martins,et al.  A method for model based test harness generation for component testing , 2010, Journal of the Brazilian Computer Society.

[86]  Sherif Abdelwahed,et al.  Semantic Anchoring with Model Transformations , 2005, ECMDA-FA.

[87]  Johan Lilius,et al.  vUML: a tool for verifying UML models , 1999, 14th IEEE International Conference on Automated Software Engineering.

[88]  Martin Gogolla,et al.  Evaluating and Debugging OCL Expressions in UML Models , 2012, TAP@TOOLS.

[89]  Hans-Gerhard Groß,et al.  Component-based software testing with UML , 2004 .

[90]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[91]  Helmut Veith,et al.  Seamless Testing for Models and Code , 2011, FASE.

[92]  Deepak D'Souza,et al.  Verification, Model Checking, and Abstract Interpretation , 2015, Lecture Notes in Computer Science.

[93]  Bran Selic,et al.  What will it take? A view on adoption of model-based methods in practice , 2012, Software & Systems Modeling.

[94]  Premek Brada,et al.  Automated Versioning in OSGi: A Mechanism for Component Software Consistency Guarantee , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[95]  Rocco De Nicola,et al.  Action versus State based Logics for Transition Systems , 1990, Semantics of Systems of Concurrent Processes.

[96]  Sudipto Ghosh,et al.  Issues in Testing Distributed Component-Based Systems , 1999 .

[97]  Annabelle McIver,et al.  Abstractions of non-interference security: probabilistic versus possibilistic , 2012, Formal Aspects of Computing.

[98]  Michael Leuschel,et al.  Visualising Event-B Models with B-Motion Studio , 2009, FMICS.

[99]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.