0% found this document useful (0 votes)
7 views11 pages

Activity Diagram Fundamentals and Concepts

chapter 8

Uploaded by

huynhanthuan0812
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views11 pages

Activity Diagram Fundamentals and Concepts

chapter 8

Uploaded by

huynhanthuan0812
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

2/5/2023

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

2
1

Introduction Activity

 Focus of activity diagram: procedural processing aspects  Specification of user-defined behavior at different levels of granularity
 Flow-oriented language concepts (các khái niệm về ngôn ngữ hướng  Examples:
luồng)  Definition of the behavior of an operation in the form of individual
 Based on instructions
 languages for defining business processes (ngôn ngữ để định nghĩa tiến  Modeling the course of actions of a use case
trình kinh doanh)  Modeling the functions of a business process
 established concepts for describing concurrent communicating processes  An activity is a directed graph Output
(các khái niệm để mô tả tiến trình giao tiếp đồng thời)  Nodes: actions and activities parameter
 Concepts and notation variants cover broad area of applications (khái  Edges: for control and object flow
niệm và ký hiệu bao gồm nhiều lĩnh vực ứng dụng khác nhau)  Control flow and object flow define
 Modeling of object-oriented and non-object-oriented systems the execution
Input
 Optional:
parameter
 Parameter
 Pre- and postconditions

Node Edge
3 4

1
2/5/2023

Action Edges

 Basic element to specify user-defined behavior  Connect activities and actions to one another
 Atomic but can be aborted  Express the execution order
 No specific rules for the description of an action  Types
Definition in natural language or in any programming language  Control flow edges
 Define the order between nodes Control flow
 Process input values to produce output values
 Object flow edges
 Special notation for predefined types of actions, most importantly
 Used to exchange data or objects
 Event-based actions
 Express a data/causal dependency between nodes
 Call behavior actions
 Guard (condition)
 Control and object flow only continue if
guards in square brackets Object flow
evaluate to true

5 6

Token Beginning and Termination of Activities

 Virtual coordination mechanism that describes the execution exactly  Initial node
 No physical component of the diagram  Starts the execution of an activity
 Mechanism that grants the execution permission to actions  Provides tokens at all outgoing edges
 Keeps tokens until the successive nodes accept them
 Multiple initial nodes to model concurrency
 If an action receives a token, the action can be executed  Activity final node
 When the action has completed, it passes the token to a subsequent  Ends all flows of an activity
action and the execution of this action is triggered  First token that reaches the activity final node terminates the entire activity
 Guards can prevent the passing of a token  Concurrent subpaths included
 Tokens are stored in previous node  Other control and object tokens are deleted
 Exception: object tokens that are already present at the output parameters of the
activity
 Control token and object token  Flow final node
 Control token: “execution permission" for a node  Ends one execution path of an activity
 Object token: transport data + “execution permission”  All other tokens of the activity remain unaffected

7 8

2
2/5/2023

Alternative Paths – Decision Node Alternative Paths – Merge Node

 To define alternative branches  To bring alternative subpaths together


 „Switch point“ for tokens  Passes token to the next node
 Outgoing edges have guards
 Syntax: [Boolean expression]  Combined decision and merge node
 Token takes one branch
 Guards must be mutually exclusive
 Predefined: [else]
 Decision behavior  Decision and merge nodes can also be used to model loops:
 Specify behavior that is necessary for the evaluation of the guards
 Execution must not have side effects

9 10

Example: Alternative Paths Concurrent Paths – Parallelization Node

 To split path into concurrent subpaths


 Duplicates token for all outgoing edges

 Example:

11 12

3
2/5/2023

Concurrent Paths – Synchronization Node Example: Equivalent Control Flow

 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: … equivalent to …

13 14

Example: Create and Send Invitations to a Meeting Example: Conduct Lecture (Student Perspective)

 While invitations are printed, already printed invitations are addressed.


 When all invitations are addressed, then the invitations are sent.

NOT equivalent … why?

15 16

4
2/5/2023

Example: Token (Control Flow) Object Node


x x  Contains object tokens
x x x x x x x
 Represents the exchange of data/objects
x x
 Is the source and target of an object flow edge
 Optional information: type, state
x x x
x
End !
x x
x x
 Notation variant: object node as parameter
… all outgoing edges of all initial nodes are assigned a token….  For activities
… if all incoming edges of an action have a token, the action is activated and is ready for execution Input Output
… before the execution, the action consumes one token from every incoming edge; parameter parameter
after the execution, the action passes one token to every outgoing edge
… a decision node passes the token to one outgoing edge (depending on the result of the
evaluation of the guard)
… a merge node individually passes each token it gets to its outgoing edge
 For actions (“pins”)
… a parallelization node duplicates an incoming token for all outgoing edges
… a synchronization node waits until all incoming edges have a token, merges them to a single
token and passes it to its outgoing edge
… the first token that reaches the activity final node terminates the entire activity
17 18

Example: Object Node 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

19 20

5
2/5/2023

Data Store Weight of Edges

 For saving and passing on object tokens  Minimal number of tokens that must be present for an action to be
 Permanent memory executed
 Saves object tokens permanently, passes copies to other nodes  Default: 1
 All tokens present have to be consumed: 0 (also all or *)

21 22

Connector Event-Based Actions

 Used if two consecutive actions are far apart in the diagram  To send signals
 Send signal action
 Without connector:

 To accept events
 With connector  Accept event action

 Accept time event action

23 24

6
2/5/2023

Example: Accept Event Action 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

25 26

Partition Example: Partitions

 “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)

27 28

7
2/5/2023

Multidimensional Partitions Example: Issue Student ID on Paper (1/2)

 Graphical notation … or alternatively textual notation  State machine diagram of Student ID:

 Activity diagram – control flow:

29 30

Example: Issue Student ID on Paper (2/2) Exception Handling – Exception Handler

 Control flow (green) and object flow (red) in one activity diagram  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

31 32

8
2/5/2023

Example: Exception Handler 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!

33 34

Example: Interruptible Activity Region Notation Elements (1/5)

Name Notation Description


Represents an action (atomic!)
Action node

Represents an activity (can be


Activity node
broken down further)

Start of the execution of an


Initial node
activity

Activity final End of ALL execution paths of an


node activity

35 36

9
2/5/2023

Notation Elements (2/5) Notation Elements (3/5)

Name Notation Description Name Notation Description

Decision node Splitting of one execution path End of ONE execution path of an
into alternative execution paths Flow final node
activity

Merging of alternative execution


Merge node Connection between the nodes of
paths into one execution path Edge
an activity

Parallelization Splitting of one execution path Call behavior Action A refers to an activity of
node into concurrent execution paths action the same name

Synchronization Merging of concurrent execution


node paths into one execution path
Grouping of nodes and edges
Partition
within an activity

37 38

Notation Elements (4/5) Notation Elements (5/5)

Name Notation Description Name Notation Description


Send signal Transmission of a signal to a
action receiver Exception handler is executed
Exception
instead of the action in the event
Handler
of an error e
Asynchronous Wait for an event E or a time
accept (timing)
event T
event action

Interruptible Flow continues on a different


Object node Contains data or objects activity region path if event E is detected

Parameter for
activities
Contains data and objects as input
Parameter for and output parameters
actions (pins)

39 40

10
2/5/2023

41

11

You might also like