Correct model-to-model transformation for formal verification

Modern software systems have increasingly higher expectations on their reliability, in particular if the systems are critical and real-time. The development of these complex software systems requires strong modelling and analysis methods including quantitative modelling and formal verification. Unified Modelling Language (UML) is a widely used and intuitive graphical modelling language to design complex systems, while formal models provide a theoretical support to verify system design models. However, UML models are not sufficient to guarantee correct system designs and formal models, on the other hand, are often restrictive and complex to use. It is believed that a combined approach comprising the advantages of both models can offer better designs for modern complex software development needs. This thesis focuses on the design and development of a rigorous framework based on Model Driven Development (MDD) that facilitates transformations of non-formal models into formal models for design verification. This thesis defines and describes the transformation from UML2 sequence diagrams to coloured Petri nets and proves syntactic and semantic correctness of the transformation. Additionally, we explore ways of adding information (time, probability, and hierarchy) to a design and how it can be added onto extensions of a target model. Correctness results are extended in this context. The approach in this thesis is novel and significant both in how to establish semantic and syntactic correctness of transformations, and how to explore semantic variability in the target model for formal analysis. Hence, the motivation of this thesis establishes: the UML behavioural models can be validated by correct transformation of them into formal models that can be formally analysed and verified.

[1]  Boualem Benatallah,et al.  HiWorD: a Petri net-based hierarchical workflow designer , 2003, Third International Conference on Application of Concurrency to System Design, 2003. Proceedings..

[2]  José Reinaldo Silva,et al.  Applying Petri Nets to Requirements Validation , 2004 .

[3]  Christel Baier,et al.  Model Checking Markov Chains with Actions and State Labels , 2007, IEEE Transactions on Software Engineering.

[4]  Eduardo B. Fernández,et al.  An Approach to Model-based Development of Secure and Reliable Systems , 2011, 2011 Sixth International Conference on Availability, Reliability and Security.

[5]  Hui Shen,et al.  Formalize UML 2 Sequence Diagrams , 2008, 2008 11th IEEE High Assurance Systems Engineering Symposium.

[7]  Juan de Lara,et al.  Formal Support for Model Driven Development with Graph Transformation Techniques , 2005, DSDM.

[8]  Reiko Heckel,et al.  Rewriting Logic Semantics and Verification of Model Transformations , 2009, FASE.

[9]  Ferhat Khendek,et al.  UML Profiles for Real-Time Systems and their Applications , 2006, J. Object Technol..

[10]  Sima Emadi,et al.  Transformation of usecase and sequence diagrams to petri nets , 2009, 2009 ISECS International Colloquium on Computing, Communication, Control, and Management.

[11]  Michel R. V. Chaudron,et al.  Four Automated Approaches to Analyze the Quality of UML Sequence Diagrams , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[12]  Øystein Haugen,et al.  Time exceptions in sequence diagrams , 2006, MoDELS'06.

[13]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[14]  Harald Störrle,et al.  Assert , Negate and Refinement in UML-2 Interactions , 2003 .

[15]  Mohammed Elkoutbi,et al.  MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS , 1997 .

[16]  Alain Wegmann,et al.  A Metamodel for the Unified Modeling Language , 2002, UML.

[17]  Luigi Palopoli,et al.  Parametric analysis of distributed firm real-time systems: A case study , 2010, 2010 IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010).

[18]  Richard F. Paige,et al.  Behavioural interoperability to support model-driven systems integration , 2010, MDI '10.

[19]  Glynn Winskel,et al.  Models for Concurrency , 1994 .

[20]  Artur Boronat,et al.  An Algebraic Baseline for Automatic Transformations in MDA , 2005, Electron. Notes Theor. Comput. Sci..

[21]  Radu Grosu,et al.  Safety-liveness semantics for UML 2.0 sequence diagrams , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[22]  Roland Meyer,et al.  Compositional Semantics for UML 2.0 Sequence Diagrams Using Petri Nets , 2005, SDL Forum.

[23]  Houari A. Sahraoui,et al.  Sequence diagram to colored Petri nets transformation testing: an immune system metaphor , 2010, CASCON.

[24]  Dan Pilone,et al.  UML 2.0 - in a nutshell: a desktop quick reference , 2005 .

[25]  Artur Boronat,et al.  What Is a Multi-modeling Language? , 2008, WADT.

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

[27]  Ketil Stølen,et al.  STAIRS towards formal design with sequence diagrams , 2005, Software & Systems Modeling.

[28]  Ivan Kurtev,et al.  Semantics of trace relations in requirements models for consistency checking and inferencing , 2011, Software & Systems Modeling.

[29]  Andrew Hinton,et al.  PRISM: A Tool for Automatic Verification of Probabilistic Systems , 2006, TACAS.

[30]  Michael W. Shields,et al.  A True-Concurrent Interpretation of Behavioural Scenarios , 2009, Electron. Notes Theor. Comput. Sci..

[31]  W. Gareth J. Howells,et al.  SiTra: simple transformations in Java , 2006, MoDELS'06.

[32]  Stephen Gilmore,et al.  PEPA nets: a structured performance modelling formalism , 2002, Perform. Evaluation.

[33]  Houari A. Sahraoui,et al.  Example-Based Sequence Diagrams to Colored Petri Nets Transformation Using Heuristic Search , 2010, ECMFA.

[34]  Brian Randell,et al.  Fundamental Concepts of Dependability , 2000 .

[35]  Charles André,et al.  From UML to Petri Nets for non functional Property Verification , 2006, 2006 International Symposium on Industrial Embedded Systems.

[36]  Bernard Coulette,et al.  A UML-Based Process Meta-model Integrating a Rigorous Process Patterns Definition , 2006, PROFES.

[37]  Juliana Küster-Filipe From Interaction Overview Diagrams to PEPA Nets , 2005 .

[38]  Lars Michael Kristensen,et al.  Application of Coloured Petri Nets in System Development , 2003, Lectures on Concurrency and Petri Nets.

[39]  Dianxiang Xu,et al.  Specifying behavioral semantics of UML diagrams through graph transformations , 2009, J. Syst. Softw..

[40]  Arend Rensink,et al.  Showing Full Semantics Preservation in Model Transformation - A Comparison of Techniques , 2010, IFM.

[41]  Murat Uzam,et al.  Asynchronous implementation of discrete event controllers based on safe automation Petri nets , 2009 .

[42]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, Int. J. Found. Comput. Sci..

[43]  Yves Ledru,et al.  Dynamic graphical UML views from formal B specifications , 2006, Inf. Softw. Technol..

[44]  Lars Michael Kristensen,et al.  The practitioner’s guide to coloured Petri nets , 1998, International Journal on Software Tools for Technology Transfer.

[45]  José Merseguer,et al.  Software Performance Modeling Using UML and Petri Nets , 2003, MASCOTS Tutorials.

[46]  Andrea Bondavalli,et al.  Model-Based Evaluation as a Support to the Design of Dependable Systems , 2005 .

[47]  Ian Beeson,et al.  Modelling non-functional requirements of business processes , 2007, Inf. Softw. Technol..

[48]  Hartmut Ehrig,et al.  A Generic Approach to Connector Architectures Part II: Instantiation to Petri Nets and CSP , 2010, Fundam. Informaticae.

[49]  Slimane Hammoudi,et al.  Context-aware Model Driven Development by Parameterized Transformation , 2008 .

[50]  João M. Fernandes,et al.  Some rules to transform sequence diagrams into coloured Petri nets , 2006 .

[51]  David Harel,et al.  Assert and negate revisited: modal semantics for UML sequence diagrams , 2006, SCESM.

[52]  Sotiris Moschoyiannis,et al.  Transaction Scripts: Making Implicit Scenarios Explicit , 2010, Electron. Notes Theor. Comput. Sci..

[53]  Huiqun Yu,et al.  Modeling UML sequence diagrams using extended Petri nets , 2010, 2010 International Conference on Information Science and Applications.

[54]  Hartmut Ehrig,et al.  Semantical Correctness and Completeness of Model Transformations Using Graph and Rule Transformation , 2008, ICGT.

[55]  Hartmut Ehrig,et al.  From Model Transformation to Model Integration based on the Algebraic Approach to Triple Graph Grammars , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

[57]  J. Küster,et al.  Comparing Two Model Transformation Approaches , 2004 .

[58]  Rajeev Alur,et al.  Inference of message sequence charts , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[59]  Hartmut Ehrig,et al.  Formal Analysis of Functional Behaviour for Model Transformations Based on Triple Graph Grammars , 2010, ICGT.

[60]  Aniruddha S. Gokhale,et al.  Managing the quality of software product line architectures through reusable model transformations , 2011, QoSA-ISARCS '11.

[61]  Luciano Baresi,et al.  From Interaction Overview Diagrams to Temporal Logic , 2010, MoDELS Workshops.

[62]  Soichiro Hidaka,et al.  A compositional approach to bidirectional model transformation , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[63]  Mohamed Ariff Ameedeen,et al.  A Model Driven Approach to Represent Sequence Diagrams as Free Choice Petri Nets , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[64]  Hartmut Ehrig,et al.  Correctness, Completeness and Termination of Pattern-Based Model-to-Model Transformation , 2009, CALCO.

[65]  Lars Michael Kristensen,et al.  Coloured Petri Nets - Modelling and Validation of Concurrent Systems , 2009 .

[66]  Juan de Lara,et al.  Generic Model Transformations: Write Once, Reuse Everywhere , 2011, ICMT@TOOLS.

[67]  Michael W. Shields,et al.  Modelling Component Behaviour with Concurrent Automata , 2005, FESCA@ETAPS.

[68]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[69]  Luciano Baresi,et al.  Towards automated verification of layered graph transformation specifications , 2009, IET Softw..

[70]  Rajkumar Buyya,et al.  Modeling and simulation of scalable Cloud computing environments and the CloudSim toolkit: Challenges and opportunities , 2009, 2009 International Conference on High Performance Computing & Simulation.

[71]  Mohamed Ariff Ameedeen,et al.  A Model Driven Approach to the Analysis of Timeliness Properties , 2009, ECMDA-FA.

[72]  Ketil Stølen,et al.  How to transform UML neg into a useful construct , 2005 .

[73]  Laura Carnevali,et al.  A Tailored V-Model Exploiting the Theory of Preemptive Time Petri Nets , 2008, Ada-Europe.

[74]  Luciano Baresi,et al.  From Graph Transformation to Software Engineering and Back , 2005, Formal Methods in Software and Systems Modeling.

[75]  Juan de Lara,et al.  A UML/OCL framework for the analysis of graph transformation rules , 2009, Software & Systems Modeling.

[76]  Reiko Heckel,et al.  Compositionality of Model Transformations , 2009, VODCA@FOSAD.

[77]  Samuel Kounev,et al.  SimQPN - A tool and methodology for analyzing queueing Petri net models by means of simulation , 2006, Perform. Evaluation.

[78]  Juan de Lara,et al.  Verification and validation of declarative model-to-model transformations through invariants , 2010, J. Syst. Softw..

[79]  O. Ribeiro,et al.  Designing Tool Support for Translating Use Cases and UML 2.0 Sequence Diagrams into a Coloured Petri Net , 2007, Sixth International Workshop on Scenarios and State Machines (SCESM'07: ICSE Workshops 2007).

[80]  Arend Rensink,et al.  Full Semantics Preservation in Model Transformation – A Comparison of Proof Techniques , 2010 .

[81]  Aniruddha Gokhale,et al.  A parameterized model transformations approach for automating middleware QoS configurations in distributed real-time and embedded systems , 2007, WRASQ '07.

[82]  Bente Anda,et al.  An investigation of use case quality in a large safety-critical software development project , 2009, Inf. Softw. Technol..

[83]  Tom Mens,et al.  A formal approach to model refactoring and model refinement , 2007, Software & Systems Modeling.

[84]  Samuel Kounev,et al.  QPME - Queueing Petri Net Modeling Environment , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[85]  Roy Grønmo,et al.  From UML 2 Sequence Diagrams to State Machines by Graph Transformation , 2011, J. Object Technol..

[86]  Susanna Donatelli,et al.  From UML sequence diagrams and statecharts to analysable petri net models , 2002, WOSP '02.

[87]  Gabor Karsai,et al.  Towards Verification of Model Transformations Via Goal-Directed Certification , 2006, ASWSD.

[88]  Ketil Stølen,et al.  Why Timed Sequence Diagrams Require Three-Event Semantics , 2003, Scenarios: Models, Transformations and Tools.

[89]  Juliana Küster Filipe Bowles,et al.  Synthesising PEPA nets from IODs for performance analysis , 2010, WOSP/SIPEW '10.

[90]  Amir Pnueli,et al.  Synthesis Revisited: Generating Statechart Models from Scenario-Based Requirements , 2005, Formal Methods in Software and Systems Modeling.

[91]  Robert B. France,et al.  A Systematic Approach to Generate Inputs to Test UML Design Models , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[92]  Franck Barbier,et al.  Component Design based on Model Executability , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[93]  Bernhard Rumpe,et al.  Modeling Language Variability , 2010, Monterey Workshop.

[94]  Lars Michael Kristensen,et al.  Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems , 2007, International Journal on Software Tools for Technology Transfer.

[95]  Robert M. Hierons,et al.  A Thread-tag Based Semantics for Sequence Diagrams , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[96]  Boualem Benatallah,et al.  A Petri Net-based Model for Web Service Composition , 2003, ADC.

[97]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[98]  Laura Carnevali,et al.  Using Stochastic State Classes in Quantitative Evaluation of Dense-Time Reactive Systems , 2009, IEEE Transactions on Software Engineering.

[99]  Laura Carnevali,et al.  Stochastic Time Petri Nets , 2008 .

[100]  Dániel Varró,et al.  Using Graph Transformation for Practical Model-Driven Software Engineering , 2005, Model-Driven Software Development.

[101]  H. Storrle Semantics of interactions in UML 2.0 , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[102]  Juliana Küster Filipe Bowles,et al.  Formal Transformation from Sequence Diagrams to Coloured Petri Nets , 2010, 2010 Asia Pacific Software Engineering Conference.

[103]  W. T. Harwood,et al.  The specification of complex systems , 1986 .

[104]  Jifeng He,et al.  A formal semantics of UML sequence diagram , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[105]  Régine Laleau,et al.  Using formal metamodels to check consistency of functional views in information systems specification , 2008, Inf. Softw. Technol..

[106]  Ursula Goltz,et al.  Timed Sequence Diagrams and Tool-Based Analysis - A Case Study , 1999, UML.

[107]  Ketil Stølen,et al.  Deriving tests from UML 2.0 sequence diagrams with neg and assert , 2006, AST '06.

[108]  Juliana Küster Filipe Bowles,et al.  Combining Sequence Diagrams and OCL for Liveness , 2004, SFEDL@ETAPS.

[109]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[110]  John Derrick,et al.  Model transformations across views , 2010, Sci. Comput. Program..

[111]  Juliana Küster Filipe Bowles,et al.  Modelling Mobility with UML2.0 and PEPA Nets , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[112]  Mohamed Ariff Ameedeen,et al.  Model interoperability via Model Driven Development , 2011, J. Comput. Syst. Sci..

[113]  Alamgir Hossain,et al.  Transforming UML sequence diagram to High Level Petri Net , 2010, 2010 2nd International Conference on Software Technology and Engineering.

[114]  Marco Roveri,et al.  Formalizing requirements with object models and temporal constraints , 2011, Software & Systems Modeling.

[115]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains , 1979, Semantics of Concurrent Computation.

[116]  Allaoua Chaoui,et al.  A UML and Colored Petri Nets Integrated Modeling and Analysis Approach using Graph Transformation , 2010, J. Object Technol..

[117]  Sima Emadi,et al.  Mapping Annotated Use Case and Sequence Diagrams to a Petri Net Notation for Performance Evaluation , 2009, 2009 Second International Conference on Computer and Electrical Engineering.

[118]  Juliana Küster Filipe Bowles,et al.  Parametric Transformations for Flexible Analysis , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[119]  José Merseguer,et al.  On the Integration of UML and Petri Nets in Software Development , 2006, ICATPN.

[120]  Toshiaki Aoki,et al.  Automatic Generation of Model Checking Scripts Based on Environment Modeling , 2010, SPIN.

[121]  Laure Petrucci,et al.  Modular Analysis of Petri Nets , 2000, Comput. J..

[122]  Wil M. P. van der Aalst Interval Timed Coloured Petri Nets and their Analysis , 1993, Application and Theory of Petri Nets.

[123]  Lin Zhao,et al.  Scenario-based modeling and verification for CTCS-3 system requirement specification , 2010, 2010 2nd International Conference on Computer Engineering and Technology.

[124]  Fabrice Kordon,et al.  A Petri-Net Based Formalisation of Interaction Protocols Applied to Business Process Integration , 2008, CIAO! / EOMAS.

[125]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, Software & Systems Modeling.

[126]  Juliana Küster Filipe Bowles,et al.  Formalizing Liveness-Enriched Sequence Diagrams Using ASMs , 2004, Abstract State Machines.

[127]  Haruhiko Kaiya,et al.  Measuring Model Transformation in Model Driven Development , 2007, CAiSE Forum.

[128]  Olfa Mosbahi,et al.  A formal approach for the development of reactive systems , 2011, Inf. Softw. Technol..

[129]  Kurt Lautenbach,et al.  System Modelling with High-Level Petri Nets , 1981, Theor. Comput. Sci..

[130]  Gabor Karsai,et al.  Applying a Model Transformation Taxonomy to Graph Transformation Technology , 2006, GRaMoT@GPCE.

[131]  Jos Vrancken,et al.  A metamodeling approach to transform UML 2.0 sequence diagrams to Petri nets , 2008, ICSE 2008.

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

[133]  Jordi Cabot Sagrera,et al.  Verification of UML/OCL Class Diagrams Using Constraint Programming , 2008 .

[134]  Wolfgang Reisig,et al.  Application and Theory of Petri Nets 1996 , 1996, Lecture Notes in Computer Science.

[135]  Henny B. Sipma,et al.  Decomposing, Transforming and Composing Diagrams: The Joys of Modular Verification , 1998 .

[136]  Martin Schwarick,et al.  Snoopy - A Tool to Design and Execute Graph-Based Formalisms. [Extended Version] , 2008 .

[137]  Alexander Knapp,et al.  UML 2 . 0 Interactions : Semantics and Refinement , 2004 .

[138]  Jérôme Delatour,et al.  ArgoPN: a CASE Tool Merging UML and Petri Nets , 2003, NDDL/VVEIS.

[139]  Wil M.P. van der Aalst Putting High-level Petri Nets to Work in Industry , 1994 .

[140]  Zoltán Micskei,et al.  The many meanings of UML 2 Sequence Diagrams: a survey , 2011, Software & Systems Modeling.

[141]  Bernhard Rumpe,et al.  Variability within Modeling Language Definitions , 2009, MoDELS.

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

[143]  Stephen Gilmore,et al.  Automatic extraction of PEPA performance models from UML activity diagrams annotated with the MARTE profile , 2008, WOSP '08.

[144]  Tao Zhang,et al.  An Operational Semantics for UML RT-Statechart in Model Checking Context , 2009, 2009 Fourth International Conference on Internet Computing for Science and Engineering.

[145]  Juliana Küster Filipe Bowles,et al.  A Formal Model for Integrating Multiple Views , 2007, Seventh International Conference on Application of Concurrency to System Design (ACSD 2007).

[146]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[147]  Juliana Küster Filipe Bowles,et al.  Strongly consistent transformation of partial scenarios , 2012, SOEN.

[148]  Laure Petrucci,et al.  Modular analysis of systems composed of semiautonomous subsystems , 2004, Proceedings. Fourth International Conference on Application of Concurrency to System Design, 2004. ACSD 2004..

[149]  Boualem Benatallah,et al.  A Top-Down Petri Net-Based Approach for Dynamic Workflow Modeling , 2003, Business Process Management.