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

Size: px
Start display at page:

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

Transcription

1 Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Somayeh Azizi 1, Vahid Panahi 2 Computer science department, Sama Technical and vocational, Training School, Islamic university, Arak Branch Arak, Iran, s.azizi2011@gmail.com 2 Arak, Iran,v.p1386@gmail.com Abstract - Graphical structures of various kinds (like graphs, diagrams, visual sentences) are very useful to describe complex structures and systems. The field of Graph transformation and Abstract State Machine has been widely used for modeling. Graphs are well suited to describe the underlying structures of models. They provide a good method to carry out the analysis and verification activities and use from the AGG (Attributed Graph Grammar) tools for design them. So the Abstract State Machine (ASM) is a modern computation model. ASM based tools are used in academia and industry, albeit on a modest scale. They allow you to give high-level operational semantics to computer artifacts and to write executable specifications of software and hardware at the desired abstraction level. Keywords: Graph Transformation, Abstract state machine, Activity Diagram, Semantics, Verification and Validation I. INTRODUCTION Recently modeling is significant department of activities that it available introduction a proper software for security user requirement. Select proper model is base of modeling. For complete understanding of systems and specific relation between different stages of them, they should model. They are some approach for modeling such as: Unified modeling language(uml) Petri Nets The token flow semantics of UML2.0 activity diagrams is formally defined using Abstract State Machines and Graph Transformation System. The state of the art in semantics for UML 2.0 activity diagrams covers three distinct approaches: mapping to Petri-nets, using graph transformation rules, or providing pseudo-code. ASM using pseudo- code and graph transformation system using graph transformation rules for determine semantics. A major goal of this paper is ability to determine the correctness behavior and formal semantics of UML2.0 activity diagram by Graph Transformation System and Abstract state machine Graph Transformation system (GTS) Process Algebra State Diagrams The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software system. UML Activity diagram is a visual representation of any system's activities and flows of data or control between activities. They describe the workflow behavior of a system. Activity diagrams are similar to state diagrams because activities are the state of doing something. The diagrams describe the state of activities by showing the sequence of activities performed. State diagram and activity diagrams both describe state transitions and share many of the same elements. The main reason to use activity diagrams is to model the workflows. Activity Diagrams are also useful for analyzing a use case by describing what actions need to take place and when they should occur. Currently, the UML semantics is informally defined in plain text and it is often unclear, ambiguous or it contains contradictory assertions. It is difficult to present the precise semantics which are taken as important in workflow system with the guide provided by OMG to the UML activity diagram. In this paper, the alternative approach of using Abstract State Machines and Graph Transformation System to formalize UML activity diagrams is presented. We propose the workflow modeling methodology by applying ASM and GTS semantics to the activity diagram. Through the exact definition to formal semantics based on ASM and GTS, it is possible to effectively model the workflow. II. RELATED WORK There is research done about formal specification semantics of uml2.0 activity diagram using different formal language. Harel defines state diagrams to model activities behavior in STATEMENT structured analysis notation. In resumption Eshuis used this method to describe the behavior of UML1.5 activity diagram. He defines concept of strong fairness that based on model should not be indefinite loops. He also indicated modeled in two levels: Requirement level semantics: This level is easy for analysis. Implementation-level semantics: This level is difficult for analysis but it provides a real vision of system Bogor used abstract state machine to describe UML2.0 activity diagrams. This method is based on event and per state is algebra. In ASM transition from one status to another status is done by rule if- then. Hausmann defines concept Dynamic Meta Modeling (DMM) using graph transformation systems. He developed the old graph rules by defining a new concept named rule invocation. In DMM there are two types of rules: big-step and small-step rules. Big-step rules act as traditional rules but small-step rules should be invoked by big-step rules. Haussmann then defines

2 semantics for Activity diagrams using concept of DMM. Engels use DMM and semantics defined by Haussmann for modeling and verification of workflows. For verification, he use GROOVE but as GROOVE does not support attributed typed graphs and rule invocation, they change the rules to be verifiable by GROOVE they check deadlock freeness and action reach ability properties on the modeled workflows. In contrast to this work, our approach has more flexibility to support user defined properties. Furthermore, event and exception modeling can be supported by our approach. Additionally, the extension defined by Haussmann (small/big step rules and rule invocation) cannot be modeled directly in existing graph transformation tools; hence it is not so easy for designers to use this approach. III. ACTIVITY DIAGRAM UML2.0 Activity Diagram modeling behavior aspect of software systems particular Data Flow and control Flow. Data Flow specific data transform from source path to destination and Control Flow specific existing paths for data transform an activity is operation sequence from start to end the system done and per activity can be transaction on data or process. A. Kind Of Activity Nodes 1. Action Node: An action node is a atomic stage in activity such as math function that they can manipulate data 2. Control Nodes: A control node is Responsible for routing of tokens. They routing based on decision node, fork node and join node. The tokens are production and consumption. B. Kind Of Control Nodes 1. Initial Node: An initial node Defines start of activity. This node has no input edge and it has only output edge. 2. Decision Node: A decision node has an input edge and more than one output edge. Input tokens are moving based on constraints on one of the output edges. The node will select different outputs based on a given Boolean expression. 3. Merge Node: A merge node have more than one input edges and only one output edge. This node each token to pass to side its output edge and they lead several workflow activities to a flow activity. 4. Fork Node: A fork node has only one input edge and more than output edge. Each input token is copied and passes through all the output edges. They are divided a flow to multiple simultaneous flow in an activity. 5. Join Node: A join node has more than input edge and only one output edge. If all incoming edges carry tokens In this case these nodes are used as a synchronization point. 6. Final Node Activity Final: An activity final node has one or more Than one input edge. If the first token to reach the node then sequence of all tokens immediately across the activity can be used and enforcement activity will stop. Flow Final: A flow final node has one or more than one input edge. This node uses each token entered and Lead to a path is ending. IV. Figure 1 Kind Of Action Nodes Figure 2 Kind Of Control Nodes GRAPH TRANSFORMATION Graph transformation is applied for simulating the behavior of models. It consists of three set: (i) type graph,(ii) host graph,(iii) rules. Hence per Graph transformation represents formally with triple AGT (TG, HG, R). The type graph (Meta model) defines the abstract syntax of a modeling language. Formally, it can be represented by a type graph (TG). Nodes in it called classes. Per class have attributes and functions. A host graph (Instance Models) describes the system define in modeling language. In fact it is a wellformed instance of the Meta model. A graph transformation rule describes dynamic behavior of graph transformation. Formally, A graph Transformation rule p = (L,R,N) consists of: a graph L being the left hand side (LHS) of the rule a graph R being the right hand side (RHS) of the rule; a set of graphs N being the negative application conditions (NACs). The application of a graph transformation rule transforms a graph G, the source graph, into a graph H, the target graph, by looking for an occurrence of L in G and then replacing that occurrence of L with R, resulting in H. The role of the NACs is that they can still prevent application of the rule when an occurrence of the LHS has been found, namely if there is an occurrence of some N N in G that extends th the candidate occurrence of L. [1,3] V. ABSTRACT STATE MACHINE The Abstract State Machine (ASM) Project (formerly known as the Evolving Algebras Project) was started by Yuri Gurevich as an attempt to bridge the gap between

3 formal models of computation and practical specification methods. A sequential ASM is defined as a set of transition rules of form : { If Condition then Updates },which transform first-order structures (the states of the machine), where the guard Condition, which has to be satisfied for a rule to be applicable, is a variable free firstorder formula, and Updates is a finite set of function updates (containing only variable free terms) of form: f (t1,...,tn):= t. The execution of these rules is understood as updating, in the given state and in the indicated way, the value of the function f at the indicated parameters, leaving everything else unchanged. (This proviso avoids the frame problem of declarative approaches.) In every state, all the rules which are applicable are simultaneously applied (if the updates are consistent) to produce the next state. If desired or useful, declarative features can be built into an ASM by integrity constraints and by assumptions on the state, on the environment, and on the applicability of rules. The ASM is formal and can therefore serve as a foundation for the implementation of tools. Finally, it helps to ensure that the specified behavior meets the intuition of the modeler. Abstract State Machine has a main rule that computation transition and uses from it for determine token flow semantics. The semantics of activity diagram determine base token flow. When token available in initial, object and action nodes then calling transition of rule. if guards evaluation true then token move toward destination nodes. [2] VI. WORKFLOW MODELING The modeling of workflow should treat of each element of the activity diagram was determined uses each node in activity diagram is equivalent to a class in this method. Each class consists of three parts, the class name, attributes and functions. Class name is equivalent to the node name and attributes of each class determine according to class name and action it. In the proposed method of functions are obtained from pseudo-code of state machine abstraction and attributes are Combination of characteristics in the graph transformation system and abstract state machine. In UMl2.0 semantic specification is based tokens. These diagrams explain each activity and its interactions in detail, including how it is triggered, what resources are needed and what deliverables will be created. This knowledge will enable you to discover and address any unstated requirements prior to finalizing the project plan. These workflow diagrams are key to effective analysis and communications. to model workflows we consider these parts of Activity diagrams: Init node, Final node, Action node, Fork node, Join node, Merge Figure 3 rules showing the semantics of Decision node

4 Figure 4 A sample activity diagram Figure 5 The sample activity diagram in fig3 as host graph with ASM and GTS node, Decision node We will use token-flow semantics in our graphs. In this paper we show determine semantics of decision node with ASM and GTS. Decision node: pseudo-code of decision node forall I with 1 I accepting Edges do t( I ) := new(token Offer) seq forall I with 1 I accepting Edges do t(i).offered Token := t. offered Token t(i).paths := {p element At(accepting Edges, i) p t. path } t(i).exclude := t. exclude {t(j) 1 j accepting Edges I j} t(i).include := t. include {t} add t(i) to offers (element At(accepting Edges, I ) In Figure3: The NAC of this rule states that both of the following nodes should not be Join or Merge nodes, because these nodes have several output edge, but

5 decision node chooses the output of a edge between its output edges. This restriction is implemented by the function Exclude. This function cause the tokens do, not clash together. We have different rules for cases that the following nodes are Join or Merge nodes. The LHS shows the precondition of this rule. If Decision node has the token and both of the following nodes have not any token, then this rule can be applied on the model and token will be routed to only one of the following nodes. Thus offer token entered into decision node and the value of the attribute inequality is false. Yet offers token not enter within nodes that they are outputs decision nodes. Guard adjective in one of the output nodes is True and order output node Labeled with else. As it is shown, the RHS says that offer token must be routed to only one of the following Nodes. Thus Is offer token out of the decision node and based on current conditions enter one of the output nodes. We will use Activity diagram of figure 3 as a running example for the rest of this paper. It describes the processing of orders in a company. Figure4 represent a workflow modeled with activity diagram.this activity can be image as host graph in graph transformation system. For each node in activity diagram, there is a node (class) in host graph.class diagrams have three parts: (i) class name, (ii) attributes, (iii) functions. Class name is name of node and one of attribute for node is token offer attribute. Token offers computation in initial node and this attribute values in initial node is not null and other nodes is null. By moving token in path and inter it at a node, calling functions and computation token offer it. When token arrives final node, the token offer attribute for preview nodes is null and for final node is not null. Therefore when token flow will be terminated that token arrives final node or there is not any path for token to be routed. VII. VERIFICATION AND VALIDATION The use of formal verification methods is essential in the design process of dependable computer controlled systems. The efficiency of applying these formal methods will be highly increased if the underlying mathematical background is hidden from the designer in such an integrated system effective techniques are needed to transform the system model to different sort of mathematical models supporting the assessment of system characteristics. To verification of activities must be design an approach. The theory and application of visual languages is also based on the strong paradigm of graph transformation. Therefore For analyze designed activities, graph transformation system (type graph, host graph, rules) and properties gets as input of verification approach. Graph transformation system must be design in AGG; also properties define by special rules. If designers are expert in graph transformation, they can directly to model workflows by using graph transformation system. In this approach designers do not need to learn of formal method. In other case, they can model workflows by UML2.0 activity diagram, then by transformer, designed activities in UML transformed to graph transformation. In this approach verification done automatically and designers do not need to define of rules for verification. VIATRA (Visual Automated Transformations) is a model transformation framework developed mainly for the formal dependability analysis of UML models. In VIATRA, Meta modeling is conceived specially: the instantiation is based on mathematical formalisms and called Visual Precise Meta modeling. The attribute transformation is performed by abstract state machine statements, and there is built-in support for attributes of basic Java types. The model constraints can be expressed by graph patterns with arbitrary levels of negation. The rule constraints are also specified by graph patterns. VIATRA uses abstract state machines (ASM) to define the control flow of the system.[1,3] VIII. CONCLUSION This paper proposes a formal approach base compose Graph Transformation Systems (GTS) and Abstract State Machine (ASM). This approach determines behavior of UML2.0 activity diagrams base token flow. Rules of ASM that define with pseudo-code, display by fundamental element of GTS (LHS, RHS, NAC). REFERENCES [1] Vahid Rafe, Adel T. Rahmani, Formal Analysis of Workflows Using UML 2.0 Activities and Graph Transformation Systems ICTAC 2008, LNCS 5160, pages , [2] Stefan Sarstedt, Walter Guttmann, An ASM Semantics of Token Flow in UML2.0 Activity Diagrams, [3] Laszlo Lengyel, Tihamer Levendovszky, Gergely Mezei and Hassan Charaf, Model Transformation with a Visual Control Flow Language, International Journal of Computer Science Volume1 Number 1, 2005.

Termination Analysis of the Transformation UML to CSP

Termination Analysis of the Transformation UML to CSP Magyar Kutatók 8. Nemzetközi Szimpóziuma 8 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics Termination Analysis of the Transformation UML to CSP Márk Asztalos,

More information

Pattern composition in graph transformation rules

Pattern composition in graph transformation rules Pattern composition in graph transformation rules András Balogh and Dániel Varró Department of Measurement and Information Systems Budapest University of Technology and Economics H-1117 Magyar tudosok

More information

Model Transformation by Graph Transformation: A Comparative Study

Model Transformation by Graph Transformation: A Comparative Study Model Transformation by Graph Transformation: A Comparative Study Karsten Ehrig 1, Esther Guerra 2, Juan de Lara 3, Laszlo Lengyel 4, Tihamer Levendovszky 4, Ulrike Prange 1, Gabriele Taentzer 1, Daniel

More information

Attribute Algebra for N-layer Metamodeling

Attribute Algebra for N-layer Metamodeling Proceedings of the 7th WSEAS International Conference on Applied Informatics and Communications, Athens, Greece, August 24-26, 2007 142 Attribute Algebra for N-layer Metamodeling GERGELY MEZEI, TIHAMÉR

More information

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

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Activities Radovan Cervenka

Activities Radovan Cervenka Unified Modeling Language Activities Radovan Cervenka Activity Model Specification of an algorithmic behavior. Used to represent control flow and object flow models. Executing activity (of on object) is

More information

Model-checking with the TimeLine formalism

Model-checking with the TimeLine formalism Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software

More information

State Machine Diagrams

State Machine Diagrams State Machine Diagrams Introduction A state machine diagram, models the dynamic aspects of the system by showing the flow of control from state to state for a particular class. 2 Introduction Whereas an

More information

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

Available online at  ScienceDirect. Procedia Computer Science 56 (2015 ) 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

More information

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics Process Modelling Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement and Information Systems

More information

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics Process Modelling Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement and Information Systems

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

More information

Dependability Analysis of Web Service-based Business Processes by Model Transformations

Dependability Analysis of Web Service-based Business Processes by Model Transformations Dependability Analysis of Web Service-based Business Processes by Model Transformations László Gönczy 1 1 DMIS, Budapest University of Technology and Economics Magyar Tudósok krt. 2. H-1117, Budapest,

More information

A Matching Algorithm and AGG Overview

A Matching Algorithm and AGG Overview A Matching Algorithm and AGG Overview Marc Provost McGill University marc.provost@mail.mcgill.ca March 29, 2004 Abstract This presentation go over the basic features of agg for graph rewriting. Typeset

More information

Proceedings of the Second International Workshop on Graph and Model Transformation (GraMoT 2006)

Proceedings of the Second International Workshop on Graph and Model Transformation (GraMoT 2006) Electronic Communications of the EASST Volume 4 (2006) Proceedings of the Second International Workshop on Graph and Model Transformation (GraMoT 2006) A Model Transformation for Automated Concrete Syntax

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

A Triple Graph Grammar Mapping of UML 2 Activities into Petri Nets

A Triple Graph Grammar Mapping of UML 2 Activities into Petri Nets A Triple Graph Grammar Mapping of UML 2 Activities into Petri Nets A. Spiteri Staines Abstract Model-to-Model mapping has several advantages over relational mapping. In model-to-model mapping an active

More information

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

More information

Hardware versus software

Hardware versus software Logic 1 Hardware versus software 2 In hardware such as chip design or architecture, designs are usually proven to be correct using proof tools In software, a program is very rarely proved correct Why?

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

AGG: A Graph Transformation Environment for Modeling and Validation of Software

AGG: A Graph Transformation Environment for Modeling and Validation of Software AGG: A Graph Transformation Environment for Modeling and Validation of Software Gabriele Taentzer Technische Universität Berlin, Germany gabi@cs.tu-berlin.de Abstract. AGG is a general development environment

More information

A Formalism for Automated Verification of Model Transformations

A Formalism for Automated Verification of Model Transformations Magyar Kutatók 10. Nemzetközi Szimpóziuma 10 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics A Formalism for Automated Verification of Model Transformations

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction We hardly need to point out the importance of business process modelling and of respective automation in this place (see, e.g. [39, 45, 58, 110, 141]). Also the advantages and shortcomings

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1

Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1 Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1 Jiexin Lian, Zhaoxia Hu and Sol M. Shatz Department of Computer Science University of Illinois at Chicago Chicago, IL, U.S.A.

More information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling with Metamodels. Using. UML/MOF including OCL Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of

More information

Proving the Correctness of Distributed Algorithms using TLA

Proving the Correctness of Distributed Algorithms using TLA Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)

More information

Operational Semantics of UML Activity Diagram: An Application in Project Management

Operational Semantics of UML Activity Diagram: An Application in Project Management Operational Semantics of UML Diagram: An Application in Project Management Eugene Syriani esyriani@cs.ua.edu Department of Computer Science University of Alabama Tuscaloosa AL, U.S.A. Hüseyin Ergin hergin@crimson.ua.edu

More information

Model View Management with Triple Graph Transformation Systems

Model View Management with Triple Graph Transformation Systems Model View Management with Triple Graph Transformation Systems Esther Guerra and Juan de Lara Computer Science Department, Universidad Carlos III de Madrid (Spain) eguerra@inf.ucm.es Polytechnic School,

More information

Motivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK

Motivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK Semantics of Model Transformation Reiko Heckel University of Leicester, UK, University of Birmingham, 1 March 2007 Motivation: Model-driven driven Engineering Focus and primary artifacts are models instead

More information

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS 1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be

More information

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer

More information

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

Mapping UML Models to Colored Petri Nets Models based on Edged Graph Grammar Journal of Computational Information Systems 7: 11 (2011) 3838-3845 Available at http://www.jofcis.com Mapping UML Models to Colored Petri Nets Models based on Edged Graph Grammar Zhanwei DU, Yongjian

More information

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

A Meta-Modeling and Graph Grammar Approach for Modeling and analysis of e-entrepreneurship systems A Meta-Modeling and Graph Grammar Approach for Modeling and analysis of e-entrepreneurship systems Mouna Bouarioua, Allaoua Chaoui and Raida Elmansouri MISC Laboratory, Department of Computer Science,

More information

Induction and Semantics in Dafny

Induction and Semantics in Dafny 15-414 Lecture 11 1 Instructor: Matt Fredrikson Induction and Semantics in Dafny TA: Ryan Wagner Encoding the syntax of Imp Recall the abstract syntax of Imp: a AExp ::= n Z x Var a 1 + a 2 b BExp ::=

More information

CS 6353 Compiler Construction Project Assignments

CS 6353 Compiler Construction Project Assignments CS 6353 Compiler Construction Project Assignments In this project, you need to implement a compiler for a language defined in this handout. The programming language you need to use is C or C++ (and the

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Software Synthesis from Dataflow Models for G and LabVIEW Hugo A. Andrade Scott Kovner Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 andrade@mail.utexas.edu

More information

Workflow : Patterns and Specifications

Workflow : Patterns and Specifications Workflow : Patterns and Specifications Seminar Presentation by Ahana Pradhan Under the guidance of Prof. Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology,

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

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

Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets A. Spiteri Staines Abstract Many modern software models and notations are graph based. UML 2 activities are important notations

More information

Towards Formal Verification of UML Diagrams Based on Graph Transformation

Towards Formal Verification of UML Diagrams Based on Graph Transformation Towards Formal Verification of UML Diagrams Based on Graph Transformation Yu Zhao *, Yushun Fan, Xinxin Bai, Yuan Wang, Hong Cai, Wei Ding CIM Research Center, Department of Automation, Tsinghua University,

More information

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Modeling, Testing and Executing Reo Connectors with the

More information

General Architecture of HIVE/WARE

General Architecture of HIVE/WARE General Architecture of HIVE/WARE 1. Layman s Description One of the largest paradigm shifts in writing took place when we moved from the use of the typewriter to the use of the computer. Just as the typewriter

More information

On the Correctness of Model Transformations. Matthew Nizol CSE 814, Fall 2014 Thursday, December 11, 2014

On the Correctness of Model Transformations. Matthew Nizol CSE 814, Fall 2014 Thursday, December 11, 2014 On the Correctness of Model Transformations Matthew Nizol CSE 814, Fall 2014 Thursday, December 11, 2014 Agenda Context: Model-driven development Background on verification techniques Presentation of each

More information

Modeling with Plausibility Checking: Inspecting Favorable and Critical Signs for Consistency between Control Flow and Functional Behavior

Modeling with Plausibility Checking: Inspecting Favorable and Critical Signs for Consistency between Control Flow and Functional Behavior Modeling with Plausibility Checking: Inspecting Favorable and Critical Signs for Consistency between Control Flow and Functional Behavior Claudia Ermel 1, Jürgen Gall 1, Leen Lambers 2, and Gabriele Taentzer

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

ANALYZING PROCESS MODELS USING GRAPH REDUCTION TECHNIQUES

ANALYZING PROCESS MODELS USING GRAPH REDUCTION TECHNIQUES NLYZING PROCESS MODELS USING GRPH REDUCTION TECHNIQUES WSIM SDIQ ND MRI E. ORLOWSK Distributed Systems Technology Centre Department of Computer Science & Electrical Engineering The University of Queensland,

More information

Business Process Model and Notation (BPMN)

Business Process Model and Notation (BPMN) Business Process Model and Notation (BPMN) Daniel Brookshier, Distinguished Fellow, No Magic Inc. 1 BPMN Introduction n BPMN 2.0 is an international standard for business process modeling. n Developed

More information

A Small Permutation Group Engine by: Gregory Kip. COMS W4115 Programming Languages and Translators Prof. Stephen Edwards

A Small Permutation Group Engine by: Gregory Kip. COMS W4115 Programming Languages and Translators Prof. Stephen Edwards µperm A Small Permutation Group Engine by: Gregory Kip COMS W4115 Programming Languages and Translators Prof. Stephen Edwards Abstract Given the abstract character of much of modern physics and mathematics,

More information

Structure of Abstract Syntax trees for Colored Nets in PNML

Structure of Abstract Syntax trees for Colored Nets in PNML Structure of Abstract Syntax trees for Colored Nets in PNML F. Kordon & L. Petrucci Fabrice.Kordon@lip6.fr Laure.Petrucci@lipn.univ-paris13.fr version 0.2 (draft) June 26, 2004 Abstract Formalising the

More information

these developments has been in the field of formal methods. Such methods, typically given by a

these developments has been in the field of formal methods. Such methods, typically given by a PCX: A Translation Tool from PROMELA/Spin to the C-Based Stochastic Petri et Language Abstract: Stochastic Petri ets (SPs) are a graphical tool for the formal description of systems with the features of

More information

An Evaluation of a Use Case Driven Requirements Analysis Using Web UI Prototype Generation Tool

An Evaluation of a Use Case Driven Requirements Analysis Using Web UI Prototype Generation Tool An Evaluation of a Use Case Driven Requirements Analysis Using Web UI Prototype Generation Tool SHINPEI OGATA Function Control System, Graduate School of Engineering Shibaura Institute of Technology 307

More information

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL Introduction to Linear-Time Temporal Logic CSE 814 Introduction to LTL 1 Outline Motivation for TL in general Types of properties to be expressed in TL Structures on which LTL formulas are evaluated Syntax

More information

Extended Dataflow Model For Automated Parallel Execution Of Algorithms

Extended Dataflow Model For Automated Parallel Execution Of Algorithms Extended Dataflow Model For Automated Parallel Execution Of Algorithms Maik Schumann, Jörg Bargenda, Edgar Reetz and Gerhard Linß Department of Quality Assurance and Industrial Image Processing Ilmenau

More information

Refinement and Formalization of Semi-Formal Use Case Descriptions

Refinement and Formalization of Semi-Formal Use Case Descriptions Refinement and Formalization of Semi-Formal Use Case Descriptions Matthias Riebisch, Michael Hübner Ilmenau Technical University Max-Planck-Ring 14; 98684 Ilmenau; Germany {matthias.riebisch michael.huebner}@tu-ilmenau.de

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

Mapping ConcurTaskTrees into UML 2.0

Mapping ConcurTaskTrees into UML 2.0 Mapping ConcurTaskTrees into UML 2.0 Leonel Nóbrega 1, Nuno Jardim Nunes 1 and Helder Coelho 2 1 Department of Mathematics and Engineering, University of Madeira, Campus da Penteada, 9000-390 Funchal,

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Consolidation of Interacting BPEL Process Models with Fault Handlers

Consolidation of Interacting BPEL Process Models with Fault Handlers Consolidation of Interacting BPEL Process Models with Fault Handlers Sebastian Wagner, Oliver Kopp, and Frank Leymann Institute of Architecture of Application Systems, University of Stuttgart, Germany

More information

Appendix D: Mapping BPMN to BPD Profile

Appendix D: Mapping BPMN to BPD Profile Appendix D: Mapping BPMN to BPD Profile Members of bpmi.org and the OMG are interested in the unification of the UML 2.0 and BPMN notation for the support of the business user. This draft mapping is in

More information

7 The proposed domain specific language: operational level

7 The proposed domain specific language: operational level 7 The proposed domain specific language: operational level In our methodology, a scenario corresponds to the specification of concrete activities in the pervasive mobile game, including interactions among

More information

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/ SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré Hoare Logic COMP2600 Formal Methods for Software Engineering Rajeev Goré Australian National University Semester 2, 2016 (Slides courtesy of Ranald Clouston) COMP 2600 Hoare Logic 1 Australian Capital

More information

The SPIN Model Checker

The SPIN Model Checker The SPIN Model Checker Metodi di Verifica del Software Andrea Corradini Lezione 1 2013 Slides liberamente adattate da Logic Model Checking, per gentile concessione di Gerard J. Holzmann http://spinroot.com/spin/doc/course/

More information

Com S 541. Programming Languages I

Com S 541. Programming Languages I Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR

More information

NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java

NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java SYNOPSIS declarations description user-code DESCRIPTION The CHSM specification language is a text-based means

More information

Towards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema

Towards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema Towards Formalizing Domain-specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Outline! DSML overview! Framework for DSML design Syntax definition Semantic domain specification Semantic

More information

EXAMINATIONS 2009 END-OF-YEAR. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering

EXAMINATIONS 2009 END-OF-YEAR. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON EXAMINATIONS 2009 END-OF-YEAR COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal

More information

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Mathematical Model Transformations

Mathematical Model Transformations Chapter 1 Mathematical Model Transformations 1.1 Introduction For most computer controlled systems, especially dependable, real time systems for critical applications, an effective design process requires

More information

Paradigms of computer programming

Paradigms of computer programming Paradigms of computer programming Louv1.1x and Louv1.2x form a two-course sequence Together they teach programming as a unified discipline that covers all programming languages Second-year university level:

More information

AsmL Specification and Verification of Lamport s Bakery Algorithm

AsmL Specification and Verification of Lamport s Bakery Algorithm Journal of Computing and Information Technology - CIT 13, 2005, 4, 313-319 313 AsmL Specification and Verification of Lamport s Bakery Algorithm Matko Botinčan Department of Mathematics, University of

More information

Chapter 3. Describing Syntax and Semantics ISBN

Chapter 3. Describing Syntax and Semantics ISBN Chapter 3 Describing Syntax and Semantics ISBN 0-321-49362-1 Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the

More information

Enhancing validation with Prototypes out of Requirements Model

Enhancing validation with Prototypes out of Requirements Model Enhancing validation with Prototypes out of Requirements Model Michael Deynet, Sabine Niebuhr, Björn Schindler Software Systems Engineering, Clausthal University of Technology, 38678 Clausthal-Zellerfeld,

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

Introduction to Modeling

Introduction to Modeling Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose

More information

Extending the Groove Control Language with Variables

Extending the Groove Control Language with Variables Master s Thesis Extending the Groove Control Language with Variables Author: Olaf Keijsers Graduation Committee: Dr. ir. A. Rensink Dr. ir. R. Langerak S. Ciraci, PhD June 2010 University of Twente Faculty

More information

Defining Program Syntax. Chapter Two Modern Programming Languages, 2nd ed. 1

Defining Program Syntax. Chapter Two Modern Programming Languages, 2nd ed. 1 Defining Program Syntax Chapter Two Modern Programming Languages, 2nd ed. 1 Syntax And Semantics Programming language syntax: how programs look, their form and structure Syntax is defined using a kind

More information

Virtual Plant for Control Program Verification

Virtual Plant for Control Program Verification 2011 International Conference on Circuits, System and Simulation IPCSIT vol.7 (2011) (2011) IACSIT Press, Singapore Virtual Plant for Control Program Verification Sangchul Park 1 + and June S. Jang 2 1

More information

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

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics

More information

From Event-B Models to Dafny Code Contracts

From Event-B Models to Dafny Code Contracts From Event-B Models to Dafny Code Contracts Mohammadsadegh Dalvandi, Michael Butler, Abdolbaghi Rezazadeh Electronic and Computer Science School, University of Southampton Southampton, United Kingdom {md5g11,mjb,ra3}@ecs.soton.ac.uk

More information

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

Producing Graphical User Interface from Activity Diagrams Ebitisam K. Elberkawi, Mohamed M. Elammari Producing Graphical User Interface from Activity Diagrams Ebitisam K. Elberkawi, Mohamed M. Elammari Abstract Graphical User Interface (GUI) is essential to programming, as is any other characteristic

More information

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

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

Functional Programming Languages (FPL)

Functional Programming Languages (FPL) Functional Programming Languages (FPL) 1. Definitions... 2 2. Applications... 2 3. Examples... 3 4. FPL Characteristics:... 3 5. Lambda calculus (LC)... 4 6. Functions in FPLs... 7 7. Modern functional

More information

Axiomatic Specification. Al-Said, Apcar, Jerejian

Axiomatic Specification. Al-Said, Apcar, Jerejian Axiomatic Specification Al-Said, Apcar, Jerejian 1 Axioms: Wffs that can be written down without any reference to any other Wffs. Wffs that are stipulated as unproved premises for the proof of other wffs

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

1 Lexical Considerations

1 Lexical Considerations Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2013 Handout Decaf Language Thursday, Feb 7 The project for the course is to write a compiler

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design i About the Tutorial A compiler translates the codes written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target

More information