Inheritance of Dynamic Behavior in UML Wil van der Aalst Eindhoven University of Technology Department of Information and Technology P.O. Box 513, 5600.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
Engineering and Integrating Business Processes Rik Eshuis.
Deterministic Negotiations: Concurrency for Free Javier Esparza Technische Universität München Joint work with Jörg Desel and Philipp Hoffmann.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
Object-Oriented Analysis and Design
University of Minho School of Engineering Algoritmi Centre Uma Escola a Reinventar o Futuro – Semana da Escola de Engenharia - 24 a 27 de Outubro de 2011.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
CPN'021 Coloured Petri Nets in UML-Based SW Development – Designing Middleware for Pervasive Healthcare Jens Bæk Jørgensen Centre for Pervasive Computing.
Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.
1 Analysis of workflows a-priori and a-posteriori analysis Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department.
Unified Modeling (Part I) Overview of UML & Modeling
Business Alignment Using Process Mining as a Tool for Delta Analysis Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology Department of Information.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Discovering Coordination Patterns using Process Mining Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology Department of Information and Technology.
© Copyright Eliyahu Brutman Programming Techniques Course.
Itntroduction to UML, page 1 Introduction to UML.
Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Chapter 1: Introduction to Systems Analysis and Design
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
An Introduction to Petri Nets Marjan Sirjani Formal Methods Laboratory University of Tehran.
Information System Development Courses Figure: ISD Course Structure.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Lecture 18: Object-Oriented Design – Interaction and State Diagrams Anita S. Malik Adapted from Schach (2004) Chapter 12.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Inheritance in Petri Net Designs. Goals Subtyping - interface inheritance: Can the subclass use or conform to the interface of the superclass?). Projection.
Process Modeling
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Basic Characteristics of Object-Oriented Systems
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Chapter 1: Introduction to Systems Analysis and Design
Business System Development
Main issues: • What do we want to build • How do we write this down
Object-Oriented Modeling with UML
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Demeter Aspects Who We Are Aspectual Collaborations
Business System Development
UML Activity Diagrams & State Charts
Wil van der Aalst Eindhoven University of Technology
Chapter 20 Object-Oriented Analysis and Design
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Dynamic Modeling Lecture # 37.
Chapter 1: Introduction to Systems Analysis and Design
Business Alignment Using Process Mining as a Tool for Delta Analysis
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Inheritance of Dynamic Behavior in UML Wil van der Aalst Eindhoven University of Technology Department of Information and Technology P.O. Box 513, 5600 MB Eindhoven The Netherlands

Outline 1.Motivation 2.Inheritance of behavior 3.Inheritance preserving transformation rules 4.Inheritance of behavior in UML Sequence diagrams Statecharts diagrams Activity diagrams 5.Conclusion

Motivation UML has become the standard object-oriented framework. Inheritance is one of the cornerstones of object orientation UML has at least four diagrams focusing on dynamic behavior / process modeling. Yet inheritance is typically restricted to static aspects. Frustration: Our work (with Twan Basten and Eric Verbeek) on inheritance has not been adopted by people working on UML.

Approach [Engels et al. 2001] It is not our aim to provide formal semantics for UML. The mappings may be partial/abstractions. The intermediate domains are used for analysis purposes.

Inheritance of dynamic behavior When is a object life-cycle a subclass of another object life-cyle? Four notions of inheritance based on two orthogonal mechanisms. Blocking: If it is not possible to distinguish the behaviors of x and y when only methods of x that are also present in y are executed, then x is a subclass of y. (encapsulation) Hiding:If it is not possible to distinguish the behaviors of x and y when arbitrary methods of x are executed but when only the effects of methods that are also present in y are considered, then x is a subclass of y. (abstraction)

Four notions of inheritance Have been defined for the core semantic domain (labeled transition systems) and two intermediate semantic domains (Petri nets and ACP). We will illustrate the four notions of inheritance using the core semantic domain Protocol/ projection inheritance Life-cycle inheritance Protocol inheritance (blocking) Projection inheritance (hiding)

Superclass TS1

Subclass TS2 Blocking: If it is not possible to distinguish the behaviors of x and y when only methods of x that are also present in y are executed, then x is a subclass of y.

Subclass TS3 Hiding:If it is not possible to distinguish the behaviors of x and y when arbitrary methods of x are executed but when only the effects of methods that are also present in y are considered, then x is a subclass of y.

Subclass TS4

Subclass TS5

Inheritance preserving transformation rules Constructions which preserve one or more notions of inheritance, i.e., rules to transform a superclass into a subclass. The four basic rules PP, PT, PJ and PJ3 have been defined in both a Petri-net and a process-algebraic setting (i.e., both intermediate semantic domains considered). In this talk we show the rules in a Petri-net setting. The requirements for the rules can be checked locally. The transformation rules have been equipped with transfer rules to migrate objects from a superclass to a subclass and vice versa.

Transformation rule PP: adding loops

Transformation rule PT: adding alternatives

Transformation rule PJ: inserting steps

Transformation rule PJ3: add parallel behavior

Inheritance of behavior in UML The goal is to illustrate the four inheritance notions and the four transfer rules in the context of UML. The goal is NOT to provide a complete semantic mapping consistent with current standards. The four diagrams types that are relevant are: Sequence diagrams (Collaboration diagrams) Statecharts diagrams Activity diagrams

Sequence diagrams Constructs considered: lifelines, messages (communications of type procedure call, asynchronous and return), activation and concurrent branching. Not considered: more advanced constructs such as iteration, conditional and timed behavior. Semantic domains: TS and PN (marked graphs). Relevant notions of inheritance: projection inheritance. Relevant transformation rules: PJ, PJ3 and PP.

Example

Statechart diagrams Constructs considered: States, composite states, concurrent substates, transitions, compound transitions, etc. Not considered: data or time dependent behavior (e.g., abstraction from ECA rules). Semantic domains: TS, PA, and PN. Relevant notions of inheritance: all. Relevant transformation rules: all.

Example

Example (2)

Activity diagrams Constructs considered: States, action states, decision/merge nodes, fork/join nodes, etc. Not considered: data or time dependent behavior (e.g., abstraction from ECA rules). Semantic domains: TS, PA, and PN. Relevant notions of inheritance: all. Relevant transformation rules: all.

Example

Conclusion Four definitions of inheritance have been illustrated using the core semantic domain. Four transformation rules haven been illustrated using one of the intermediate semantic domains. To illustrate the applicability of these notions in the context of UML, examples have been given for sequence, statechart, and activity diagrams.

References 1. W.M.P. van der Aalst and T. Basten. Life-cycle Inheritance: A Petri-net-based Approach. In P. Az ´ ema and G. Balbo, editors, Application and Theory of Petri Nets 1997, volume 1248 of Lecture Notes in Computer Science, pages 62–81. Springer-Verlag, Berlin, W.M.P. van der Aalst and T. Basten. Identifying Commonalities and Differences in Object Life Cycles using Behavioral Inheritance. In J.M. Colom and M. Koutny, editors, Application and Theory of Petri Nets 2001, volume 2075 of Lecture Notes in Computer Science, pages 32–52. Springer-Verlag, Berlin, W.M.P. van der Aalst and T. Basten. Inheritance of Workflows: An Approach to Tackling Problems Related to Change. Theoretical Computer Science, 270(1-2):125–203, P. America. Designing an Object-Oriented Programming Language with Behavioral Sub-typing. In J.W. de Bakker, W.P. de Roever, and G. Rozenberg, editors, Foundation of Object-Oriented Languages, volume 489 of Lecture Notes in Computer Science, pages 60– 90. Springer-Verlag, Berlin, T. Basten. In Terms of Nets: System Design with Petri Nets and Process Algebra. PhD thesis, Eindhoven University of Technology, Eindhoven, The Netherlands, December T. Basten and W.M.P. van der Aalst. Inheritance of Behavior. Journal of Logic and Algebraic Programming, 47(2):47–145, 2001.

7. R. Breu, U. Hinkel, C. Hofmann, C. Klein, B. Paech, B. Rumpe, and V. Thurner. Towards a Precise Semantics for Object-Oriented Modeling Techniques. In M. Aksit and S. Matsuoka, editors, 11th European Conference on Object-Oriented Programming ECOOP’97, volume 1241 of Lecture Notes in Computer Science, pages 344–366. Springer-Verlag, Berlin, G. Engels, R. Heckel, and J.M. K¨ uster. Rule-Based Specification of Behavioral Consistency Based on the UML Meta-model. In M. Gogella and C. Kobryn, editors, 4th International Conference on The Unified Modeling Language (UML 2001), volume 2185 of Lecture Notes in Computer Science, pages 272–286. Springer-Verlag, Berlin, R. Eshuis and R. Wieringa. Comparing Petri Nets and Activity Diagram Variants for Work-flow Modelling- A Quest for Reactive Petri Nets. In H. Ehrig, W. Reisig, and G. Rozenberg, editors, Petri Net Technologies for Communication Based Systems, Lecture Notes in Com-puter Science. Springer-Verlag, Berlin, R.J. van Glabbeek. The Linear Time - Branching Time Spectrum II: The Semantics of Sequential Systems with Silent Moves. In E. Best, editor, Proceedings of CONCUR 1993, volume 715 of Lecture Notes in Computer Science, pages 66–81. Springer-Verlag, Berlin, Object Management Group. OMG Unified Modeling Language, Version 1.4. OMG,

12. Object Management Group. OMG Unified Modeling Language 2.0 Proposal, Re-vised submission to OMG RFPs ad/ and ad/ , Version OMG, D. Harel. Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming, 8:231–274, D. Harel and O. Kupferman. On the Behavioral Inheritance of State-Based Objects. Techni-cal Report MCS99-12, The Weizmann Institute of Science, Israel, G. Kappel and M. Schrefl. Inheritance of Object Behavior - Consistent Extension of Object Life Cycles. In J. Eder and L.A. Kalinichenko, editors, Proceedings of the Second Inter-national East/West Database Workshop (EWDW 1994), pages 289–300. Springer-Verlag, Berlin, E. Kindler, A. Martens, and W. Reisig. Inter-Operability of Workflow Applications: Local Criteria for Global Soundness. In W.M.P. van der Aalst, J. Desel, and A. Oberweis, editors, Business Process Management: Models, Techniques, and Empirical Studies, volume 1806 of Lecture Notes in Computer Science, pages 235–253. Springer-Verlag, Berlin, B. Liskov and J. Wing. A Behavioral Notion of Subtyping. ACM Transactions on Program-ming Languages and Systems, 16(6):1811–1841, November O. Nierstrasz. Regular Types for Active Objects. ACM Sigplan Notices, 28(10):1–15, Octo-ber Special issue containing the proceedings of the 8th. annual conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA’93, Washington DC, 1993.

20. E. Rudolph, J. Grabowski, and P. Graubmann. Tutorial on Message Sequence Charts. Com-puter Networks and ISDN Systems, 28(12):1629–1641, J. Rumbaugh, I. Jacobson, and G. Booch. The Unified Modeling Language Reference Man-ual. Addison Wesley, Reading, MA, USA, M. Schrefl and M. Stumptner. On the Design of Behavior Consistent Specialization of Object Life Cycles in OBD and UML. In M. Papazoglou, S. Spaccapietra, and Z. Tari, editors, Advances in Object-Oriented Data Modelling, pages 65–104. MIT Press, M. Stumptner and M. Schrefl. Behavior Consistent Inheritance in UML. In Alberto H. F. Laender et al. editor, Proceedings of the 19th International Conference on Conceptual Modeling (ER 2000), volume 1920 of Lecture Notes in Computer Science, pages 527–542. Springer-Verlag, Berlin, H.M.W. Verbeek, T. Basten, and W.M.P. van der Aalst. Diagnosing Workflow Processes using Woflan. The Computer Journal, 44(4):246–279, H. Wehrheim. Subtyping Patterns for Active Objects. In H. Giese and S. Philippi, editors, Proceedings 8ter Workshop des GI Arbeitskreises GROOM (Grundlagen objekt-orientierter Modellierung), volume 24/00, M¨ unster, Germany, University of M¨ unster. 26. R.J. Wieringa. Algebraic Foundations for Dynamic Conceptual Models. PhD thesis, Free University, Amsterdam, The Netherlands, 1990.

BPM 2003 INTERNATIONAL CONFERENCE ON BUSINESS PROCESS MANAGEMENT On the Application of Formal Methods to “Process-Aware” Information Systems Eindhoven, The Netherlands, June 26-27,