Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Similar documents
From UML Sequence Diagrams to ECATNets: a Graph Transformation based Approach for modelling and analysis

A Meta-Modeling and Graph Grammar Approach for Modeling and analysis of e-entrepreneurship systems

Mapping UML Models to Colored Petri Nets Models based on Edged Graph Grammar

Producing Graphical User Interface from Activity Diagrams Ebitisam K. Elberkawi, Mohamed M. Elammari

ScienceDirect. An Approach for Generating Minimal Test Cases for Regression Testing

Available online at ScienceDirect. Procedia Computer Science 93 (2016 )

Available online at ScienceDirect. Procedia Computer Science 52 (2015 )

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Proceed Requirements Meta-Model For Adequate Business Intelligence Using Workflow

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Available online at ScienceDirect. Procedia Computer Science 37 (2014 )

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

Modeling and Verification of RBC Handover Protocol

CISC 322 Software Architecture

A Design Rationale Representation for Model-Based Designs in Software Engineering

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

Comparative Analysis of Architectural Views Based on UML

Definition of Visual Language Editors Using Declarative Languages

Available online at ScienceDirect. Procedia Computer Science 89 (2016 )

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

ScienceDirect. Plan Restructuring in Multi Agent Planning

Lecture #2 on Object-Oriented Modeling

Termination Analysis of the Transformation UML to CSP

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Available online at ScienceDirect. Procedia Computer Science 46 (2015 )

The Unified Modeling Language User Guide

Available online at ScienceDirect. Procedia Computer Science 52 (2015 )

Test Case Generation Based on Sequence Diagrams

Available online at ScienceDirect. Procedia Computer Science 60 (2015 )

Available online at ScienceDirect. Procedia Computer Science 96 (2016 )

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS

MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Available online at ScienceDirect. Procedia Computer Science 34 (2014 ) Generic Connector for Mobile Devices

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Formal Specification of Software Systems

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Model-based control of a handling system with SysML

Three-Dimensional Reconstruction from Projections Based On Incidence Matrices of Patterns

Available online at ScienceDirect. Procedia Computer Science 59 (2015 )

Available online at ScienceDirect. Procedia Computer Science 59 (2015 )

ScienceDirect. Extending Lifetime of Wireless Sensor Networks by Management of Spare Nodes

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

Formal Semantics of Web Services Composition based on Colored Petri Nets and Graph Grammars

Architecture-Centric Evolution in Software Product Lines:

Available online at ScienceDirect. International Workshop on Enabling ICT for Smart Buildings (ICT-SB 2014)

Available online at ScienceDirect. Procedia Technology 18 (2014 )

Available online at ScienceDirect. Procedia Computer Science 43 (2015 ) 3 10

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

Towards a New Framework for Building a Whole User-Defined System from a Colored Petri Networks

Sequence Diagram Generation with Model Transformation Technology

SPECIFYING AND MODELING MULTICAST COMMUNICATION IN CBCAST PROTOCOL

Hypergraph Grammars in hp-adaptive Finite Element Method

Introduction to Software Engineering. 6. Modeling Behaviour

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

A Solution Based on Modeling and Code Generation for Embedded Control System

SCADA virtual instruments management

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Quality-Driven Architecture Design Method

Available online at ScienceDirect. Procedia Computer Science 85 (2016 )

Generating Interface Prototype for EnergyPlus IDD file using Unified Modeling Language and Coloured Petri-nets

A component-centric UML based approach for modeling the architecture of web applications.

Integrating Systems and Software Engineering Concepts in AP-233

A Survey of Consistency Checking Techniques for UML Models

Pattern for Structuring UML-Compatible Software Project Repositories

Supply Tank 1. Storage Tank 1 TE1. Supply Tank 2. Storage Tank 2 TE2

Media Access Delay and Throughput Analysis of Voice Codec with Silence Suppression on Wireless Ad hoc Network

On Traceability of Informal Specifications for Model-Based Verification

Model Driven Engineering (MDE)

Lecture 02: Semantical Model

Software Language Engineering of Architectural Viewpoints

Modeling the Dialogue Aspects of an Information System

Unified model of interaction: use cases and scenarios engineering

Available online at ScienceDirect. Procedia Computer Science 54 (2015 ) 24 30

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Available online at ScienceDirect. Procedia Technology 16 (2014 )

Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets

ScienceDirect. STA Data Model for Effective Business Process Modelling

Towards Formal Verification of UML Diagrams Based on Graph Transformation

Citation for the original published paper (version of record):

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

CD Player Implementation: A simple example for Statecharts Based GUI Design. Statecharts Based GUI Design

Lecture 05 ( ) High-Level Design with SysML. Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016

Model-Driven Engineering Approach for Simulating Virtual Devices in the OSATE 2 Environment

JOURNAL OF OBJECT TECHNOLOGY

Equations for Asynchronous Message Passing

Software Development Methodologies

Software Engineering

Software Design, Modelling and Analysis in UML

Available online at ScienceDirect. Procedia Computer Science 98 (2016 )

System Structure Modeling

An Algebraic Method for Analysing Control Flow of BPMN Models

Object-Oriented Software Development Goal and Scope

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

A Toolbox for Teaching Image Fusion in Matlab

Transcription:

Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 56 (2015 ) 612 617 International Workshop on the Use of Formal Methods in Future Communication Networks (UFMFCN 2015) A Framework for Modeling and Analysis UML Activity Diagram using Graph Transformation Yasmina Rahmoune a, *, Allaoua Chaoui b, Elhillali Kerkouche c a MISC Laboratory, Department of Computer Science, Normal High School of Constantine, Constantine, Algeria b MISC Laboratory, Department of Fundamental Computer Science and its Applications, Constantine2 University, Constantine, Algeria c MISC Laboratory, Department of Computer Science, Jijel University, Jijel, Algeria Abstract The most important advantage of Model Driven Engineering (MDE) is making available tools, concepts and languages to create and transform models. In this paper, we propose a framework to transform automatically UML activity diagram 2.0 (informal notation) to Petri Nets (formal notation) for the analysis purpose using INA analyzer tool. This transformation helps the software designers to analyze and verify properties. For realizing this transformation, we have proposed a meta-model for UML-AD and another one for PN. Based on these meta-models, we define a graph grammar that performs the transformation process. AToM3 is used as a tool for meta-modeling and graph transformation. We verify the resulting Petri nets with model checker INA. We illustrate our contribution with a detailed example. 2015 The Authors. Published by by Elsevier Elsevier B.V. B.V. This is an open access article under the CC BY-NC-ND license Peer-review (http://creativecommons.org/licenses/by-nc-nd/4.0/). under responsibility of the Conference Program Chairs. Peer-review under responsibility of the Conference Program Chairs Keywords: Diagram UML-AD; Petri Nets; Meta-Modeling; Graph Transformation; AToM3 tool; MDE; Verification. 1. Introduction The model transformation is an important property of any faithful approach to MDA (Model Driven Architecture) principles 1. This transformation is performed by the application of transformation rules on a model to produce another. In our study, we provide the transformation models rules of the UML activity diagram to Petri Nets. * Corresponding author. Tel.: +0-000-000-0000 ; fax: +0-000-000-0000. E-mail address: rahmoune.yasmina@gmail.com, 1877-0509 2015 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review under responsibility of the Conference Program Chairs doi:10.1016/j.procs.2015.07.261

Yasmina Rahmoune et al. / Procedia Computer Science 56 ( 2015 ) 612 617 613 Unified Modeling Language UML 2 is considered as a standard adopted by the OMG with numerous platforms for modeling object oriented software systems. It is a standard widely used for modeling the dynamic behavior of systems. However, it is a semi-formal language that lacks for tools to analyze and to check models before their implementation. To verify the activity diagrams, we need to transform them to a formal specification having verification tools such as Petri Nets, automata, etc. Petri Nets 3 are used to formalize the behavior of certain components, systems or applications, including those with complex behavior. Since Petri Nets are formal models, they do not bear any ambiguity and can be validated. In this paper, we propose an approach and a tool to achieve this transformation. Our framework is based on the use of two essential elements that are the meta-modeling and graph grammars. The proposed framework contains two parts. The first part is automatic transforming the UML-AD to PN (model 2 model) and the second part is automatic transforming PN to file with.pnt extension (model 2 code) which is an input of INA 4 analyzer tool (Integrated Net Analyser). We begin our framework with the proposal of two meta-models: one for AD and the second for PN. From these meta-models, AToM3 5 generates automatically a visual tool to build AD and PN models. Then, we propose a graph grammar consisting of a set of graph transformation rules. After, another transformation is performed to generate the code (file with.pnt extension) equivalent to PN (the output of the previous step). We use AToM3 as a tool for graph transformation and INA tool for verification properties. The remainder of this paper is organized as follows: In section 2, we introduce some related works. In section 3, we propose and describe our approach based on a graph grammar and a meta-model for the transformation of UML Activity Diagram to Petri Nets and their verification. In section 4, we present a detailed example to show the evaluation of our contribution. Finally, a conclusion and some perspectives are given in section 5. 2. Related work There is much research work in the area of model transformation using graph grammars in the literature. In 6, the authors have proposed an approach that automatically generates a Communicating Sequential Processes (CSP) 7 specification from AD. They chose the CSP formalism because CSP language is a formal specification language which allows us to check certain properties. In 8, the authors proposed an approach for transforming UML Statechart and collaboration diagrams to Colored Petri Nets models. For this, they have defined an automated approach and a tool environment that formally transforms dynamic behaviors of systems described using UML models into their equivalent Colored Petri Nets (CPN) models for analysis purpose. In 9, the author presented a set of rules that allows software engineers to translate the behavior described by a UML Activity Diagram (AD) into a Petri Nets (PN). The main purpose of the mapping to Petri Nets is to use the theoretical results in the Petri Nets domain to analyze the equivalent Petri Nets and infer properties of the original workflow. After a comparative study of these approaches, we find that the transformation of AD to PN that was done before is not automatic. The interest of our proposition is to automate the transforming of activity diagrams to Petri Nets. It is the strong point of our approach compared to neighboring works and represents the first advantage. The second advantage consists of the creation of a tool to manipulate an AD model (create and modify an AD). The third advantage is the creation of a tool to manipulate a PN (create and modify a PN model). The fourth advantage is the verification of certain properties of the resulted PN using the model checker INA and give a feed back on the properties of the system modeled the input AD. 3. The proposed framework Our main goal in the proposed framework consists of transforming automatically UML activity diagrams that are semi-formal (informal notation) to the Petri Nets specification (formal notation). Then we verify the resulting PN with the model checker INA. To achieve this objective, two steps are defined: In the first step, we have proposed two meta-models, the first meta-model for UML activity diagram and the second meta-model for Petri Nets. After, we have proposed a graph grammar that performs automatically the transformation of activity diagram. In the second step, we have integrated our transformation of the result PN to input of the model checker INA proposed in 10 and we launch the operation of the verification.

614 Yasmina Rahmoune et al. / Procedia Computer Science 56 ( 2015 ) 612 617 In the following, we explain these steps in detail. 3.1. Meta-Modeling Activity Diagrams For the activity diagrams, the proposed meta-model including eight classes linked by fourteen associations is shown in figure 1. It is our meta-model published in 11. 3.2. Meta-Modeling Petri Nets Fig. 1. Activity diagram Meta-Model. For the Petri Nets, the proposed meta-model contains two classes linked by two associations such as shown in figure 2. 3.3. Our proposed Graph Grammar Fig. 2. Petri Nets Meta-Model. For transforming UML activity diagrams to Petri Nets, we have proposed a graph grammar composed of fortyfive rules. These rules will be executed in ascending order.

Yasmina Rahmoune et al. / Procedia Computer Science 56 ( 2015 ) 612 617 615 For lack of space we only describe in the following some rules (see figure 3). Rule 1: InitialNode2Place (priority 1): This rule is applied to attach Initial node for UML activity diagram to a new place, and specifies that the name of the attached place is the same name as the corresponding initial node. Rule 2: Action2Transition (priority 2): This rule is applied to attach each Action (not previously processed) to a new Transition, and specifies that the name of the attached Transition is the same name as the corresponding Action. Rule 3: Decision2Place (priority 3): This rule is applied to attach Decision for UML activity diagram to a new place, and specifies that the name of the attached place is the same name as the corresponding Decision. 3.4. Translating Petri Nets Model to INA Specification Fig. 3. Set of proposed rules in our graph grammar. The objective of this part is the automatic generation INA description, for allow the user to avoid the errors when this description is done manually. Then, the INA tool is used to perform the simulation and the analysis of the resulted INA description.

616 Yasmina Rahmoune et al. / Procedia Computer Science 56 ( 2015 ) 612 617 In this work, we are integrate our rules proposed in 10 for automatically generate a file contains a description INA (.pnt file extension), for more detail see 10. 4. Case Study The purpose of this section is to present a case study to evaluate the steps of the proposed approach. We have chosen calls phones as a case study. This example illustrates some situations that occur within UML-AD and how they are transformed into PN, such as sequence flow, decision, merge and join. The next figure presents the transformation of activity diagram of the calls phone created by our proposed tool. This model is transformed into Petri Nets using the graph grammar defined in section 3.3. Fig. 4. Some steps of transforming AD to PN with our tool. At the end of the first part of the transformation, the resulted PN (see figure 4) is transformed to generate INA description as shown in figure 5 (a). The result of the model checker INA of the description presented above (figure 5 (a)) is shown in figure 5 (b). Among the results: "The net is not live and the deadlock-trap-property is not valid" which indicates that the PN modeled in figure 5 (b) contains a deadlock situation.

Yasmina Rahmoune et al. / Procedia Computer Science 56 ( 2015 ) 612 617 617 5. Conclusion Fig. 5. (a) Generated INA specification of the PN given in Fig 4; (b) Result of the application of the INA tool. In this paper, we have proposed a framework containing a visual modeling tool based on the use of graph grammars and AToM3 tool. Our proposal framework allows the transformation of UML activity diagrams to Petri Nets and the verification of some properties of the resulting PN. To achieve this transformation, we have used UML Class diagram formalism as meta-formalism and proposed two meta-models for the input models (UML activity diagrams) and output models (Petri Nets); we have also proposed a graph grammar to realize the translation process. The objective of this transformation is to benefit from the power of Petri Nets in terms of verification of properties like deadlocks, termination, etc. We are used the model checker of INA tool to verify the properties of the resulted PN models and give a feed back on the properties of the system modeled the input AD. In a future work, we plan to use another specification and we verify other diagrams of UML. References 1. Soley et al., MDA (Model-Driven Architecture), White Paper, Draft 3.2, OMG Staff Strategy Group, November 27-th 2000. 2. Booch G, Ivar Rumbaugh, Jim Jacobson. The Unified Modeling Language User Guide, Addison-Wesley, 1999. 3. Murata T. Petri Nets: Properties, analysis and applications. Proceedings of the IEEE, vol. 77, no. 4, April 1989. p. 541 580. 4. INA home page. Available: http://www2.informatik.hu-berlin.de/~starke/ina.html 5. AToM3 home page. Available: http://moncs.cs.mcgill.calmsdllresearch/projects/ ATOM3.html 6. Elmansouri R, Hamrouche H, Chaoui A. From UML Activity Diagrams to CSP Expressions: A Graph Transformation Approach using AToM3 Tool. IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 2, March 2011. ISSN (Online). 2011. p.1694-814 7. C.A.R. Hoare. Communicating Sequential Processes. Prentice Hall International Series in Computer Science. Prentice Hall. April 1985. 8. Kerkouche E, Chaoui A, Bourennane E, Labbani O. A UML and Colored Petri Nets Integrated Modeling and Analysis Approach using Graph Transformation. In Journal of Object Technology, vol. 9, no. 4, 2010. p. 25 43. Available at http://www.jot.fm/contents/issue_2010_07/article2.html 9. Bhawana Agarwal. Transformation of UML Activity Diagrams into Petri Nets for Verification Purposes. International Journal Of Engineering And Computer Science ISSN: 2319-7242, Volume 2 Issue 3 March 2013. p. 798-805. 10. El Mansouri R, Kerkouche E, Chaoui A. A Graphical Environment for Petri Nets INA Tool Based on Meta-Modelling and Graph Grammars. Proceedings of World Academy of Science. Engineering and Technology Volume 34 October 2008 ISSN 2070-3740, Venice, Italy. 11. Yasmina Rahmoune and Allaoua Chaoui.: An Approach Based on Graph Grammar and Meta-Modeling for Transforming Automatically Business Process Models to UML Activity Diagrams. International Conference on Advanced Technology & Sciences, ICAT 14, Antalya, Turkey, August 12-15, 2014. p. 1116-1122.