Title: SDL-2000 = SDL-96 UML -
1SDL-2000 SDL-96 UML -
UML Class diagrams State Machines Collaborations
Sequence diagrams Deployment ...
- New ITU-T SG10 recommendations, due November
1999 - SDL-2000 (Z.100)
- SDL combined with UML (SDL UML Profile - Z.109)
- MSC-2000 (Z.120)
2Using the UML SDL Profile . . .
- with stereotyped classes
- ... and associations, in this case specialisation
block AccessPoint
block BlockingAccessPoint
block LoggingAccessPoint
3. . .
- or with the graphical alternative to stereotypes
AccessPoint
LoggingAccessPoint
BlockingAccessPoint
4. . . part of the SDL model has been specified
5Including the type diagrams
block type AccessPoint
block type LoggingAccessPoint inherits
AccessPoint
block type BlockingAccessPoint inherits
AccessPoint
6Composition specified on types . . .
block AccessPoint
1
1
1
process Panel
process AccessPointController
process Door
OpenDoor()
7. . . is a partial description of this more
detailed SDL
a type composed from a structure of instances
with well defined interfaces
8Not only type references, but also partial type
definitions
block type
AccessPoint
C
Code
(Validity)
process
Controller
cur_panel Pid
cid int
PIN int
OpenDoor()
e
(
outp)
(
inp)
9Use dependencies between packages and systems
SignalLib
AccessPointLib
system
AccessControl
10The corresponding packagereference associated
with each diagram in SDL
system type AccessControl
(inp)
(outp)
(validity)
Code
c
e
ap(100) AccessPoint
d
(inp)
(outp)
(validity)
Code
c
e
bp(10) BlockingAccessPoint
d
(inp)
(outp)
(validity)
Code
c
e
lp(20) LoggingAccessPoint
d
11Composite states
- States with states and transitions, separate
state diagrams, entry/exit points - state overview diagrams
- state types and subtypes
- virtual states
- parameterized state types
- Combining
- State-orientation of Statecharts
- Transition-orientation of todays SDL
12UMLStatechart
VerifyCard
acceptCard(account)
ReadAmount
abort
SelectAmount
OutOfService
ReleaseCard
otherAmount
Amount (amount)
outOfService
abort
EnterAmount
ok
rejectTransaction
VerifyTransaction
13SDLCompositeStatesby means ofstate
references
process type ATM
VerifyCard
dcl account Account, amount Integer
acceptCard
(
account)
ReadAmount
outOfService
aborted
transaction
ejectCard
OutOfService
(account,amount)
VerifyTransaction
ReleaseCard
RejectTransaction
display
('Limit exceeded')
ReadAmount via reenter
14andSeparateStateDiagramswithentry/exit
points
state
ReadAmount
dcl nbr Integer
Display ('Select amount')
abort
SelectAmount
aborted
otherAmount
reenter
amount(amount)
Display ('Enter amount')
amount 0
reenter
EnterAmount
ok
- scalability
- encapsulation
aborted
digit(nbr)
amount amount 10 nbr
-
15State-boundary-crossing transitions
UML-like
SDL-like
ReadAmount
ReadAmount
EnterAmount
EnterAmount
tinner
t
Reject Transaction
touter
Reject Transaction
Verify Transaction
Verify Transaction
16Combines with existing mechanisms
State list All
states All states,
except
(ReadAmount)
outOfService
outOfService
outOfService
outOfService
17Internal transitions
state
ReadPIN
- using existing mechanisms of SDL
- state
- - nextstate
18State Overview Diagrams
process type
ATM
- Including only
- states,
- exits from states
- next states
- - details of transitions in separate diagrams
VerifyCard
notAccepted
ReadAmount
aborted
VerifyTransaction
ReleaseCard
19Detailed Transitions in State Diagrams
state
ReadAmount
state
VerifyCard
aborted
abort
ok
notOk
ok
notAccepted
notAccepted
aborted
20State types
in order to use the same composite state
definition in several situations. States can be
type-based.
process type
ATM
VerifyCard
notAccepted
Read ReadAmount
aborted
VerifyTransaction
ReleaseCard
21state type ReadAmount
state
VerifyCard
aborted
abort
ok
notOk
ok
notAccepted
aborted
notAccepted
22and state type inheritance
for any composite state type, not only the
topmost state
state ReadAmount
Enter() virtual Exit()
- State type may be a specialisation of supertype
by - inheriting states and transitions
- adding states and transitions
- redefining virtual procedures, among them enter
exit - redefining virtual states and virtual transitions
state HelpfulReadAmount
Enter() redefined Exit()
23State type inheritance
- As it is specified in the state type diagram
- in this case adding a help transtion to all
states within HelpfulReadAmount
state type HelpfulReadAmount inherits ReadAmount
24Virtual states
process type SimpleATM
VerifyCard
In order to specify which states can be redefined
in a specialization. A virtual state has a
constraint, an can only be redefined as an
extension of the constraint.
acceptCard (account)
virtual ReadAmount
virtual aborted
Transaction (account,amount)
VerifyTransaction
ReleaseCard
25The default constraint is the composite state
itself, so redefinitions give extensions of the
composite state.
virtual state ReadAmount
display
abort
('Select amount')
aborted
SelectAmount
aborted
amount(amount)
26Redefinition of a virtual state
process type ATM inherits SimpleATM
A redefined state is still virtual and can be
redefined in a specialization. Alternatively, a
finalized state is a redefinition that can not be
further redefined (like Javas final).
redefined ReadAmount
redefined aborted
ejectCard
ReleaseCard
27State diagram ofa redefined state
redefined state type ReadAmount
dcl nbr Integer
SelectAmount
otherAmount
display
These states and transitions are added to the
states and transitions of the virtual state.
('Enter amount')
EnterAmount
digit(nbr)
ok
amount
amount 10 nbr
-
28Object oriented data model
- object types - reference assignment
- value types - value assignment
- (virtual/redefined/finalised) operators and
methods - inheritance
- Makes SDL independent of implementation language
for data handling - Provides data modeling in the spirit of Java,
C, with UML-like graphics, SDL-like textual, -
and with SDL semantics
29Example - object types
object type Event struct day Day month Month
methods virtual possible -gt
Boolean endobject type object type
Appointment inherits Event fromTime, toTime
Time methods redefined possible endobject
type
30Example - value types
value type Time struct hour Natural minute
Natural endvalue type value type RealTime
inherits Time delay Natural endvalue type
31Data types also by means of class symbols
object
value
Time
Event
hour Natural
day Day
min Natural
month Month
possible( )
value
RealTime
object
delay Natural
Entry
fromTime Time
toTime Time
32Action language I
- Action language (textual) in task symbols and
procedures - C, Java like syntax, compounds, loop
constructs, etc. - Makes SDL independent of C and any implementation
language (a closed language)
dcl i1, i2 Integer i1 (x / 5) 1 i1 i1
2 ... ... ...
33ActionlanguageII
1(2)
state AccessPoint
dcl
cur_panel PId / current panel whose Code will
be validated /
dcl
cid, PIN integer / temporary variables for
the data attributes of 'Code' /
Validation
Idle
virtual
Code (cid,PIN)
NOK
OK
NOK
output OK to cur_panel output Open
cur_panel sender output Code(cid,PIN)
via U
to
cur_panel
Opening
Validation
Idle
34Agents
AccessPoint
- Agents
- the main objects of SDL-2000
- unifies system, block, process, service
- has either behaviour
- or agent structure
- or both
- Specified from the outside by means of interfaces
and gates
d
c
35 AccessPoint
d
e
C
36Actor behaviour as state
State AccessPoint
1(2)
dcl
cur_panel PId / current panel whose Code will
be validated /
dcl
cid, PIN integer / temporary variables for
the data attributes of 'Code' /
Idle
Validation
virtual
Code (cid,PIN)
NOK
OK
NOK
OK
cur_panel
to
cur_panel
to
cur_panel
sender
Open
Code(cid,PIN) via U
to
/ to Door /
Central
Opening
Idle
Validation
Code
opened,closed
(validity)
P
D
U
(validity)
Code
open,close
37Concurrent or alternating entities I
block type AccessPoint
signal opened,closed
signal open, close
d
e
C
38Concurrent or alternating entities II
block type AccessPoint
signal opened,closed
signal open, close
d
e
C
39Concurrent or alternating entities III
process type AccessPoint
signal opened,closed
signal open, close
d
e
C
40SDL combined with UML
Integrated tool provides both views
- SDL for
- Systems
- Composite types
- Object structures
- Complete behaviour
- MSC for
- Message sequences
- UML for
- Classes (type references) and Associations
41How this is achieved
- SDL UML Profile (Z.109)
- Specialisation of UML that maps to SDL
- by stereotypes system, block, process,
service, procedure, signal, object,
value, state - SDL Graphics Extensions (Z.100)
- Class symbols as combined type references and
partial type definitions - Package symbols and dependency between these
- Generalisation relationship for specialisation
- Parameterised class for type with context
parameters - Composition for containment
- General associations as comments
- Approved by ITU-T SG10 November 1999