1 / 68

Specification and Description Language

COUSE OF SOFTWARE ENGINEERING II AA 2001/02. Specification and Description Language. Luigi Bozzo. May 2002. Summary. What is SDL Intro History Goal SDL Characteristics SDL Structure Example – La lotteria algebrica Glossary References. What is SDL.

turnerlouis
Download Presentation

Specification and Description Language

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. COUSE OF SOFTWARE ENGINEERING II AA 2001/02 Specification and Description Language Luigi Bozzo May 2002

  2. Summary • What is SDL • Intro • History • Goal • SDL Characteristics • SDL Structure • Example – La lotteria algebrica • Glossary • References

  3. What is SDL • SDL (Specification and Description Language) is an object-oriented, formal language developed and standardized by The International Telecommunication Standardization Sector (ITU-T) • Intended for the specification of complex, event-driven, real-time, and interactive application involving many concurrent activities that communicate using discrete signals

  4. What is SDL • SDL describe the architecture, behaviour and data of distributed systems in realtime environments • Useful for specifying the normative requirements of telecommunications protocol standards • Wide spectrum language - specification to implementation

  5. History • 1968 ITU study of stored program control systems • 1972 Start of the development • 1976 First pre-release • 1980-1984 Graphics, process semantics, structure, data, definition more rigorous, start of tools, user guide • 1988 SDL88, the first standard

  6. History • 1992 SDL92, MSC intro of OO and methodology guidelines • 1995 SDL with ASN.1 • 1999 SDL-2000 MSC-2000 Object modelling support Improved implementation support • 2001 SDL-2001 Meeting UML

  7. Application area • Type of systems: • Type of information: • Level of abstraction: • Real time • Interactive • Distributed • Heterogeneous • Behavior, structure • Overview to details

  8. Specification Ideas modelled by Interpreted as used to create Customer modelled by SDL (and MSC) Design Design Interpreted as used to produce Engineers transformed by Tools made as Software Implementation C++ etc. executes as Engineers Product Use of SDL

  9. Goals • Provide a better way to describe behaviour • Support human communication and understanding • Easy verification conformance of implementation of specifications • Design optimization • Analyzing specifications for completeness and correctness

  10. Goals • Use of computer based tools to create, maintain and analyze specifications • Formal high quality descriptions produced better, quicker and cheaper • Provide to programmers an easy way to do verification, validation of the design, regression testing, automatic documentation and simplified maintenance

  11. SDL Characteristics • Graphical form • Based on communicating processes • OO description of components • Nonproprietary internationally standardized language • Formality and clarity • High degree of testability • Portable, scalable, open, reusable

  12. Examples • Cellular phones • Switches • GPRS • UMTS • GSM • ISDN

  13. UML MSC ASN.1 TTCN SDL & others languages • SDL is well suited to be the core of full-scale projects because of its abilities to interface with other languages.

  14. SDL Structure • Comprises four main hierarchical levels: • System • Block • Process • Procedure

  15. SDL Structure • A system contains one or more blocks, interconnected with each other and with the boundary of the system by channels • The block is the main structuring concept • A block can be partitioned into sub-blocks and channels • A channel is a means of conveying signals

  16. SDL Structure • Repeated block partitioning result in a block tree structure • Partitioned blocks do not contain any process

  17. SDL Structure • Leaf-blocks of a block tree structure are not partitioned, and contain only process

  18. System • The system description constitutes the top level of detail • The system is what the SDL description specifies: an abstract machine communicating with its environment Environment System Channel

  19. System • A system diagram usually contains the following elements: • system name • signal descriptions • channel descriptions • data type descriptions • block descriptions

  20. 1 5 2 3

  21. Block • A block is a part of the system that can be treated as a self-contained object

  22. Block • A block diagram usually contains the following elements: • block name • signal descriptions • signal route descriptions • channel-to-route connections • process descriptions

  23. 1 2 3 4 5

  24. Process • A process in SDL is an extended finite state machine • The behaviour of a finite state machine is described by states and transitions • A process description is given through a process diagram • In SDL there are five basic constructs for the description of a process task

  25. Process • A process diagram usually contains the following elements: • Process name • Formal parameters • Variable descriptions • Process graph • Procedure Descriptions • Timer descriptions

  26. Process Example 1 Process P FPAR v1 Integer 2 5 dcl c character; procedure proc; Proc 3 c 4 c Proc

  27. Procedure • The procedure construct in SDL is similar to the one known from programming languages • A procedure is a finite state machine within a process. It is created when a procedure call is interpreted, and it dies when it terminates • A procedure description is similar to a process description, with some exceptions. • The start symbol is replaced by the procedure start symbol

  28. Procedure • A return symbol is introduced: • When a procedure is running, the calling process or procedure is suspended in the transition containing the procedure call

  29. Describing behavior with SDL • The behaviour of a system is constituted by the combined behaviour of the processes in the system • A process is defined as finite state machine, that works autonomously and concurrently with other processes • A process reacts to external stimuli in accordance with its description • A process is either in a state waiting, or performs a transition between two states

  30. Describing behavior with SDL • The co-operation between the processes is performed asynchronously by discrete messages called signals • Every process has an infinite input queue associated, which acts like a FIFO queue • Any signal arriving at the process is put into its input queue

  31. Describing behavior with SDL • When a signal has initiated a transition, it is removed from the input queue

  32. Process Addressing • Every process has a unique address • The address is not determined by the user, but is rather created by some abstract SDL machine during the creation of a process • For any signal sent by a process there must be one and only one destination • Destination can be specified: • Implicitly • explicitly

  33. A TO P2_ADDRESS Explicit Addressing • SDL has the TO construct for the explicit addressing of processes • The keyword TO is used in an output, and it is followed by an expression containing the address of the destination process

  34. Implicit Addressing • The explicit specification of a destination address is not necessary if the destination is uniquely defined by the system structure A

  35. Process Creation/Termination • Processes can be created by other processes dynamically at interpretation time • This is indicated in a block diagram by a dashed line from the creating process to the created process • The creating and created process must belong to the same block

  36. Process Creation/Termination Process P1 Process P2 FPAR v1 Integer, v2 Boolean S1 dcl v3 Integer A V3 = v1 * 2 P2(A,true) v3 S2

  37. Example – La lotteria Algebrica PostaElettronica_p GestoreCartaCredito_p 1 1 lal_GCC lal_PE [ … ] [ … ] system L-AL lal_GA 1 GestoreAccessi_p [ … ] lal_Direttore [ … ] lal_cliente lal_giocatore [ … ] [ … ] * * 1 Cliente_u Giocatore_u Direttore_u

  38. DatiGiocatore GestioneCollegamenti Example – La lotteria Algebrica system L-AL 1(X) signal collegami(DatiGiocatore,Codice), collega(Integer,Integer), controlla(DatiGiocatore, Codice), codiceOk(DatiGiocatore, Codice, Chiave), seiCollegato(Chiave) [ ] DatiGiocatore_GCC collega L-AL_Giocatore L-AL_GA [ ] collegami seiCollegato [ ] controlla codiceOk

  39. Example – La lotteria Algebrica DatiGiocatori Giocatore_u GestoreAccessi_p GestioneCollegamenti collegami(gu,D,cod) controlla(D,cod) codiceOk(D,cod,ch) collega(cod,ch) seiCollegato(ch)

  40. Example – La lotteria Algebrica signal collegami(DatiGiocatore,Codice), collega(Integer,Integer), controlla(DatiGiocatore, Codice), codiceOk(DatiGiocatore, Codice, Chiave), seiCollegato(Chiave) Block GestioneCollegamenti L-AL_Giocatore [collegami] [seiCollegato] P1 (DatiGiocatore,Codice) P2 (DatiGiocatore,Codice,Chiave) codiceOk [controlla] [ ] collega L-AL_GA DatiGiocatore_GCC

  41. Example – La lotteria Algebrica process P1 process P2 FPAR v1 DatiGiocatore, v2 Codice FPAR v1 DatiGiocatore, v2 Codice, v3 Chiave collega (v2,v3) controlla (v1,v2) seiCollegato (v3)

  42. Glossary • ASN.1 Abstract data type • CCITT Comite Consultatif International Telegraphique et Telephonique; the former name of ITU-T • FSM Finite state machine • IDL Interface description language; textual representation that enables designers to capture interfaces and data types of objects • IPC Interprocess communication • ITU International Telecommunications Union • OMG Object Modeling Technique; a notation for capturing requirements with object analysis

  43. Glossary • ITU-T Telecommunications standardization body • OMT Object Modeling Technique; a notation for capturing requirements with object analysis • SDL-GR Graphical notation for SDL • SDL-PR Textual notation for SDL

  44. References • SDL Forum Society http://www.sdl-forum.org • Specification and Description Language Tutorial http://www.iec.org/online/tutorials/sdl/ • SDL 2001: Meeting UML 10th International SDL Forum Copenhagen, Denmark, June 2001 Proceedings Rick Reed, Jeanne Reed Ed Springer • Documenting Software Architecture: Documenting Behavior http://www.sei.cmu.edu/publications/documents/02.reports/02tn001.html Bachmann, Bass, Clements, Garlan, Ivers, Little, Nord, Stafford

  45. References • SAM work shop SDL & MSC workshop (open discussion platform) http://www.irisa.fr/manifestations/2000/sam2000/papers.html

  46. The End

  47. ITU-T • The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of telecommunications • The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU • ITU-T is responsible for studying technical, operating and tariff questions and issuing Recommendations on them with a view to standardizing telecommunications on a worldwide basis

  48. SDL & UML • UML is a language that is good at describing classes/types and relationships between them in a simple and intuitive manner • It does a good job in the early phases of the development process but in the implementation phases it lacks in structural behavioral constructs

More Related