Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,

Slides:



Advertisements
Similar presentations
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 6 State Machine and Activity Diagrams (Based on Stevens and Pooley (2006,
Advertisements

UML State chart/machine diagram State machine diagram is a behavior diagram which shows discrete behavior of a part of designed system through finite state.
Activity Diagrams. Recap Activity Diagrams – When to use? – Where? – Nodes – Edges – More to come …. 2.
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
1 Introduction to modeling Process modelling. 2 Where are we? #TitleDate 1Introduction ORM modeling Relational modeling
Information System Design IT60105
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
1 Activity diagrams in UML 2.0 Debenedetti Emanuele.
Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
UML Activity Diagrams In UML an activity diagram is used to display the sequence of actions They show the workflow from start to finish Detail the many.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
1 CS 426 Senior Projects Chapter 14: Activity Diagrams [Arlow and Neustadt, 2005] February 17, 2009.
1999 – 2006 M.E. Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
SE-565 Software System Requirements More UML Diagrams.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Software Design Processes and Management
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Software Engineering EKT 420. What is Activity Diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions.
Interaction Modeling. Sequence Models  There are two kinds of sequence models: scenarios and sequence diagrams  A scenario is a sequence of events that.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
מידול התנהגותי 1. Today’s Session Sequence Diagrams State Machines 2.
UML A CTIVITY D IAGRAMS 1 Dr. Hoang Huu Hanh, OST – Hue University hanh-at-hueuni.edu.vn.
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Object-Oriented Modeling
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
Valdis Vitolins, Audris Kalnins, EDOC 2005 Semantics of UML 2.0 Activity Diagram for Business Modeling by Means of Virtual Machine.
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
1 Modeling interactions and behavior Lecturer Dr. Mai Fadel.
Conceptual Modelling – Behaviour
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
February 20, 2012  Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department,
Activity diagrams. Introduction ● Activity diagrams are a behavioural model that represent the dynamics of the system. ● An activity diagram is essentially.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Interaction and Communication Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Information System Design IT60105
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
Chapter 11 Activity Diagrams. 2 “Activity diagrams are a technique to describe procedural logic, business processes, and work flows” - M. Fowler An activity.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part VI: Design Continuous Activity Diagams State Diagrams.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
CS3773 Software Engineering Lecture 06 UML State Machines.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Chapter 14: Activity Diagrams November 2015 [Arlow and Neustadt, 2005] CS 425/625 Senior Projects University of Nevada, Reno Department of Computer Science.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.
UML ACTIVITY DIAGRAM 1. Recap Formal Use Case diagram UML notation for use cases Examples 2.
1 Chapter 11 Global Properties (Distributed Termination)
® IBM Software Group © 2010 IBM Corporation IBM Rational Rhapsody Advanced Systems Training v7.5 Advanced Activity Modeling.
Activity Diagrams. Notation Activity1()cActivity2() 1. Activities 2. Transition.
UML (Unified Modeling Language)
Sequence diagrams Lecture 5. Main terms  Interaction  Life line  Activation  Executable behavior and derived behavior  Messages  Trajectory  Frame.
Cliquez pour modifier le style du titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Chapter 4: Business Process and Functional Modeling, continued
Activity Diagram.
Activity and State Transition Diagram
Activity Diagram.
Visit for more Learning Resources
State Machine Diagrams
Activity Diagrams Activity diagrams describe the workflow behavior of a system.  The diagrams describe the state of activities by showing the sequence.
UML Activity Diagrams.
UML Activity Diagrams & State Charts
Chapter 14: Activity Diagrams
BPMN - Business Process Modeling Notations
Chapter 14: Activity Diagrams
Chapter 14: Activity Diagrams
Object-Oriented Analysis & Design
Product Training Program
Presentation transcript:

Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna, Austria phone: +43 (1) (secretary), fax: +43 (1) Object-Oriented Modeling Activity Diagram Slides accompanying Version 1.0

© BIG / TU Wien Literature  The lecture is based on the following book:  Use Case Diagram  Structure Modeling  State Machine Diagram  Sequence Diagram  Activity Diagram Classroom: An Introduction to Object-Oriented Modeling Martina Seidl, Marion Scholz, Christian Huemer and Gerti Kappel Springer Publishing, 2015 ISBN

© BIG / TU Wien Content  Introduction  Activities  Actions  Edges  Control flow  Object flow  Initial node, activity final node, flow final node  Alternative paths  Concurrent paths  Object nodes  Event-based actions and call behavior actions  Partitions  Exception handling 3

© BIG / TU Wien Introduction  Focus of activity diagram: procedural processing aspects  Flow-oriented language concepts  Based on  languages for defining business processes  established concepts for describing concurrent communicating processes (token concept as found in petri nets)  Concepts and notation variants cover broad area of applications  Modeling of object-oriented and non-object-oriented systems 4

Activity  Specification of user-defined behavior at different levels of granularity  Examples:  Definition of the behavior of an operation in the form of individual instructions  Modeling the course of actions of a use case  Modeling the functions of a business process  An activity is a directed graph  Nodes: actions and activities  Edges: for control and object flow  Control flow and object flow define the execution  Optional:  Parameter  Pre- and postconditions Input parameter NodeEdge Output parameter 5

© BIG / TU Wien Action  Basic element to specify user-defined behavior  Atomic but can be aborted  No specific rules for the description of an action  Definition in natural language or in any programming language  Process input values to produce output values  Special notation for predefined types of actions, most importantly  Event-based actions  Call behavior actions 6

© BIG / TU Wien  Connect activities and actions to one another  Express the execution order  Types  Control flow edges  Define the order between nodes  Object flow edges  Used to exchange data or objects  Express a data/causal dependency between nodes  Guard (condition)  Control and object flow only continue if guards in square brackets evaluate to true Edges Object flow Control flow 7

© BIG / TU Wien Token  Virtual coordination mechanism that describes the execution exactly  No physical component of the diagram  Mechanism that grants the execution permission to actions  If an action receives a token, the action can be executed  When the action has completed, it passes the token to a subsequent action and the execution of this action is triggered  Guards can prevent the passing of a token  Tokens are stored in previous node  Control token and object token  Control token: “execution permission" for a node  Object token: transport data + “execution permission” 8

© BIG / TU Wien Beginning and Termination of Activities  Initial node  Starts the execution of an activity  Provides tokens at all outgoing edges  Keeps tokens until the successive nodes accept them  Multiple initial nodes to model concurrency  Activity final node  Ends all flows of an activity  First token that reaches the activity final node terminates the entire activity  Concurrent subpaths included  Other control and object tokens are deleted  Exception: object tokens that are already present at the output parameters of the activity  Flow final node  Ends one execution path of an activity  All other tokens of the activity remain unaffected 9

© BIG / TU Wien Alternative Paths – Decision Node  To define alternative branches  „Switch point“ for tokens  Outgoing edges have guards  Syntax: [Boolean expression]  Token takes one branch  Guards must be mutually exclusive  Predefined: [else]  Decision behavior  Specify behavior that is necessary for the evaluation of the guards  Execution must not have side effects 10

© BIG / TU Wien Alternative Paths – Merge Node  To bring alternative subpaths together  Passes token to the next node  Combined decision and merge node  Decision and merge nodes can also be used to model loops: 11

© BIG / TU Wien Example: Alternative Paths 12

© BIG / TU Wien Concurrent Paths – Parallelization Node  To split path into concurrent subpaths  Duplicates token for all outgoing edges  Example: 13

© BIG / TU Wien Concurrent Paths – Synchronization Node  To merge concurrent subpaths  Token processing  Waits until tokens are present at all incoming edges  Merges all control tokens into one token and passes it on  Passes on all object tokens  Combined parallelization and synchronization node: 14

© BIG / TU Wien Example: Equivalent Control Flow … equivalent to … 15

© BIG / TU Wien Example: Create and Send Invitations to a Meeting  While invitations are printed, already printed invitations are addressed.  When all invitations are addressed, then the invitations are sent. 16

Example: Conduct Lecture (Student Perspective) 17 NOT equivalent … why?

… the first token that reaches the activity final node terminates the entire activity … a parallelization node duplicates an incoming token for all outgoing edges … a decision node passes the token to one outgoing edge (depending on the result of the evaluation of the guard) … if all incoming edges of an action have a token, the action is activated and is ready for execution … all outgoing edges of all initial nodes are assigned a token…. … a merge node individually passes each token it gets to its outgoing edge … a synchronization node waits until all incoming edges have a token, merges them to a single token and passes it to its outgoing edge … before the execution, the action consumes one token from every incoming edge; after the execution, the action passes one token to every outgoing edge Example: Token (Control Flow) x x x x x x x x x x x x x x x x x End ! x x 18

 Contains object tokens  Represents the exchange of data/objects  Is the source and target of an object flow edge  Optional information: type, state  Notation variant: object node as parameter  For activities  For actions (“pins”) Object Node Input parameter Output parameter 19

© BIG / TU Wien Example: Object Node 20

© BIG / TU Wien Central Buffer  For saving and passing on object tokens  Transient memory  Accepts incoming object tokens from object nodes and passes them on to other object nodes  When an object token is read from the central buffer, it is deleted from the central buffer and cannot be consumed again 21

© BIG / TU Wien Data Store  For saving and passing on object tokens  Permanent memory  Saves object tokens permanently, passes copies to other nodes 22

© BIG / TU Wien Weight of Edges  Minimal number of tokens that must be present for an action to be executed  Default: 1  All tokens present have to be consumed: 0 (also all or *) 23

© BIG / TU Wien Connector  Used if two consecutive actions are far apart in the diagram  Without connector:  With connector 24

Event-Based Actions  To send signals  Send signal action  To accept events  Accept event action  Accept time event action 25

© BIG / TU Wien Example: Accept Event Action 26

© BIG / TU Wien Call Behavior Action  The execution of an action can call an activity  Content of the called activity can be modeled elsewhere  Advantages:  Model becomes clearer  Reusability Name of the called activity Inverted fork symbol 27

© BIG / TU Wien Partition  “Swimlane”  Graphically or textual  Allows the grouping of nodes and edges of an activity due to responsibilities  Responsibilities reflect organizational units or roles  Makes the diagram more structured  Does not change the execution semantics  Example: partitions Student and Institute Employee (with subpartitions Professor and Secretary) 28

© BIG / TU Wien Example: Partitions 29

© BIG / TU Wien Multidimensional Partitions  Graphical notation … or alternatively textual notation 30

Example: Issue Student ID on Paper (1/2)  State machine diagram of Student ID:  Activity diagram – control flow: 31

Example: Issue Student ID on Paper (2/2)  Control flow (green) and object flow (red) in one activity diagram 32

© BIG / TU Wien Exception Handling – Exception Handler  Predefined exceptions  Defining how the system has to react in a specific error situation  The exception handler replaces the action where the error occurred  If the error e occurs…  All tokens in Action A are deleted  The exception handler is activated  The exception handler is executed instead of Action A  Execution then continues regularly 33

Example: Exception Handler 34

© BIG / TU Wien Exception Handling– Interruptible Activity Region  Defining a group of actions whose execution is to be terminated immediately if a specific event occurs. In that case, some other behavior is executed  If E occurs while B or C are executed  Exception handling is activated  All control tokens within the dashed rectangle (= within B and C) are deleted  D is activated and executed  No “jumping back” to the regular execution! 35

© BIG / TU Wien Example: Interruptible Activity Region 36

© BIG / TU Wien NameNotationDescription Action node Activity node Represents an action (atomic!) Represents an activity (can be broken down further) Initial node Start of the execution of an activity Activity final node End of ALL execution paths of an activity Notation Elements (1/5) 37

© BIG / TU Wien Notation Elements (2/5) NameNotationDescription Decision node Merge node Splitting of one execution path into alternative execution paths Merging of alternative execution paths into one execution path Parallelization node Synchronization node Splitting of one execution path into concurrent execution paths Merging of concurrent execution paths into one execution path 38

© BIG / TU Wien NameNotationDescription Flow final node End of ONE execution path of an activity Edge Connection between the nodes of an activity Call behavior action Action A refers to an activity of the same name Partition Grouping of nodes and edges within an activity Notation Elements (3/5) 39

© BIG / TU Wien Notation Elements (4/5) NameNotationDescription Send signal action Transmission of a signal to a receiver Asynchronous accept (timing) event action Wait for an event E or a time event T Object nodeContains data or objects Parameter for activities Parameter for actions (pins) Contains data and objects as input and output parameters 40

© BIG / TU Wien Notation Elements (5/5) NameNotationDescription Exception Handler Exception handler is executed instead of the action in the event of an error e Interruptible activity region Flow continues on a different path if event E is detected 41