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

Size: px
Start display at page:

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

Transcription

1 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 of Board s-lab (Software Quality Lab) Member Board International Graduate School (IGS) Scientific Director Capgemini sd&m Research, Munich International Member Founding Board Informatics Europe ( Steering Committee MODELS Conference, Visual Languages and Human-Centric Computing (VLHCC), International Conference on Graph Transformations (ICGT) Gregor Engels, BM-MDA

2 Software is everywhere! Gregor Engels, BM-MDA Software is everywhere! Objectives of modern software development efficient development process software of high quality correct adaptable reusable Solution / Dream (?) Model-driven Development (MDD) Model-driven Architecture (MDA) Service-oriented Architecture (SOA) Gregor Engels, BM-MDA

3 Model-driven Software Development (MDD) designer Automatic generation needs complete s semantics-preserving s Can we achieve this in general? (specification) Visual s UML s correctness guaranteed! executable Gregor Engels, BM-MDA Traditional Manual Software Development restricted or no textual s UML class diagrams? correctness mer executable Gregor Engels, BM-MDA

4 The Dream The Reality MDD designer (specification) restricted or no mer executable executable Gregor Engels, BM-MDA The Dream Objectives MDD designer (specification) objectives: acceptable s semantics-preserving s restricted or no mer executable executable Gregor Engels, BM-MDA

5 Only a Dream? No! Database Design! MDD Model-driven Database Design designer (specification) designer semantics-preserving lossless join dependency-preserving Entity- Relationship Diagram Relational DB Schema language/tool support 4th GL executable executable Gregor Engels, BM-MDA Only a Dream? No!? Fujaba MDD MDD (specification) Story-driven Modelling designer designer Java Code executable executable Gregor Engels, BM-MDA

6 The Fujaba Approach Fujaba - From UML to Java and Back Again Open Source UML CASE Tool Project started in 1997 at the University of Paderborn Wilhelm Schäfer (University of Paderborn) Albert Zündorf (University of Kassel) Holger Giese (HPI Potsdam) Gregor Engels, BM-MDA Fujaba main features based on UML extended by Story Driven Modeling (SDM) deploys graph platform combines UML class diagrams and UML behavior diagrams (Story Diagrams) to a powerful, easy to use, yet formal system design and specification language generation of Java source out of the whole design which results in an executable prototype re-engineering so that Java source can be parsed and represented within UML Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 12 6

7 Behavior ing with Fujaba object diagrams are used as typed graphs are the base to define graph rules control flow described by UML activity diagrams object behavior described by graph rules Running example: autonomous shuttles Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 13 Object diagrams as typed graphs Class Diagram: Shuttle ison 1 1 Track next 1 turnnext Type Graph Switch Object graph: :Shuttle ison Typed Graph (edges are typed, too) :Track next :Track next :Switch :Shuttle turnnext :Track :Track next ison Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 14 7

8 Story Diagrams combine: UML Activity diagrams specify control flow Story patterns specify graph tranformation rules specify (more complex) operations on object structures have formally defined semantics Control flow: - sequences - loops - conditions - alternatives Graph : - object structure modification - attribute value changes - attribute conditions 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, 1998 Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 15 Story Diagrams - Control Flow Example Modeling alternatives with Story Diagrams findshuttleonswitch shuttle: Shuttle ison switch: Switch [success] checkswitch switch turnleft = true [failure] [failure] [success] shuttle switch leaveswitchontheleft shuttle switch leaveswitchontheright «delete» ison «delete» ison turnnext right: Track left: Track «create» ison Guards success and failure: Success: Transition fires iff previous activity has been executed successfully, i.e. pattern completely matched and all conditions satisfied. next «create» ison Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 16 8

9 Motivation for generation -based software engineering (mainly) working on design level (with s) reduces complexity automatically generate reduces implementation effort reduces implementation errors maintainability and readability of generated reason: sometimes has to be reviewed or adapted manually integration with frameworks, platforms, etc. manual optimization (e.g. for efficiency) Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 17 Code Generation with Fujaba Structural diagrams (Class diagrams) Inheritance Associations Behavioral diagrams which refine class diagrams Activity diagrams (usually for control flow of methods) Story diagrams (refine activity diagrams) Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 18 9

10 Code generation of structural information Design Level Class Diagram Code Level Class Diagram Generated Source Code class Shuttle { public Shuttle() {} Shuttle + speed: float + name: String + calculatedistance(loc: Location) : float Shuttle - speed: float - name: String + getspeed() : float + setspeed(speed: float) : void + getname() : String + setname(name: String) : void + calculatedistance(loc: Location) : float Code generation defined for: inheritance bidirectional associations composition and aggregation private float speed; public float getspeed() { return this.speed; } public void setspeed(float speed) { this.speed = speed; } private String name; public String getname() { return this.name; } public void setname(string name) { this.name = name; } public float calculatedistance(location loc) {... } } Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 19 Code generation of activity diagrams Activity Diagram specifies single method (well-formed) control flow maps to (Java) control structures actions / guards translate directly to (makes diagrams language dependent) Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 20 10

11 Generated Java for story diagrams JavaSDM.ensure( ) throws a JavaSDM- Exception if the given expression is not true Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 21 Summary of Fujaba Approach complete structure needs to be led to provide object diagrams control flow definition is ming language dependent generation must embed methods and its behavior into structural skeleton syntax and semantics definition of story diagrams is mapped to ming language instructions Gregor Engels, BM-MDA 2009 Provided by: Software Engineering Group, Prof. Dr. Wilhelm Schäfer 22 11

12 Evaluation of Fujaba acceptable? detailed, fine-grained specification ming-language dependent objectives: acceptable s semantics-preserving s Story-driven Modelling semantics-preserving? -based semantics of Fujaba as semantics definition mer Java Not a semantics-preserving! executable Gregor Engels, BM-MDA Semantics-preserving MDD designer ML meta source language <<instance of>> specification executed by target language PL meta <<instance of>> input engine output executable Gregor Engels, BM-MDA

13 What does semantics-preserving mean? Analysis PIM PSM Code holds holds holds requirement property property property Payment System login... check login addinfo... check login(); addinfo(); If()... check(); The function Check Account must be available for a user AG(login => AF(check)) CTL : AG Always Globally on each path AF Always in the Future AG((login)=>AF(check)) reachability Semantics preserving means that the resulting / still conforms to the initial requirements Correctness of in the sense of semantics preserving Gregor Engels, BM-MDA What is needed for a proof? formal semantics of behavioral s formalized properties formal Gregor Engels, BM-MDA

14 Semantics-preserving property A holds PIM PSM holds property A semantics SM semantics TM CTL formula Transition System SM Transition System TM CTL formula semantics-preserving means that all properties of the source hold for the target, too Gregor Engels, BM-MDA The way to show semantics-preservation Source Meta Target Meta properties instance of instance of holds holds Source Model Target Model properties semantics SM semantics TM Transition System SM equivalence Transition System TM Transition systems are equivalent All properties that hold on a source also hold on a target Gregor Engels, BM-MDA

15 Why is it difficult to prove this? languages are different not every element has a counterpart in the other language. Example: UML Activity Diagram several tokens may traverse through a diagram Textual Language (e.g., Java) only one counter login check login(); check(); How to map the semantics in this case? Gregor Engels, BM-MDA Proof of bisimulation Source Model Transformation Target Model Transition System SM execute( ) Transition System TM execute( ) Goal: to show that transition system (TS) of each source is bisimular to the TS of target received as result of Gregor Engels, BM-MDA

16 Double Check Approach Joint Project: University of Paderborn: G. Engels, M. Semenyak, Chr. Soltenborn, H. Wehrheim TU Twente: A. Rensink (Groove approach) UML Meta- Graph Transformation specification TAAL Meta- instance of Formal semantics (DMM) UML Transition System UML input Transformation Engine for Graph Transformation TAAL instance of Formal semantics (TAAL-semantics) Transition System TAAL Bisimilar relation between Transition Systems Systems behave in the same way in the sense that one system simulates the other and vice-versa G. Engels, A. Kleppe, A. Rensink, M. Semenyak, Chr. Soltenborn, H. Wehrheim: From UML Activities to TAAL - Towards Behaviour-Preserving Model Transformations. Proceedings of ECMDA 2008, LNCS 5095, pp , Springer-Verlag 2008 Gregor Engels, BM-MDA output Evaluation acceptable? detailed, fine-grained specification ming-language dependent objectives: acceptable s semantics-preserving s Model semantics-preserving? hard to prove needs semantics definition of languages mer executable Gregor Engels, BM-MDA

17 Title of the Talk: Automatic generation of behavioral too ambitious or even unwanted? acceptable? detailed, fine-grained specification ming-language dependent objectives: acceptable s semantics-preserving s Model semantics-preserving? hard to prove needs semantics definition of languages mer Are there alternatives?? executable Gregor Engels, BM-MDA Alternative Approaches Use of partial s visual contracts Model-driven Monitoring (MdM) Model-based Testing (MbT) Gregor Engels, BM-MDA

18 Alternative Approaches Use of partial s visual contracts Model-driven Monitoring (MdM) Model-based Testing (MbT) Gregor Engels, BM-MDA Graph-Transformation-Based Modeling Modelling Alternatives DPO: double pushout complete control of change no context change in addition to rule SPO: single pushout complete control of change deletion of dangling edges no context change in addition to rule ZPO: zero pushout complete control of change context change with embedding descriptions DPO SPO ZPO DPB complete control of change deterministic (strict) non-deterministic (loose) NO control of change DPB: double pullback partial control of change uncontrolled context deletion uncontrolled context extension Gregor Engels, BM-MDA

19 Reuse of an old idea: Design by Contract (Eiffel) Model (Specification) Contract: A formal agreement between an operation and its clients textual logical expressions allows partial description of behavior specification (assertions) Contract Properties that must hold before execution of operation Pre-condition operation Post-condition Properties that must hold after execution of the operation Gregor Engels, BM-MDA Reuse of an old idea: Design by Contract (Eiffel) Model (Specification) system state s operation call 1. test pre-condition 2. execute operation 3. test post-condition system state s* specification (assertions) Compiler executable with run-time assertions Gregor Engels, BM-MDA Contract Pre-condition operation Post-condition Concepts of Design by Contract: Describe behavior of operations partially with contract. Monitor implementation (correctness) at runtime 19

20 Visual Contract Example Behavioral Aspects: Visual Contract cartadd(asin, cid, x) pr:product pr:product Visual Contracts: define minimal requirements semantic concept of loose graph transitions formalized by double-pullback ASIN = asin self:shop c:cart cartid = cid Pre-condition ASIN = asin self:shop c:cart cartid = cid ci:cartitem ASIN = asin quantity = x Post-condition Static Aspects: Class Diagram typed Shop 0..* Product cartadd(string, String, Integer) ASIN : String 1 0..* CartItem Cart 0..* ASIN : String cartid : String 1 quantity : Integer 0..* Gregor Engels, BM-MDA typed Alternative Approaches Use of partial s visual contracts Model-driven Monitoring (MdM) Model-based Testing (MbT) Gregor Engels, BM-MDA

21 Model-Driven Monitoring Use visual contracts on level designer mer executable Monitor manual implementation against Gregor Engels, BM-MDA Visual Contracts designer Class Diagram Model Visual Contracts loose semantics double-pullback mer How to monitor manual implementation against? executable Gregor Engels, BM-MDA

22 Model-Driven Monitoring Model Designer Programmer Class Diagrams Class Skeletons Visual Contracts completes executable - Implementation Assertions executable with run-time assertions Gregor Engels, BM-MDA Transformation into Java and JML Class diagrams Java Class Skeletons typed use Visual Contracts JML Assertions JML (Java Modeling Language) Design by Contract Extension for Java JML Assertions are based on Java expressions Pre-condition Post-condition /*@ public requires (\exists Product && (\exists Cart @ ensures (\exists Product && (\exists Cart && (\exists CartItem && citem.getquantity() == public String cartadd (String asin, String cid, int x); Gregor Engels, BM-MDA

23 Transformation into Java and JML Class diagrams Java Class Skeletons typed use Visual Contracts JML Assertions JML (Java Modeling Language) Design by Contract Extension for Java JML Assertions are based on Java expressions Pre-condition public requires (\exists Product && (\exists Cart @ ensures (\exists Product pr.getasin().equals(asin) && (\exists ASIN Cart = c; c.getcartid().equals(cid) && (\exists CartItem c.getcartitems().values().contains(citem); item.getasin().equals(asin) cartid = && citem.getquantity() == Pre-condition public String cartadd (String asin, String cid, int x); Gregor Engels, BM-MDA Transformation into Java and JML Class diagrams Java Class Skeletons typed use Visual Contracts JML Assertions JML (Java Modeling Language) Design by Contract Extension for Java JML Assertions are based on Java expressions Post-condition pr:product /*@ public requires ASIN = (\exists asin Product pr; getproducts().values().contains(pr); pr.getasin().equals(asin) = && (\exists Cart c; quantity = x cartid c.getcartid().equals(cid)))); ensures (\exists Product && (\exists Cart && (\exists CartItem && citem.getquantity() == public String cartadd (String asin, String cid, int x); Gregor Engels, BM-MDA

24 Model-Driven Monitoring: Tool Support Visual Contract Workbench Model (Specification) Designer Class Diagrams Visual Contracts Programmer Java Class Skeletons Class Skeletons completes executable - Java- Implementation JML Assertions Assertions Compiler JML Compiler executable Java with run-time assertions Gregor Engels, BM-MDA Visual Contract Workbench Visual Contract Workbench is implemented as Eclipse plug-in allows for ing of class diagrams and visual contracts complemented by generation facilities Gregor Engels, BM-MDA

25 Alternative Approaches Use of partial s visual contracts Model-driven Monitoring (MdM) Model-based Testing (MbT) Quality check by accident!! Gregor Engels, BM-MDA Alternative Approaches Use of partial s visual contracts Model-driven Monitoring (MdM) Model-based Testing (MbT) Quality check by accident!! Planned quality check!! Gregor Engels, BM-MDA

26 Traditional Manual Software Testing restricted or no restricted or no test tester mer test execution test? adequate (comprehensive, relevant) Gregor Engels, BM-MDA Model-based Testing (MbT): Scenario 1 (specification) test test designer test execution test BUT! complete test generation needs complete / low level test s (expensive) needs flexible (difficult) thus, not realistic in general Gregor Engels, BM-MDA

27 Model-based Testing (MbT): Scenario 2 (specification) extraction test test designer test execution test BUT! extraction must be specified few/no redundancy between and test test it against it thus, not effective in general Gregor Engels, BM-MDA Model-based Testing (MbT): Scenario 3 (specification) extraction test manual implementation test execution test extraction must be specified automated test design automated test execution Gregor Engels, BM-MDA

28 Model-based Testing (MbT): Our combined Approach Model Designer Class Diagrams Visual Contracts test s Programmer Class Skeletons completes executable - Implementation JML Assertions JMLUnit test Pass/ No pass report executable with run-time assertions Testing 55 input Test cases Gregor Engels, BM-MDA Unit Testing: Test Case Generation Test case inputs: call parameters + system state 1. Generation of call parameters P = {cid= abc, prno= def, num=1} «entity» /pr : Product «key» productno = prno title Well-known techniques: Boundary analysis, Equivalence classes, Random 2. Generation of system state s input = «control» /self : OnlineShop «entity» /c : Cart «key» cartid = cid 3. Setting system state Simulate Naturally generate Gregor Engels, BM-MDA

29 Unit Testing: Test case generation Test case inputs: call parameters + system state 1. Generation of call parameters P = {cid= abc, prno= def, num=1} Well-known techniques: Boundary analysis, Equivalence classes, Random 2. Generation of system state s input = e.g. using mock objects or stubs e.g. using checking «entity» /pr : Product «key» productno = prno title «control» /self : OnlineShop «entity» /c : Cart «key» cartid = cid 3.Setting system state s s input simulate system state call other class operations until desired system state is reached naturally Gregor Engels, BM-MDA Unit Testing: Simulating Test Cases VC::Checkout cart : Cart : Customer name = x address = y : CreditCard account nr = n institute = i : : CartItem CartItem count count = t_1 : Product : Product titel titel = z price price = p_1 : Order delivery add. = y : Customer name = x address = y : CreditCard account nr = n institute = i b = SUMM(t_x * p_x) : Receipt amount = b : : Product Product titel titel = z price price = p_1 Gregor Engels, BM-MDA

30 Unit Testing: JUnit Test Script cartadd(product product, int quantity, String cid) Test input quantity= 1 cid = xyz public void testcartadd_0() { Product product = new Product(); product.settitle("abc"); product.setasin("def"); int quantity = 1; String cid = "xyz"; Call parameters generate OnlineShop self = new OnlineShop(); Cart c = new Cart(); c.setcartid("xyz"); self.addcart(c); self.addproduct(product); self.cartadd(product, quantity, cid); } further Objects Object variables Object relations Invoke method Model-driven Monitoring used to check correctness! Gregor Engels, BM-MDA Unit Testing: Test case generation Test case inputs: call parameters + system state 1. Generation of call parameters P = {cid= abc, prno= def, num=1} Well-known techniques: Boundary analysis, Equivalence classes, Random 2. Generation of system state s input = e.g. using mock objects or stubs e.g. using checking «entity» /pr : Product «key» productno = prno title «control» /self : OnlineShop «entity» /c : Cart «key» cartid = cid 3.Setting system state s s input simulate system state call other class operations until desired system state is reached naturally Gregor Engels, BM-MDA

31 Unit Testing: Setting System State Naturally controls 1 «control» OnlineShop productno controls cartid cartcreate() : : Cart cartadd(zoll cartadd(cartid cartid : String, : String, productno Zoll ASIN : String, : String, quantity Zoll quantity : Integer) : Integer) : String: String 1 0..* * «entity» Cart «key» cartid : String 1 +cartitem «entity» CartItem «key» cartitemid : String productno : String quantity : Integer +product +cartitem 1 «entity» Product «key» productno : String title : String 0..* 0..* Gregor Engels, BM-MDA Unit Testing: Setting System State 3. Generation of system setting sequence s 0 s t cartcreate s 1 s 2 operation n su Model checking techniques for computation of the system setting sequence: cartcreate,, operation n s v s v s input Gregor Engels, BM-MDA

32 Title of the Talk: Summary Automatic generation of behavioral too ambitious or even unwanted? The Dream Our Proposal: MdM + MbT MDD MdM + MbT designer (specification) designer manual implementation (specification) Code (with assertions) partial mer executable executable with test data Gregor Engels, BM-MDA Acknowledgments Thanks to the PhD students who helped me in preparing this talk: Baris Güldali Maria Semenyak Michael Spijkermann Gregor Engels, BM-MDA

33 References Model-based Testing G. Engels, B. Güldali, C. Soltenborn, H. Wehrheim: Assuring Consistency of Business Process Models and Web Services using Visual Contracts. In A. Schürr/ M. Nagl/ A. Zündorf (Eds.): Proc. 3rd Intl. Workshop on Applications of Graph Transformation with Industrial Relevance (AGTIVE'07), LNCS 5088, pp , Springer G. Engels, B. Güldali, M. Lohmann Towards Model-Driven Unit Testing In T. Kühne (ed.), Satellite Events at the MoDELS 2006 Conference, Genua, Italy, October 1-6, 2006, Revised Selected Papers, LNCS 4364, pp , Springer 2007 B. Güldali, M. Mlynarski, A. Wübbeke, G. Engels: Model-Based System Testing Using Visual Contracts. In Proceedings of Euromicro SEAA Conference 2009, Special Session on Model Driven Engineering. IEEE, to be published. Gregor Engels, BM-MDA References Model-driven Monitoring G. Engels, M. Lohmann, S. Sauer, R. Heckel: Model-Driven Monitoring: An Application of Graph Transformation for Design by Contract In A. Corradini, H. Ehrig, U. Montanari, L. Ribeiro, G. Rozenberg (Eds.): Proc. Third International Conference on Graph Transformations (ICGT 2006), LNCS 4178, pp , Springer M. Lohmann, S. Sauer, G. Engels: Executable Visual Contracts 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05), pp , Gregor Engels, BM-MDA

34 References Semantics G. Engels, A. Kleppe, A. Rensink, M. Semenyak, Chr. Soltenborn, H. Wehrheim From UML Activities to TAAL - Towards Behaviour-Preserving Model Transformations Proc. of ECMDA 2008, LNCS 5095, pp , Springer G. Engels, C. Soltenborn, H. Wehrheim: Analysis of UML Activities Using Dynamic Meta Modeling In M. M. Bosangue, E. Broch Johnsen (Eds.): FMOODS 2007, LNCS 4468, pp , Springer G. Engels, J. H. Hausmann, R. Heckel, S. Sauer Dynamic Meta-Modeling: A Graphical Approach to the Operational Semantics of Behavioral Diagrams in UML In A. Evans, S. Kent, B. Selic (eds.): UML The Unified Modeling Language, Third International Conference, October 2000, York, UK, LNCS 1939, pp Springer Gregor Engels, BM-MDA The End engels@upb.de Gregor Engels, BM-MDA

Towards Model-Driven Unit Testing

Towards Model-Driven Unit Testing Towards Model-Driven Unit Testing Gregor Engels 1,2, Baris Güldali 1, and Marc Lohmann 2 1 Software Quality Lab 2 Department of Computer Science University of Paderborn, Warburgerstr. 100, 33098 Paderborn,

More information

Model-based Development of Web Services using Design-by-Contract

Model-based Development of Web Services using Design-by-Contract Model-based Development of Web Services using Design-by-Contract Reiko Heckel University of Leicester, UK Lesster Joint work with M. Lohmann, A. Cherchago, J.H. Hausmann, Paderborn, TU Berlin, 5. 12. 2005

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

Model-Driven Development of Reactive Information Systems

Model-Driven Development of Reactive Information Systems Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) Model-Driven Development of Reactive Information Systems From Graph Transformation Rules to JML Contracts Reiko Heckel

More information

2.4 Graph Grammars Part 2

2.4 Graph Grammars Part 2 2.4 Graph Grammars Part 2 Studentische Hilfskraft (m/w) MBSE mit UML/SysML Themengebiet: Model-Based Systems Engineering Die Entwicklung mechatronischer Systeme erfordert das Zusammenarbeiten verschiedenster

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

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 Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt The Implications of Optimality Results for Incremental Model Synchronization for TGGs Bi-directional transformations (BX) Theory and Applications Across Disciplines (13w5115) December 1-6, 2013 Holger

More information

Dresden OCL2 in MOFLON

Dresden OCL2 in MOFLON Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology

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

International Colloquium on Graph and Model Transformation On the occasion of the 65th birthday of Hartmut Ehrig (GMT 2010)

International Colloquium on Graph and Model Transformation On the occasion of the 65th birthday of Hartmut Ehrig (GMT 2010) Electronic Communications of the EASST Volume X (2010) International Colloquium on Graph and Model Transformation On the occasion of the 65th birthday of Hartmut Ehrig (GMT 2010) Test-driven Language Derivation

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

Analysis of UML Activities using Dynamic Meta Modeling

Analysis of UML Activities using Dynamic Meta Modeling Analysis of UML Activities using Dynamic Meta Modeling Gregor Engels, Christian Soltenborn, and Heike Wehrheim Universität Paderborn, Institut für Informatik, 33098 Paderborn, Germany {engels,christian,wehrheim}@upb.de

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

A Type Graph Model for Java Programs

A Type Graph Model for Java Programs A Type Graph Model for Java Programs Arend Rensink and Eduardo Zambon Formal Methods and Tools Group, EWI-INF, University of Twente PO Box 217, 7500 AE, Enschede, The Netherlands {rensink,zambon}@cs.utwente.nl

More information

Transformational Design with

Transformational Design with Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität

More information

The GROOVE Simulator: A Tool for State Space Generation

The GROOVE Simulator: A Tool for State Space Generation Presented at AGTIVE, September 2003, Charlottesville, Virginia. To appear in Lecture Notes in Computer Science, Springer-Verlag. The GROOVE Simulator: A Tool for State Space Generation Arend Rensink University

More information

Towards a UML Profile for Service-Oriented Architectures 1

Towards a UML Profile for Service-Oriented Architectures 1 Towards a UML Profile for Service-Oriented Architectures 1 Reiko Heckel, Marc Lohmann, and Sebastian Thöne Faculty of Computer Science, Electrical Engineering and Mathematics University of Paderborn, Germany

More information

Easy Model-Driven Development of Multimedia User Interfaces with GuiBuilder

Easy Model-Driven Development of Multimedia User Interfaces with GuiBuilder Easy Model-Driven Development of Multimedia User Interfaces with GuiBuilder Stefan Sauer and Gregor Engels s-lab Software Quality Lab University of Paderborn Warburger Str. 100 D-33098 Paderborn, Germany

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

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

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

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

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

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages

More information

Showing Full Semantics Preservation in Model Transformation A Comparison of Techniques

Showing Full Semantics Preservation in Model Transformation A Comparison of Techniques Showing Full Semantics Preservation in Model Transformation A Comparison of Techniques Mathias Hülsbusch 1,BarbaraKönig 1, Arend Rensink 2, Maria Semenyak 3, Christian Soltenborn 3, and Heike Wehrheim

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

Static program checking and verification

Static program checking and verification Chair of Software Engineering Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Slides: Based on KSE06 With kind permission of Peter Müller Static program checking and verification Correctness

More information

Java-MOP: A Monitoring Oriented Programming Environment for Java

Java-MOP: A Monitoring Oriented Programming Environment for Java Java-MOP: A Monitoring Oriented Programming Environment for Java Feng Chen and Grigore Roşu Department of Computer Science, University of Illinois at Urbana - Champaign, USA {fengchen, grosu}@uiuc.edu

More information

Model driven Engineering & Model driven Architecture

Model driven Engineering & Model driven Architecture Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software

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

Formal Methods for Java

Formal Methods for Java Formal Methods for Java Lecture 1: Introduction Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg October 26, 2011 Jochen Hoenicke (Software Engineering) Formal Methods for Java October

More information

Model Driven Development of Context Aware Software Systems

Model Driven Development of Context Aware Software Systems Model Driven Development of Context Aware Software Systems Andrea Sindico University of Rome Tor Vergata Elettronica S.p.A. andrea.sindico@gmail.com Vincenzo Grassi University of Rome Tor Vergata vgrassi@info.uniroma2.it

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

The Modular Timed Graph Transformation (MoTif) system

The Modular Timed Graph Transformation (MoTif) system Hans Vangheluwe Eugene Syriani Modelling, Simulation and Design Lab McGill University OVERVIEW Introduction Context Existing Programmed Graph Rewriting Systems Graph transformation in AToM3 s by example

More information

Prototyping Navigation in Web-Based Information Systems Using WebML

Prototyping Navigation in Web-Based Information Systems Using WebML Prototyping Navigation in Web-Based Information Systems Using WebML Jaroslav KURUC 1, Peter DOLOG 2 and Mária BIELIKOVÁ 1 1 Institute of Informatics and Software Engineering, Faculty of Informatics and

More information

QoS-aware model-driven SOA using SoaML

QoS-aware model-driven SOA using SoaML QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira

More information

Automatic Generation of Graph Models for Model Checking

Automatic Generation of Graph Models for Model Checking Automatic Generation of Graph Models for Model Checking E.J. Smulders University of Twente edwin.smulders@gmail.com ABSTRACT There exist many methods to prove the correctness of applications and verify

More information

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications

More information

Using the UML to Describe Design Patterns

Using the UML to Describe Design Patterns Proceedings of the 16 th Annual NACCQ, Palmerston North New Zealand July, 2003 (eds) Mann, S. and Williamson, A. www.naccq.ac.nz Using the UML to Describe Design Patterns ABSTRACT to describe patterns

More information

BLU AGE 2009 Edition Agile Model Transformation

BLU AGE 2009 Edition Agile Model Transformation BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation

More information

From Object Composition to Model Transformation with the MDA

From Object Composition to Model Transformation with the MDA From Object Composition to Transformation with the MDA Jean Bézivin University of Nantes 2, rue de la Houssinière, BP 92208 44322 Nantes cedex 3, France Jean.Bezivin@sciences.univ-nantes.fr Abstract The

More information

Visual Modelling and Analysis of Model Transformations based on Graph Transformation

Visual Modelling and Analysis of Model Transformations based on Graph Transformation The Formal Specification Column by Hartmut Ehrig Technische Universität Berlin, Fak. Elektrotechnik und Informatik Franklinstraße 28/29, D-10587 Berlin, Germany ehrig@cs.tu-berlin.de Visual Modelling and

More information

Supporting Modeling in the Large in Fujaba

Supporting Modeling in the Large in Fujaba Supporting Modeling in the Large in Thomas Buchmann Angewandte Informatik 1 Universität Bayreuth D-95440 Bayreuth thomas.buchmann@unibayreuth.de Alexander Dotor Angewandte Informatik 1 Universität Bayreuth

More information

Story Driven Testing - SDT

Story Driven Testing - SDT Story Driven Testing - SDT Leif Geiger Software Engineering, University of Kassel Wilhelmshöher Allee 73 34121 Kassel, Germany leif.geiger@uni-kassel.de Albert Zündorf Software Engineering, University

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

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

Applying a Model Transformation Taxonomy to Graph Transformation Technology

Applying a Model Transformation Taxonomy to Graph Transformation Technology 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. Applying a Model Transformation Taxonomy to Graph Transformation

More information

Advances in Programming Languages

Advances in Programming Languages T O Y H Advances in Programming Languages APL4: JML The Java Modeling Language David Aspinall (slides originally by Ian Stark) School of Informatics The University of Edinburgh Thursday 21 January 2010

More information

From UML Models to Graph Transformation Systems

From UML Models to Graph Transformation Systems Electronic Notes in Theoretical Computer Science 27 (2005) 7 33 www.elsevier.com/locate/entcs From UML Models to Graph Transformation Systems Paul Ziemann Karsten Hölscher 2 Martin Gogolla 3 Department

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

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

A Solution Based on Modeling and Code Generation for Embedded Control System J. Software Engineering & Applications, 2009, 2: 160-164 doi:10.4236/jsea.2009.23023 Published Online October 2009 (http://www.scirp.org/journal/jsea) A Solution Based on Modeling and Code Generation for

More information

Graph Grammars. Marc Provost McGill University February 18, 2004

Graph Grammars. Marc Provost McGill University February 18, 2004 Graph Grammars Marc Provost McGill University marc.provost@mail.mcgill.ca February 18, 2004 Abstract This presentation introduces graph transformations. Typeset by FoilTEX Structure of the talk Graph Theory

More information

Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light

Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light Segravis School on Foundations of Visual Modelling Techniques, May 2004, Schloss Dagstuhl Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light

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

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Teaching Model Driven Language Handling Terje

More information

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

DESIGN PATTERN MATCHING

DESIGN PATTERN MATCHING PERIODICA POLYTECHNICA SER. EL. ENG. VOL. 47, NO. 3 4, PP. 205 212 (2003) DESIGN PATTERN MATCHING Dániel PETRI and György CSERTÁN Department of Measurement and Information Systems Budapest University of

More information

A Formal V&V Framework for UML Models Based on Model Transformation Techniques

A Formal V&V Framework for UML Models Based on Model Transformation Techniques A Formal V&V Framework for UML Models Based on Model Transformation Techniques Soon-Kyeong Kim and David Carrington Information Technology and Electrical Engineering The University of Queensland, St. Lucia,

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

Modelling and Verifying of e-commerce Systems

Modelling and Verifying of e-commerce Systems Modelling and Verifying of e-commerce Systems Andreas Speck Friedrich-Schiller-University Jena Department of Economics Integrated Application Systems Group andreas.speck@uni-jena.de www.wiwi.uni-jena.de/wi2/

More information

SOFTWARE QUALITY ASSURANCE TOOLS & TECHNOLOGY PROFESSIONAL SERVICES ACADEMY. Feature Brief. Wrapping

SOFTWARE QUALITY ASSURANCE TOOLS & TECHNOLOGY PROFESSIONAL SERVICES ACADEMY. Feature Brief. Wrapping SOFTWARE QUALITY ASSURANCE TOOLS & TECHNOLOGY PROFESSIONAL SERVICES ACADEMY P a g e 1 Feature Brief Wrapping Cantata provides a full and unique suite of intelligent testing capabilities accelerating unit

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information

MODEL-DRIVEN DEVELOPMENT OF COMMAND AND CONTROL CAPABILITIES FOR JOINT AND COALITION WARFARE

MODEL-DRIVEN DEVELOPMENT OF COMMAND AND CONTROL CAPABILITIES FOR JOINT AND COALITION WARFARE 9 TH International Command and Control Research & Technology Symposium MODEL-DRIVEN DEVELOPMENT OF COMMAND AND CONTROL CAPABILITIES FOR JOINT AND COALITION WARFARE Robert Jacobs Computer Systems Center

More information

Generation Rules in POMA Architecture

Generation Rules in POMA Architecture J. Software Engineering & Applications, 2010, 3, 1040-1046 doi:10.4236/jsea.2010.311122 Published Online November 2010 (http://www.scirp.org/journal/jsea) Mohamed Taleb 1, Ahmed Seffah 2, Alain Abran 1

More information

A Generic Framework for Realizing Semantic Model Differencing Operators

A Generic Framework for Realizing Semantic Model Differencing Operators A Generic Framework for Realizing Semantic Model Differencing Operators Philip Langer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Vienna, Austria {langer,mayerhofer,gerti}@big.tuwien.ac.at

More information

Java Modelling Language (JML) References

Java Modelling Language (JML) References Java Modelling Language (JML) References G. T. Leavens and Y. Cheon. Design by Contract with JML, August 2005. L. Burdy, Y. Cheon, D. Cok, M. Ernst, J. Kiniry, G. T. Leavens, K. R. M. Leino, and E. Poll.

More information

Index. business modeling syntax 181 business process modeling 57 business rule 40

Index. business modeling syntax 181 business process modeling 57 business rule 40 OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

Towards xmof: Executable DSMLs based on fuml

Towards xmof: Executable DSMLs based on fuml Towards xmof: Executable DSMLs based on fuml Tanja Mayerhofer Vienna University of Technology, Austria mayerhofer@big.tuwien.ac.at Philip Langer Vienna University of Technology, Austria langer@big.tuwien.ac.at

More information

Towards xmof: Executable DSMLs based on fuml www.modelexecution.org Tanja Mayerhofer, Philip Langer, Manuel Wimmer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna

More information

SPIN s Promela to Java Compiler, with help from Stratego

SPIN s Promela to Java Compiler, with help from Stratego SPIN s Promela to Java Compiler, with help from Stratego Master s Thesis Edwin Vielvoije SPIN s Promela to Java Compiler, with help from Stratego THESIS submitted in partial fulfillment of the requirements

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

First Steps Towards Conceptual Schema Testing

First Steps Towards Conceptual Schema Testing First Steps Towards Conceptual Schema Testing Albert Tort and Antoni Olivé Universitat Politècnica de Catalunya {atort,olive}@lsi.upc.edu Abstract. Like any software artifact, conceptual schemas of information

More information

Managing test suites for services

Managing test suites for services Managing test suites for services Kathrin Kaschner Universität Rostock, Institut für Informatik, 18051 Rostock, Germany kathrin.kaschner@uni-rostock.de Abstract. When developing an existing service further,

More information

Proceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006)

Proceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006) Electronic Communications of the EASST Volume 1 (2006) Proceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006) Specifying Distributed Graph Transformation Systems Ulrike Ranger,

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

Research Article Formalizing Semantics for UML Activity Diagram through Regular Expression Translation

Research Article Formalizing Semantics for UML Activity Diagram through Regular Expression Translation Research Journal of Applied Sciences, Engineering and Technology 11(2): 169-175, 2015 DOI: 10.19026/rjaset.11.1704 ISSN: 2040-7459; e-issn: 2040-7467 2015 Maxwell Scientific Publication Corp. Submitted:

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

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

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile

More information

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY AFRL-IF-RS-TR-2002-61 Final Technical Report April 2002 COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY Kestrel Institute Sponsored by Defense Advanced Research Projects Agency DARPA Order

More information

Web Engineering. Winter Term 2006/07 Prof. Dr. Gregor Engels. Chapter II: Modeling of Web Applications Part 2

Web Engineering. Winter Term 2006/07 Prof. Dr. Gregor Engels. Chapter II: Modeling of Web Applications Part 2 Web Engineering Winter Term 2006/07 Prof. Dr. Gregor Engels Chapter II: Modeling of Web Applications Part 2 Acknowledgements Dr. Nora Koch, LMU München http://www.pst.informatik.uni-muenchen.de/~kochn/index.html

More information

Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study

Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study Model Refactoring in Eclipse by LTK, EWL, and EMF Refactor: A Case Study Thorsten Arendt 1, Florian Mantz 1, Lars Schneider 2, Gabriele Taentzer 1 1 Philipps-Universität Marburg, Germany, FB 12 - Mathematics

More information

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches Electronic Notes in Theoretical Computer Science 72 No. 3 (2003) URL: http://www.elsevier.nl/locate/entcs/volume72.html 11 pages Exploiting Visual Languages Generation and UML Meta Modeling to Construct

More information

Adapting FUJABA for Building a Meta Modelling Framework

Adapting FUJABA for Building a Meta Modelling Framework Adapting FUJABA for Building a Meta Modelling Framework Carsten Amelunxen, Alexander Königs, Tobias Rötschke, Andy Schürr Technische Univeristät Darmstadt Institut für Datentechnik, FG Echtzeitsysteme

More information

Transformational pattern system - some assembly required

Transformational pattern system - some assembly required GT-VMT 2006 Transformational pattern system - some assembly required Mika Siikarla 1 and Tarja Systä 2 Institute of Software Systems Tampere University of Technology Tampere, Finland Abstract In the context

More information

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications Hartmut Ehrig 1, Claudia Ermel 1 and Gabriele Taentzer 2 1 Technische Universität Berlin, Germany

More information

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Design by Contract Design by Contract and the language that implements the Design by Contract principles

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

Modelling and verification of BPEL business processes

Modelling and verification of BPEL business processes Modelling and verification of BPEL business processes Marina Mongiello Dipartimento di Elettronica ed Elettrotecnica Politecnico di Bari, Italy mongiello@poliba.it Daniela Castelluccia Dipartimento di

More information

MDA and Integration of Legacy Systems: An Industrial Case Study

MDA and Integration of Legacy Systems: An Industrial Case Study MDA and Integration of Legacy Systems: An Industrial Case Study Parastoo Mohagheghi 1, Jan Pettersen Nytun 2, Selo 2, Warsun Najib 2 1 Ericson Norway-Grimstad, Postuttak, N-4898, Grimstad, Norway 1 Department

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

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

MERGING BUSINESS VOCABULARIES AND RULES

MERGING BUSINESS VOCABULARIES AND RULES MERGING BUSINESS VOCABULARIES AND RULES Edvinas Sinkevicius Departament of Information Systems Centre of Information System Design Technologies, Kaunas University of Lina Nemuraite Departament of Information

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

Two hours. Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Two hours. Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Two hours Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Agile Software Engineering Date: Monday 17th January 2011 Time: 09:45-11:45 Please answer

More information

Formale Entwicklung objektorientierter Software

Formale Entwicklung objektorientierter Software Formale Entwicklung objektorientierter Software Praktikum im Wintersemester 2008/2009 Prof. P. H. Schmitt Christian Engel, Benjamin Weiß Institut für Theoretische Informatik Universität Karlsruhe 5. November

More information

Incremental Reasoning for Multiple Inheritance

Incremental Reasoning for Multiple Inheritance Incremental Reasoning for Multiple Inheritance Johan Dovland and Einar Broch Johnsen Olaf Owe and Martin Steffen Institutt for Informatikk Universitet i Oslo ifm, Düsseldorf 17. February 2009 Context Late

More information

CMSC 132: Object-Oriented Programming II

CMSC 132: Object-Oriented Programming II CMSC 132: Object-Oriented Programming II Object-Oriented Programming Intro Department of Computer Science University of Maryland, College Park Object-Oriented Programming (OOP) Approach to improving software

More information