1 / 40

SDL-2000 = SDL-96 + UML + -

SDL UML profile: stereotypes,. SDL 2000: Type references Composite states Actors. MSC 2000:. SDL-2000 = SDL-96 + UML + -. 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). UML: Class diagrams

tauret
Download Presentation

SDL-2000 = SDL-96 + UML + -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SDL UML profile: stereotypes,... SDL 2000: Type references Composite states Actors ... MSC 2000: SDL-2000 = SDL-96 + UML + - 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) UML: Class diagrams State Machines Collaborations Sequence diagrams Deployment ...

  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. package AccessPointLib «block» AccessPoint As alternative to «block» BlockingAccessPoint « block» AccessPoint LoggingAccessPoint . . . 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. « signal» ReleaseCard, Cid, Digit, OK, NOK, ERR cur _panel : PId cid : int PIN : int Associations, attributes and operations can be specified on types . . . «block» AccessPoint 1 1 1 «process» Panel «process» AccessPoint::Controller «process» Door OpenDoor() Note that the part (object) structure is not specified by this!

  7. block type AccessPoint signal opened,closed; signal open, close; (inp) unlock, lock d e isOpen, isClosed d: Door p: Panel (validity) opened, closed open, close code (outp) (validity) c: Controller code C This is the part structure a type composed from a structure of instances

  8. How to make this into an SDL diagram?

  9. Use dependencies between packages and systems SignalLib AccessPointLib «system» AccessControl

  10. use AccessPointLib unlock, lock unlock, lock unlock, lock CentralUnit isOpen, isClosed isOpen, isClosed isOpen, isClosed The corresponding packagereference associated with each diagram in SDL system type AccessControl [(inp)] [(outp)] [(validity)] [Code] e c ap(100): AccessPoint d [(inp)] [(outp)] [(validity)] [Code] e c bp(10): BlockingAccessPoint d [(inp)] [(outp)] [(validity)] [Code] e c 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 today’s SDL

  12. UML 1.xStatechart 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. ReadAmount, anotherState, yetAnotherState outOfService outOfService Combines with existing mechanisms State list All states All states, except * * (ReadAmount) outOfService outOfService outOfService outOfService

  16. * help display ( helpMessage) - Internal transitions • using existing mechanisms of SDL: • * state • - nextstate state ReadPIN

  17. 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 Not a special kind of diagram, just a way to use composite states!

  18. Detailed Transitions in State Diagrams state ReadAmount state VerifyCard * * aborted abort notOk ok ok notAccepted notAccepted aborted

  19. 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

  20. state type ReadAmount state VerifyCard * * aborted abort notOk ok ok notAccepted aborted notAccepted

  21. State type inheritance for any composite state type, not only the topmost state • 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» ReadAmount Enter() {virtual} Exit() «state» HelpfulReadAmount Enter() {redefined} Exit()

  22. * help display helpMessage) ( - 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 inheritsReadAmount

  23. Virtual states process type SimpleATM VerifyCard In order to specify which states can be redefined in a specialization. A virtual state has a constraint, and can only be redefined as an extension of the constraint. acceptCard (account) virtual ReadAmount virtual aborted Transaction (account,amount) VerifyTransaction ReleaseCard

  24. 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)

  25. 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 Java’s final). redefined ReadAmount redefined aborted ejectCard ReleaseCard

  26. 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 -

  27. (inp) unlock, lock e isOpen, isClosed (outp) (validity) code 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

  28. signal opened,closed; signal open, close; (inp) unlock, lock Panel Door isOpen, isClosed (validity) opened, closed open, close code (outp) (validity) AccessPoint code AccessPoint d e C

  29. Agent 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]

  30. dcl noOfTries Integer; (inp) unlock, lock isOpen, isClosed (validity) opened, closed open, close code (outp) (validity) code Concurrent or alternating entities I block type AccessPoint signal opened,closed; signal open, close; d e Panel Door AccessPoint C

  31. dcl noOfTries Integer; (inp) unlock, lock Panel isOpen, isClosed Door (validity) opened, closed open, close code (outp) (validity) AccessPoint code Concurrent or alternating entities II block type AccessPoint signal opened,closed; signal open, close; d e C

  32. dcl noOfTries Integer; (inp) unlock, lock Panel isOpen, isClosed Door (validity) opened, closed open, close code (outp) (validity) AccessPoint code Concurrent or alternating entities III process type AccessPoint signal opened,closed; signal open, close; d e C

  33. 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

  34. Example - object types object type Event struct day Day; month Month; methods virtual possible -> Boolean; endobject type; object type Appointment inherits Event fromTime, toTime Time;methods redefined possible; endobject type;

  35. Example - value types value type Time struct hour Natural; minute Natural; endvalue type; value type RealTime inherits Time delay Natural; endvalue type;

  36. Data types – also by means of class symbols « value » « object » Time Event hour : Natural day : Day min : Natural month : Month possible( ) « value » RealTime « object » delay : Natural Entry fromTime : Time toTime : Time

  37. 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; ...{ ...} ...

  38. Idle [Code] [opened,closed] [(validity)] P D U [(validity)] [Code] [open,close] 1(2) ActionlanguageII 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

  39. SDL for: Systems Composite types Object structures Complete behaviour MSC for: Message sequences UML for: Classes (type references) and Associations UML SDL UML in SDL SDL in UML SDL combined with UML Integrated tool provides both views

  40. 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

More Related