SDL-2000 = SDL-96 UML - - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

SDL-2000 = SDL-96 UML -

Description:

... inherits AccessPoint. block type BlockingAccessPoint inherits AccessPoint ... inheriting states and transitions. adding states and transitions ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 42
Provided by: brkhauge
Category:
Tags: sdl | uml | inheriting | javas

less

Transcript and Presenter's Notes

Title: SDL-2000 = SDL-96 UML -


1
SDL-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)

2
Using 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
5
Including the type diagrams

block type AccessPoint
block type LoggingAccessPoint inherits
AccessPoint
block type BlockingAccessPoint inherits
AccessPoint
6
Composition 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
8
Not 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)
9
Use dependencies between packages and systems
SignalLib
AccessPointLib
system
AccessControl
10
The 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
11
Composite 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

12
UMLStatechart
VerifyCard
acceptCard(account)
ReadAmount
abort
SelectAmount
OutOfService
ReleaseCard
otherAmount
Amount (amount)
outOfService
abort
EnterAmount
ok
rejectTransaction
VerifyTransaction
13
SDLCompositeStatesby 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
14
andSeparateStateDiagramswithentry/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
-
15
State-boundary-crossing transitions
UML-like
SDL-like
ReadAmount
ReadAmount
EnterAmount
EnterAmount
tinner
t
Reject Transaction
touter
Reject Transaction
Verify Transaction
Verify Transaction
16
Combines with existing mechanisms
State list All
states All states,
except

(ReadAmount)
outOfService
outOfService
outOfService
outOfService
17
Internal transitions
state
ReadPIN
  • using existing mechanisms of SDL
  • state
  • - nextstate

18
State 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
19
Detailed Transitions in State Diagrams
state

ReadAmount
state

VerifyCard


aborted
abort
ok
notOk
ok
notAccepted
notAccepted
aborted
20
State 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
21
state type ReadAmount

state

VerifyCard


aborted
abort
ok
notOk
ok
notAccepted
aborted
notAccepted
22
and 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()
23
State 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


24
Virtual 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
25
The 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)
26
Redefinition 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
27
State 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
-
28
Object 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

29
Example - 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
30
Example - value types
value type Time struct hour Natural minute
Natural endvalue type value type RealTime
inherits Time delay Natural endvalue type
31
Data 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
32
Action 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 ... ... ...
33
ActionlanguageII

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
34
Agents
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
36
Actor 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
37
Concurrent or alternating entities I

block type AccessPoint
signal opened,closed
signal open, close
d
e
C
38
Concurrent or alternating entities II

block type AccessPoint
signal opened,closed
signal open, close
d
e
C
39
Concurrent or alternating entities III

process type AccessPoint
signal opened,closed
signal open, close
d
e
C
40
SDL 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

41
How 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
Write a Comment
User Comments (0)
About PowerShow.com