Professional Documents
Culture Documents
0
(for SEG seminar)
Tian Zhang
Nanjing University,China
October 2005
Outline
Part I :
Background
Process of UML 2.0 adoption
Part II:
Part I
1.
2.
4.
6.
OMG2000UML2.0
3.
5.
OMG1999UML
26
10Superstructure
Diagram Interchange
Infrastructure
OCL
(InfrastructureLibrary)
UML
MOFCWM
UMLMOFCWM
Infrastructure
EJBCOM+
MDA
UML1.x
10
11
Part II
12
Part I: Structure
Classes
Components
Composite Structures
Deployments
Actions
Activities
Common Behaviors
Interactions
State Machines
Use Cases
3.
Auxiliary Constructs
Profiles
Part IV Annexes
1. UML Summary
2. UML Semantics
A - Diagrams
B - UML Keywords
C - Standard Stereotypes
Part 1 - Background
Part 2 - Foundation
Part 3 - Behavioral Elements
Part 4 - General Mechanisms
Part 5 - Actions
13
Language Units
14
Compliance Levels
15
UML1.xUML 2.0
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Activity Diagram
Communication Diagram
Interaction Overview Diagram
State Machine Diagram
Sequence Diagram
Timing Diagram
Use Case Diagram
16
17
(Collaboration Diagrams)
(Communication Diagrams)
(Statechart Diagrams)
(State Machine Diagrams)1.x
18
Structure Diagram
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Behavior Diagram
Activity Diagram
Use Case Diagram
State Machine Diagram
Communication Diagram
Sequence Diagram
Interaction Overview Diagram
Timing Diagram
Tian Zhang @ Nanjing University
19
Part
Connector
Port
20
Example 1 TV (1)
21
Example 1 TV (2)
TV
22
Example 1 TV (3)
23
24
Structure Diagram
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Behavior Diagram
Activity Diagram
Use Case Diagram
State Machine Diagram
Communication Diagram
Sequence Diagram
Interaction Overview Diagram
Timing Diagram
Tian Zhang @ Nanjing University
25
Package Diagrams
System::Date
Subsystem::Util::Date
26
27
Implementing Packages
28
Implementing Packages
This is an example of
the pattern Separated
Interface.
29
Structure Diagram
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Behavior Diagram
Activity Diagram
Use Case Diagram
State Machine Diagram
Communication Diagram
Sequence Diagram
Interaction Overview Diagram
Timing Diagram
Tian Zhang @ Nanjing University
30
Behavior Diagrams
Part II: Behavior
11. Actions
12. Activities
13. Common Behaviors
14. Interactions
15. State Machines
16. Use Cases
31
32
Structure Diagram
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Behavior Diagram
Activity Diagram
Use Case Diagram
State Machine Diagram
Communication Diagram
Sequence Diagram
Interaction Overview Diagram
Timing Diagram
Tian Zhang @ Nanjing University
33
Activity Diagrams
34
Activity Modeling
Computational
Business
Physical
Systems
Requirements
35
Action/Activity Integration
36
Action/Activity Example
update_account
Amount
Deposit
Account
+
Set
Balance
Get
Balance
Send
Notice
Get
Customer
37
Change Highlights
Queuing:
Machine
Part
Polish Part
Package Part
Tokens can
{stream}
38
Change Highlights
Z
Y
Z
X
Trace:
A, B||X, C||Y, Z
39
Change Highlights
Z
Y
Z
X
Trace:
A,
(B,C)
|| (X,Y)
,Z
40
Change Highlights
C
Z
Trace:
A,
(B,C) , Z
|| (X,Y)
|| N
41
Decomposing an Action
42
43
Partitions
44
Signals
45
46
47
Tokens
48
The simplest kind of edge is the simple arrow between two actions
49
Expansion Regions
50
Change Summary
51
52
Structure Diagram
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Behavior Diagram
Activity Diagram
Use Case Diagram
State Machine Diagram
Communication Diagram
Sequence Diagram
Interaction Overview Diagram
Timing Diagram
Tian Zhang @ Nanjing University
53
(Interaction occurrence)
(Combined fragment)
(Lifeline)(Decomposition)
54
55
56
57
Part decomposition
58
Part Decomposition
To hide information, a
lifeline can be subdivided
into more detailed
sequences
sd Decomposition
:Detector
create
:Controller
sd Overview
Insert(coin)
:User
ValidateCoin()
:VendingMachine
ref Decomposition
RejectCoin()
Insert(coin)
RejectCoin()
59
Referencing Sequences
To avoid unnecessary
duplication, it is possible
to refer to already existing
sequence diagrams
sd BuyScenario
:User
:VendingMachine
ref
ChooseProduct
Display(price)
ref
ValidateCoin
60
Organizing Sequences
It is possible to organize
sequence diagrams into
flows to indicate how they
fit together
sd Overview
Interaction Overview
diagram = interaction
diagram + activity diagram
combine interactions in
different ways to create
new scenarios
ref
ref
[price=0]
ref
Initiate
ValidateCoin
[else]
DispenseProduct
61
Operator
Meaning
alt
opt
par
loop
Loop; the fragment may execute multiple times, and the guard
indicates the basis of iteration.
region
Critical region; the fragment can have only one thread executing it
at once.
neg
ref
sd
62
Structure Diagram
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Behavior Diagram
Activity Diagram
Use Case Diagram
State Machine Diagram
Communication Diagram
Sequence Diagram
Interaction Overview Diagram
Timing Diagram
Tian Zhang @ Nanjing University
63
64
Martin Fowler:
I'm not keen on them,
as I think that they mix
two styles that don't
really mix that well.
65
ref
Authorization
Interaction Occurrence
ref
FindLocation
sd
:ServiceUser
:ServiceBase
SetHome
Expanded sequence
diagram
sd
:ServiceUser
:ServiceBase
SetInvocationTime
SetTransportPreferences
66
Note That
(Interaction)
An Interaction diagram of any kind may appear inline as an
ActivityInvocation
67
Structure Diagram
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Behavior Diagram
Activity Diagram
Use Case Diagram
State Machine Diagram
Communication Diagram
Sequence Diagram
Interaction Overview Diagram
Timing Diagram
Tian Zhang @ Nanjing University
68
Communication Diagrams
Definition in Specification
69
70
71
Structure Diagram
Class Diagram
Composite Structure Diagram
Component Diagram
Deployment diagram
Object Diagram
Package Diagram
Behavior Diagram
Activity Diagram
Use Case Diagram
State Machine Diagram
Communication Diagram
Sequence Diagram
Interaction Overview Diagram
Timing Diagram
Tian Zhang @ Nanjing University
72
Timing Diagram
73
Duration
constraint
Lifeline
sd UserAcc_User
{d..3*d}
:User
WaitAccess
time
constraint
WaitCard
CardOut
Idle
Code
0
tick mark
values
OK {t..t+3}
t
event or
stimulus
timing
ruler
74
Description
Semantics
75
OccurrenceSpecification
Description
An OccurrenceSpecification is the basic semantic unit of Interactions. The sequences of occurrences specified by them are
the meanings of Interactions.
OccurrenceSpecifications are ordered along a Lifeline.
Semantics
76
State or
condition
Duration
constraint
77
Lifelines
Time Constraint
Message
Duration Observation
Time Observation
Tian Zhang @ Nanjing University
78
Notation
Reference
State or condition
timeline
General value
lifeline
Lifeline
79
Rules of time :
Pump
Hotplate
80
81
82
83
Thanks
84
Appendix 1
85
Appendix 2
OMG's Technology Adoption Process
1.
2.
3.
4.
5.
6.
86
Martin Flower
87
Actions
Activities
Interactions
State Machines
Use Cases
88
Actions
89
Actions (2)
90
MSC-2000
UML 2.0
Comments
MSC (Message
Sequence Chart)
Interaction diagrams
Event
EventOccurrence
Instance
Lifeline
Message
Message
Method call
Operation call
Action
ExecutionOccurrence
Gate
Gate
No direct
counterpart
Interaction fragment
Coregion
Coregion
In MSC this is a basic concept from 1992, but in UML 2.0 this is
only presented as a shorthand for the par-operator. No
semantic difference
Decomposition
PartDecomposition
MSC reference
Interaction
Occurrence