2.4 Graph Grammars Part 2

Size: px
Start display at page:

Download "2.4 Graph Grammars Part 2"

Transcription

1 2.4 Graph Grammars Part 2

2 Studentische Hilfskraft (m/w) MBSE mit UML/SysML Themengebiet: Model-Based Systems Engineering Die Entwicklung mechatronischer Systeme erfordert das Zusammenarbeiten verschiedenster Fachdisziplinen. Wir arbeiten daran, diese Zusammenarbeit mit Hilfe von Modellen zu verbessen Deine Aufgaben Weiterentwicklung Eclipse-basierter Werkzeuge zur Systemmodellierung Umgang mit UML/SysML Modellen und Umsetzung in EMF Voraussetzungen Erfahrungen in Java-Programmierung und Eclipse Gute Deutsch- und Englischkenntnisse Bewerbung an: Fraunhofer IPT / Heinz Nixdorf Institut Folie 2

3 SHK-Stelle bei Fraunhofer Entwicklungsmethoden für sichere Automobilsoftware Entwicklung von Eclipse-Plugins mit Java, XML, EMF, Xtext, UML/SysML, Mitarbeit in Kundenprojekten mit Automobilzulieferern Bachelor-/Masterarbeit im gleichen Themengebiet möglich Bewerbung an: Markus Fockel Raum ZM Fraunhofer IPT / Heinz Nixdorf Institut Folie 3

4 Summary Graph transformation rules allow us: To describe the behavior of systems (e.g. RailCab) in an abstract, formal way To model and analyze them To describe the semantics of OO-programs To validate or verify them To model the program behavior visually (executable code can be generated from them) move :Shuttle <<delete>> next <<create>> 4

5 Dealing with Non-Determinism Rule application order may be non-deterministic, but sometimes we need to model Sequences of operations Conditions and alternative operations Iterated operations (loops) Two alternative solutions: Adapt the rules such that at any time only one of the rules is applicable (e.g. using additional conditions) Extend the graph grammars and add control flow Note: order of operations in one rule (e.g. created objects) remains non-deterministic 5

6 Example: Order of operations Requirement: Before passing a switch it has to be set correctly. Goal: turn left switch state Concrete syntax: Abstract syntax: :Shuttle headleft = true next turnnext :Switch turnleft = false next 6

7 Example: Order of operations Requirement: Before passing a switch it has to be set correctly. :Shuttle Abstract syntax: headleft = true turnnext Transformation rule: next :Switch turnleft = false next setswitchandmoveonswitch s: Shuttle <<create>> <<delete>> next :Switch turnleft := s.headleft assignment 7

8 Example Sequence of Operations Alternative solution idea: two rules, which are applied in a determined order Modeling rule application sequences required setswitch moveonswitch s: Shuttle next :Switch turnleft := s.headleft next :Shuttle <<delete>> next <<create>> :Switch Important: We need to re-use the previous matching to apply the move rule. Otherwise we could move another shuttle, because of the second rule s new matching. 8

9 Example: Conditional followup operation Requirement: Depending on the switch state a shuttle has to move to the correct outgoing track Operations to apply depend on a condition! (state of the object graph) next move :Shuttle :Switch turnleft = true move to turnnext next 9

10 Example: Alternative Operations Modeling rule application alternatives required leaveswitchontheright :Shuttle <<create>> checkswitch :Shuttle :Switch turnleft = true <<delete>> :Switch next leaveswitchontheleft :Shuttle <<create>> <<delete>> :Switch turnnext 10

11 Graph Grammars Example Describing program states as graphs Describing program behavior through graph transformations Models and graphs Graph grammars Story diagrams 11

12 Story Diagrams are a modeling language based on UML activity diagrams and so called story patterns Activity diagrams specify control flow Story patterns specify graph grammar rules specify (more complex) operations on object structures have formally defined semantics enable code generation and verification References: Albert Zündorf: Rigorous Object Oriented Software Development, Habilitation draft, 2001 T. Fischer et al.: Story Diagrams: A new Graph Rewrite Language based on the Unified Modeling Language, in Proc. of the 6 th International TAGT Workshop, LNCS 1764, pp , Springer Verlag,

13 Story Patterns are a modeling language based on graph grammars and UML communication diagrams specify operations on object structures have formally defined semantics enable code generation and verification previously introduced syntax: move :Shuttle <<create>> <<delete>> next Story Pattern syntax: :Shuttle «delete» «create» next 13

14 Control Flow in Story Diagrams Combine UML activity diagrams and graph grammar rules: Control flow: Graph transformation: [condition] activity3 activity1 activity2 [else] Sequences, loops, conditions and alternatives :Shuttle «delete» next «create» object structure modification, attribute value changes, attribute conditions 14

15 Example: Control Flow Modeling our sequence example with Story Diagrams setswitch s: Shuttle moveonswitch :Shuttle <<create>> next <<delete>> next :Switch next :Switch Story Diagram: s: Shuttle t: Track turnleft := s.headleft setswitch sw: Switch next turnleft := s.headleft moveonswitch s «delete» «create» t sw 15

16 Example: Alternatives Modeling alternatives with Story Diagrams Guards success and failure: Success: Transition fires iff previous activity has been executed successfully, i.e. pattern completely matched and all conditions were satisfied. findshuttleonswitch shuttle: Shuttle switch: Switch [success] checkswitch switch turnleft = true [failure] [failure] [success] shuttle switch shuttle switch leaveswitchontheright «delete» leaveswitchontheleft «delete» next turnnext right: Track left: Track «create» «create» 16

17 Control Flow in Story Diagrams Control flow in story diagrams is defined by composition rules. A very simple story diagram includes only one pattern, e.g.: Each extended (by start and end activities) Story Pattern is a Story Diagram. Given two or more story diagrams, they can be combined to build a new (more complex) story diagram. :Shuttle «delete» move next «create» 17

18 Sequential Composition Sequential Composition Given two story diagrams sd1 and sd2, then the sequential composition of sd1 and sd2 is a story diagram, too. sd1 sd2 composition sd1 sd2 18

19 Sequential Composition Formally Let s 1 and s 2 be story diagrams with only one end state each, then the sequential composition seq(s 1,s 2 ) is a story diagram with the semantics app seq(s1,s 2 ) := {(G 1, G 3 ) G 2 : (G 1, G 2 ) app s1 (G 2, G 3 ) app s2 } seq(s 1,s 2 ) is applicable s 2 is applicable application of s 1 application of s 2 19

20 If-Composition If-Composition Given three story diagrams sd1, sd2, and sd3, then the if-composition of sd1, sd2, and sd3 is a story diagram, too. sd1 sd2 sd3 composition [success] sd2 sd1 [failure] sd3 [success] sd2 sd1 [failure] sd3 20

21 If-Composition Formally Let s 1, s 2, s 3 be story diagrams with only one end state each, then the if-else-composition if_else(s 1,s 2,s 3 ) is a story diagram with the semantics app seq(s1,s 2 ) if s 1 is applicable app if_else(s1,s 2,s 3 ) := app seq(s1,s 3 ) else if_else(s 1,s 2,s 3 ) is applicable (s 1 is applicable s 2 is applicable) (s 1 is not applicable s 3 is applicable) 21

22 While-Composition While-Composition Given two story diagrams sd1 and sd2, then the while-composition of sd1 and sd2 is a story diagram, too. sd1 sd2 composition [failure] sd1 [success] sd2 22

23 While-Composition Formally Let s 1, s 2 be story diagrams with only one end state each, then the while-composition while(s 1,s 2 ) is a story diagram with the semantics app s1 if s 1 is not applicable app while(s1,s 2 ) := app seq (seq(s 1,s 2 ),while(s 1,s 2 )) while(s 1,s 2 ) is never applicable else 23

24 Control Flow in Story Diagrams Guards summary activity [boolean expression] [else]... no guards... activity [success] [failure] pattern applicability as a guard... iterated activity [end] boolean expression as a guard [each time] activity guards determining iterated pattern applications 24

25 Control Flow in Story Diagrams Other compositions [boolean expression] [else] [bool. expr.1] [bool. expr.2] [bool. expr.3] [else] sd1 sd2 sd1 sd2 sd3... sdn [else] [boolean expression] sd1 25

26 Story Diagrams and OO Goal: analogously to OO programming languages we want to Parameterize operations (method parameters) Re-use existing operations (method calls) Return operation results (return statements) Refer to the context object (this-reference in Java) Story Diagrams support all these features Example: Each story diagram specifies a method has a signature and return variables comparable to methods ParentType::operation(parameter1: ParameterType): ResultType signature dosomething... result variable name 26

27 Story Pattern Syntax Summary Object variables (object nodes) normal negative optional set (of objects) Links normal negative optional name name: Type name: Type name: Type names: Type link link link :Type bound (node is already mapped to an object) un-bound Modifier (for nodes and links) «create» «delete» 27

28 Story Pattern Syntax Summary Attribute conditions only objects satisfying the condition(s) are mapped to the node provided operators: Attribute assignments Constraints Additional constraint(s) for pattern application specified in the target programming language, e.g. Java =, <,, >, name: Type attributename = value name: Type attributename := value { obj.getname().equals( Text ) } variable name 28

29 Story Pattern Syntax - Summary Collaborations (method calls) Consecutive operation numbers determine collaborations execution order operation number variable name arrow pointing to an object variable Reference to the object executing the story pattern (or story diagram) 1: methodname(argument) name object variable representing the object that the method is called on this 29

30 Story Patterns vs. Communication Diagrams Passenger::leave() : void «create» atstation this «delete» destination leave Shuttle «delete» passengers shuttle: Shuttle A Story Diagram using a Story Pattern targetstation: Station belongsto position: Track A Communication Diagram expressing the same operation 1: targetstation := getdestination() 2: shuttle := getshuttle() 5: setdestination(null) 7: setatstation(targetstation) 4: getison().equals(position)) 6: removefrompassengers(this) this targetstation: Station 3: position := gettrack() 5.1: removefromcomingpassengers(this) 7.1: addtopresentpassengers(this) 5.1.1: remove(this) 7.1.1: add(this) comingpassengers: HashSet presentpassengers: HashSet passengers: HashSet shuttle: Shuttle position: Track 6.1: remove(this) 30

31 Control Structures in Henshin Source:

Automatic generation of behavioral code - too ambitious or even unwanted?

Automatic generation of behavioral code - too ambitious or even unwanted? Automatic generation of behavioral - too ambitious or even unwanted? Gregor Engels University of Twente, The Netherlands 23 June 2009 Professional Activities Gregor Engels University of Paderborn Head

More information

Statechart Modeling with Fujaba

Statechart Modeling with Fujaba GraBaTs 04 Preliminary Version Statechart Modeling with Fujaba Leif Geiger Albert Zündorf University of Kassel, Software Engineering Research Group, Wilhelmshöher Allee 73, 34121 Kassel, Germany {leif.geiger

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink Holger Giese, Matthias Meyer, Robert Wagner Software Engineering Group Department of Computer Science University of Paderborn

More information

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008 SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 4: Mutations, OCL etc. Course Outline L1:

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008 SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 5: OCL, ParTeG Course Outline L1: Introduction

More information

Towards Better Support for Pattern-Oriented Software Development

Towards Better Support for Pattern-Oriented Software Development Towards Better Support for Pattern-Oriented Software Development Dietrich Travkin Software Engineering Research Group, Heinz Nixdorf Institute & Department of Computer Science, University of Paderborn,

More information

Christian Doppler Laboratory

Christian Doppler Laboratory Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software

More information

Story Diagrams: A new Graph Grammar Language based on the Unified Modelling Language and Java

Story Diagrams: A new Graph Grammar Language based on the Unified Modelling Language and Java Story Diagrams: A new Graph Grammar Language based on the Unified Modelling Language and Java Thorsten Fischer, Jörg Niere, Lars Torunski, Albert Zündorf AG-Softwaretechnik, Fachbereich 17, Universität

More information

Qualitätssicherung von Software (SWQS)

Qualitätssicherung von Software (SWQS) Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 28.5.2013: Modellprüfung II - BDDs Folie 2 Existenzgründer gesucht! Folie 3 Fragen

More information

Qualitätssicherung von Software (SWQS)

Qualitätssicherung von Software (SWQS) Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 15.7.2014: Modellbasierter Test (Jaroslav Svacina) Specification-based Testing Constructing

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 06: Class Diagrams I 2013-11-11 06 2013-11-11 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 06: Class Diagrams I 2013-11-11 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course Map UML W N E Model

More information

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 3. Code Generation

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 3. Code Generation 3. Motivation So far: Techniques for the design phase But: Implementation needed Implementation is Time consuming Error prone Necessary for each target language if done by hand Programmers make errors

More information

Formal Verification for UML/SysML models

Formal Verification for UML/SysML models Formal Verification for UML/SysML models IBM Research Lab - Haifa Content Formal verification v.s. testing Correctness properties Formal verification for Rhapsody models 2 Formal Verification Desired Properties

More information

Model transformations. Model transformations. Model transformations. Model transformations

Model transformations. Model transformations. Model transformations. Model transformations The initialization of the attributes of a generated target model element by assigning references: Model target element generated by current rule Default target model element generated by another rule Non-default

More information

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework Thorsten Arendt a, Pawel Stepien a, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics

More information

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad Principles of Software Construction: Objects, Design and Concurrency Just enough UML 15-214 toad Christian Kästner Charlie Garrod School of Computer Science With slides from Klaus Ostermann Learning Goals

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

Yakindu HMI. Model-driven HMI Development. Axel Terfloth itemis AG

Yakindu HMI. Model-driven HMI Development. Axel Terfloth itemis AG Yakindu HMI Model-driven HMI Development Axel Terfloth itemis AG HMI = Human Machine Interface User Interface = UI Anatomy of an HMI UI-Technologies Visual Design Interaction Behavior Data & Functions

More information

A Modelling and Analysis Environment for LARES

A Modelling and Analysis Environment for LARES A Modelling and Analysis Environment for LARES Alexander Gouberman, Martin Riedl, Johann Schuster, and Markus Siegle Institut für Technische Informatik, Universität der Bundeswehr München, {firstname.lastname@unibw.de

More information

Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems

Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems Holger Giese, Martin Kardos, and Ulrich Nickel University of Paderborn,

More information

Syntax and Grammars 1 / 21

Syntax and Grammars 1 / 21 Syntax and Grammars 1 / 21 Outline What is a language? Abstract syntax and grammars Abstract syntax vs. concrete syntax Encoding grammars as Haskell data types What is a language? 2 / 21 What is a language?

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Conclusion, Outlook, Discussion Motivation 3 4 1. What did you learn? Objectives of this course: Basic skills in software engineering!

More information

EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework

EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework Thorsten Arendt a, Florian Mantz b, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics

More information

8/22/2003. Proposal for VPI model PSL assertion extensions

8/22/2003. Proposal for VPI model PSL assertion extensions 8/22/2003 Proposal for VPI model PSL assertion extensions Cadence Design Systems, Inc. 8/22/2003 This proposal has been prepared by Cadence Design Systems, Inc. for consideration by the IEEE 1364 working

More information

Program Representations

Program Representations Program Representations 17-654/17-765 Analysis of Software Artifacts Jonathan Aldrich Representing Programs To analyze software automatically, we must be able to represent it precisely Some representations

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 07: A Type System for Visibility 2013-11-18 07 2013-11-18 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

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

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations Agris Sostaks, Elina Kalnina, Audris Kalnins, Edgars Celms, and Janis Iraids Institute of Computer Science and Mathematics,

More information

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Software technology Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline UML Diagrams: Sequence Diagram Communication Diagram Interaction Overview Diagram Dr. Balázs Simon, BME,

More information

Towards a General Approach for Symbolic Model-Checker Prototyping

Towards a General Approach for Symbolic Model-Checker Prototyping Towards a General Approach for Symbolic Model-Checker Prototyping Edmundo López Bóbeda, Maximilien Colange, Didier Buchs Wednesday, September 24th 2014 - Enschede, Netherlands 1 Your awesome DSL 2 Your

More information

Lecture 15: Hierarchical State Machines I

Lecture 15: Hierarchical State Machines I Software Design, Modelling and Analysis in UML Lecture 15: Hierarchical State Machines I 2015-01-08 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 15 2015-01-08 main Albert-Ludwigs-Universität Freiburg,

More information

Reasoning about modules: data refinement and simulation

Reasoning about modules: data refinement and simulation Reasoning about modules: data refinement and simulation David Naumann naumann@cs.stevens-tech.edu Stevens Institute of Technology Naumann - POPL 02 Java Verification Workshop p.1/17 Objectives of talk

More information

Propositional Calculus: Boolean Functions and Expressions. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Functions and Expressions. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus: Boolean Functions and Expressions CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Objective: To provide students with the concepts and

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering II. Modelling Software Modelling Software Model based software engineering (taking models a bit more seriously than we did traditionally)

More information

What is Metamodeling and Code Generation All About

What is Metamodeling and Code Generation All About Automating Design and Verification of Embedded Systems Using Metamodeling and Code Generation Techniques What is Metamodeling and Code Generation All About Wolfgang Ecker & Michael Velten, Infineon Tutorial

More information

Leveraging UML Profiles to Generate Plugins From Visual Model Transformations

Leveraging UML Profiles to Generate Plugins From Visual Model Transformations Electronic Notes in Theoretical Computer Science 127 (2005) 5 16 www.elsevier.com/locate/entcs Leveraging UML Profiles to Generate Plugins From Visual Model Transformations Hans Schippers, Pieter Van Gorp,

More information

AADS+: AADL Simulation including the Behavioral Annex

AADS+: AADL Simulation including the Behavioral Annex AADS+: AADL Simulation including the Behavioral Annex Fifth IEEE International workshop UML and AADL 24th March 2010, Oxford, UK Roberto Varona Gómez Eugenio Villar {roberto, evillar}@teisa.unican.es University

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

Specifying Syntax. An English Grammar. Components of a Grammar. Language Specification. Types of Grammars. 1. Terminal symbols or terminals, Σ

Specifying Syntax. An English Grammar. Components of a Grammar. Language Specification. Types of Grammars. 1. Terminal symbols or terminals, Σ Specifying Syntax Language Specification Components of a Grammar 1. Terminal symbols or terminals, Σ Syntax Form of phrases Physical arrangement of symbols 2. Nonterminal symbols or syntactic categories,

More information

Object-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0

Object-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0 Object-Oriented Modeling Sequence Diagram Slides accompanying UML@Classroom Version 1.0 Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology

More information

Graph transformation-based Refactorings using Fujaba

Graph transformation-based Refactorings using Fujaba Graph transformation-based Refactorings using Fujaba Leif Geiger 1 Software Engineering Group 1, Department of Computer Science and Electrical Engineering, Wilhelmshöher Allee 73, 34121 Kassel, Germany

More information

Type Inference Systems. Type Judgments. Deriving a Type Judgment. Deriving a Judgment. Hypothetical Type Judgments CS412/CS413

Type Inference Systems. Type Judgments. Deriving a Type Judgment. Deriving a Judgment. Hypothetical Type Judgments CS412/CS413 Type Inference Systems CS412/CS413 Introduction to Compilers Tim Teitelbaum Type inference systems define types for all legal programs in a language Type inference systems are to type-checking: As regular

More information

Strategic Programming in Java

Strategic Programming in Java 1 Strategic Programming in Java Pierre-Etienne Moreau Antoine Reilles Software Transformation Systems Workshop October, 22 nd, 2006 2 Motivations Rule Based Programming is a nice idea! We interested in

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 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

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

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems 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

More information

Projektgruppe: Situation-Aware Semantic Service Discovery

Projektgruppe: Situation-Aware Semantic Service Discovery Projektgruppe: Situation-Aware Semantic Service Discovery Veranstalter: Anna-Lena Lamprecht Stefan Naujokat Lehrstuhl für Programmiersysteme 1 Outline 1) Workflows 2) Discovery 3) Recommender Systems 4)

More information

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)

More information

Static analysis and all that

Static analysis and all that Static analysis and all that Martin Steffen IfI UiO Spring 2014 uio Static analysis and all that Martin Steffen IfI UiO Spring 2014 uio Plan approx. 15 lectures, details see web-page flexible time-schedule,

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

Type Checking and Type Inference

Type Checking and Type Inference Type Checking and Type Inference Principles of Programming Languages CSE 307 1 Types in Programming Languages 2 Static Type Checking 3 Polymorphic Type Inference Version: 1.8 17:20:56 2014/08/25 Compiled

More information

Principles of Programming Languages

Principles of Programming Languages Principles of Programming Languages Lesson 14 Type Checking Collaboration and Management Dana Fisman www.cs.bgu.ac.il/~ppl172 1 Type Checking We return to the issue of type safety we discussed informally,

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

Specifying Precise Use Cases with Use Case Charts

Specifying Precise Use Cases with Use Case Charts Specifying Precise Use Cases with Use Case Charts Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Use

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language

More information

3 Modell basierte Sicherheit mit UML. Jan Jürjens: Modellbasierte Softwaretechniken für sichere Systeme 1

3 Modell basierte Sicherheit mit UML. Jan Jürjens: Modellbasierte Softwaretechniken für sichere Systeme 1 3 Modell basierte Sicherheit mit UML Jan Jürjens: Modellbasierte Softwaretechniken für sichere Systeme 1 UML Unified Modeling Language (UML): visual modelling for OO systems different views on a system

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

Executing SyncCharts with Ptolemy

Executing SyncCharts with Ptolemy Executing SyncCharts with Christian Motika Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universität zu Kiel, Germany KIEL ER SYNCHRON Workshop 2010 Frejús,

More information

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak CSE 403: Software Engineering, Spring 2015 courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams Emina Torlak emina@cs.washington.edu Outline Designing classes Overview of UML UML class diagrams

More information

Génie Logiciel Avancé - Advanced Software Engineering A Brief Revision of UML

Génie Logiciel Avancé - Advanced Software Engineering A Brief Revision of UML L3 Mention Informatique Parcours Informatique et MIAGE Génie Logiciel Avancé - Advanced Software Engineering A Brief Revision of UML Burkhart Wolff wolff@lri.fr Plan of the Chapter " The UML notation is

More information

PROGRAM ANALYSIS & SYNTHESIS

PROGRAM ANALYSIS & SYNTHESIS Lecture 02 Structural Operational Semantics (SOS) PROGRAM ANALYSIS & SYNTHESIS EranYahav 1 Previously static analysis over-approximation of program behavior abstract interpretation abstraction, transformers,

More information

The learning objectives of this chapter are the followings. At the end of this chapter, you shall

The learning objectives of this chapter are the followings. At the end of this chapter, you shall Chapter 5 Sequence diagrams In the previous chapters, we have seen different diagrams. Use case diagrams describe tasks that a system is supposed to perform. It gives high-level information about how a

More information

EMF Code Generation with Fujaba

EMF Code Generation with Fujaba EMF Code Generation with Fujaba Leif Geiger Universität Kassel Wilhelmshöher Allee 73 34121 Kassel leif.geiger@uni-kassel.de Thomas Buchmann Universität Bayreuth Universitätsstr. 30 95447 Bayreuth thomas.buchmann@unibayreuth.de

More information

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts 2.3 Timed Automata and Real-Time Statecharts Develop a BOOK RATING APP and win awesome prizes! The creators of the best submissions will be invited to an exclusive party in February

More information

with openarchitectureware

with openarchitectureware Model-Driven Development with openarchitectureware Markus Völter voelter@acm.orgorg www.voelter.de Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de 2006-7 Völter,

More information

Remote Control. IMMS.de

Remote Control. IMMS.de Remote Control Statecharts Kurzdefinition [Harel88]: Statecharts = state-diagrams + depth + orthogonality + broadcast communication Statecharts Elements (1) Events (e.g. txt)» Typeless» no value (it exists

More information

SELECTION. (Chapter 2)

SELECTION. (Chapter 2) SELECTION (Chapter 2) Selection Very often you will want your programs to make choices among different groups of instructions For example, a program processing requests for airline tickets could have the

More information

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best Domain Specific Languages Markus Voelter Independent/itemis voelter@acm.org A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES

More information

Lecture 07: Class Diagrams II

Lecture 07: Class Diagrams II Software Design, Modelling and Analysis in UML Lecture 07: lass Diagrams II 2014-11-13 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany ontents & Goals Last Lecture:

More information

Towards Design Verification and Validation at Multiple Levels of Abstraction Correct Design of Distributed Production Control Systems

Towards Design Verification and Validation at Multiple Levels of Abstraction Correct Design of Distributed Production Control Systems Towards Design Verification and Validation at Multiple Levels of Abstraction Correct Design of Distributed Production Control Systems Holger Giese, Martin Kardos, and Ulrich Nickel University of Paderbom,

More information

A Petri net-based simulation model for the flexible modelling and analysis of building construction processes

A Petri net-based simulation model for the flexible modelling and analysis of building construction processes Simulation in Produktion und Logistik Entscheidungsunterstützung von der Planung bis zur Steuerung Wilhelm Dangelmaier, Christoph Laroque & Alexander Klaas (Hrsg.) Paderborn, HNI-Verlagsschriftenreihe

More information

Introduction to Model Checking

Introduction to Model Checking Introduction to Model Checking René Thiemann Institute of Computer Science University of Innsbruck WS 2007/2008 RT (ICS @ UIBK) week 4 1/23 Outline Promela - Syntax and Intuitive Meaning Promela - Formal

More information

Coherently Explaining UML Statechart and Collaboration Diagrams by Graph Transformations

Coherently Explaining UML Statechart and Collaboration Diagrams by Graph Transformations Coherently Explaining UML Statechart and Collaboration Diagrams by Graph Transformations Paul Ziemann 1, Karsten Hölscher 1, Martin Gogolla 1 1 University of Bremen, Department of Computer Science P.O.

More information

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m. CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 1: Introduction to Program Analysis Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ws-1415/spa/

More information

CMSC 330: Organization of Programming Languages. Operational Semantics

CMSC 330: Organization of Programming Languages. Operational Semantics CMSC 330: Organization of Programming Languages Operational Semantics Notes about Project 4, Parts 1 & 2 Still due today (7/2) Will not be graded until 7/11 (along with Part 3) You are strongly encouraged

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML ourse Map ontents & Goals UML W N E Last Lecture: OL Semantics Software Design, Modelling and Analysis in UML Lecture 05: lass Diagrams I 2011-11-15 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität

More information

Symbolic Trajectory Evaluation - A Survey

Symbolic Trajectory Evaluation - A Survey Automated Verification Symbolic Trajectory Evaluation - A Survey by Mihaela Gheorghiu Department of Computer Science University of Toronto Instructor: Prof. Marsha Chechik January 3, 24 Motivation Simulation

More information

Actor-Oriented Design: Concurrent Models as Programs

Actor-Oriented Design: Concurrent Models as Programs Actor-Oriented Design: Concurrent Models as Programs Edward A. Lee Professor, UC Berkeley Director, Center for Hybrid and Embedded Software Systems (CHESS) Parc Forum Palo Alto, CA May 13, 2004 Abstract

More information

Modelling and Simulation of a Material Flow System

Modelling and Simulation of a Material Flow System Modelling and Simulation of a Material Flow System Ulrich A. Nickel, Jörg Niere University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, nierej]@uni-paderborn.de Modern production

More information

Pure (Untyped) λ-calculus. Andrey Kruglyak, 2010

Pure (Untyped) λ-calculus. Andrey Kruglyak, 2010 Pure (Untyped) λ-calculus Andrey Kruglyak, 2010 1 Pure (untyped) λ-calculus An example of a simple formal language Invented by Alonzo Church (1936) Used as a core language (a calculus capturing the essential

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

Migration of a large Oracle Forms application to Scout

Migration of a large Oracle Forms application to Scout Migration of a large Oracle Forms application to Scout Karsten Thoms, itemis AG Eclipse Scout User Day 2014, Ludwigsburg, 27.10.2014! itemis AG https://www.flickr.com/photos/kalleboo/2470243807 System

More information

Embedded software design with Polychrony

Embedded software design with Polychrony Embedded software design with Polychrony DATE 09 tutorial on Correct-by-Construction Embedded Software Synthesis: Formal Frameworks, Methodologies, and Tools Jean-Pierre Talpin, RIA List of contributors

More information

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software

More information

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Reuses some material from: Andrzej Wasowski, Model-Driven Development, ITU Copenhagen Where I am from WASP 2017

More information

tempo2hsal: Converting Tempo Models into HybridSal Tool Description

tempo2hsal: Converting Tempo Models into HybridSal Tool Description tempo2hsal: Converting Tempo Models into HybridSal Tool Description Ashish Tiwari Bruno Dutertre Computer Science Laboratory SRI International Menlo Park CA 94025 USA Report submitted under Honeywell subcontract

More information

Model Migration Case for TTC 2010

Model Migration Case for TTC 2010 Model Migration Case for TTC 2010 Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, UK. [louis,dkolovos,paige,fiona]@cs.york.ac.uk

More information

Versioning of Ordered Model Element Sets

Versioning of Ordered Model Element Sets Versioning of Ordered Model Element Sets Timo Kehrer, Udo Kelter Software Engineering Group, University of Siegen, Germany Email: {kehrer,kelter}@informatik.uni-siegen.de Abstract UML models contain various

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

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

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

Application: Programming Language Semantics

Application: Programming Language Semantics Chapter 8 Application: Programming Language Semantics Prof. Dr. K. Madlener: Specification and Verification in Higher Order Logic 527 Introduction to Programming Language Semantics Programming Language

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Design Patterns with Fujaba Intense Course, 5th-9th October Ruben Jubeh

Design Patterns with Fujaba Intense Course, 5th-9th October Ruben Jubeh Design Patterns with Fujaba Intense Course, 5th-9th October 2009 Ruben Jubeh ruben.jubeh@uni-kassel.de Kassel University Department of Software Engineering Wilhelmshöher Allee 73 34121 Kassel Germany Timetable

More information

Overview. Overview. Programming problems are easier to solve in high-level languages

Overview. Overview. Programming problems are easier to solve in high-level languages Overview Course Objectives To learn the process of translating a modern high-level language to executable code. earn the fundamental techniques from lectures, text book and exercises from the book. Apply

More information