the specification and description language sdl...1 © telelogic ab the specification and description...

79
1 © Telelogic AB The Specification and Description Language SDL Dr. Christian Schröder Professional Services, Germany [email protected] and what comes next ...

Upload: others

Post on 15-Feb-2021

12 views

Category:

Documents


1 download

TRANSCRIPT

  • 1

    © Telelogic AB

    The Specification and Description Language SDL

    Dr. Christian SchröderProfessional Services, [email protected]

    and what comes next ...

  • Agenda

    2

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Agenda

    3

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Who is Telelogic?

    4

    © Telelogic AB

    Advanced software and systems

  • Who is Telelogic?

    5

    © Telelogic AB

    Global business

    • Presence in 18 countries• Over 40 offices• Over 1100 employees• Local expertise worldwide

  • Who is Telelogic?

    6

    © Telelogic AB

    Customer focus

    • Customers:– With large-scale, complex projects

    and distributed development teams• Solutions:

    – Market leading products– Specialist services knowledge– Expertise developed through industry

    leadership• 3GPP, OMG, Bluetooth SIG, IEEE, INCOSE

    – Optimized to customer needs

    Communications

    AutomotiveMil / aero

    Finance

    ISV

    Consumer electronics

  • Who is Telelogic?

    7

    © Telelogic AB

    Demonstrable success

  • Who is Telelogic?

    8

    © Telelogic AB

    Telelogic Products

  • Who is Telelogic?

    9

    © Telelogic AB

    Tau SDL Suite

  • Who is Telelogic?

    10

    © Telelogic AB

    SDL SuitePurpose• SDL Suite is a real-time software development tool based on the

    object oriented design language SDL and the trace language MSCDifferentiators• Mature and feature rich tool with many advanced features

    (validation, coverage viewer, type viewer, ... )

    • High quality code generation• Powerful simulation• Strong telecom background• Languages used in communication standards - SDL, MSC, ASN.1

  • Agenda

    11

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Agenda

    12

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • SDL in a Nutshell

    13

    © Telelogic AB

    What is the Specification and DescriptionLanguage (SDL)?

  • SDL in a Nutshell

    14

    © Telelogic AB

    • Communication intensive

    • High real time demands

    • Complex systems• Development based on

    telecom standards• C focus• Small to large target

    environments

    • Data intensive• Limited real time

    focus

    • Very high C++ or Java focus

    • Algorithmically• Very high real time

    demands

    • Very high performance

    • Assembler focus• Extreme memory

    limits

    UMLHand coded SDL

    Positioning – Application Area

  • SDL in a Nutshell

    15

    © Telelogic AB

    SDL – Application Characteristics

    • Real-time

    • Communicating

    • Event-driven

    • Interactive

    • Concurrent

    • Complex

    • Distributed

    • Mission-critical

  • SDL in a Nutshell

    16

    © Telelogic AB

    SDL – Application Areas

  • SDL in a Nutshell

    17

    © Telelogic AB

    Specification and Description

    A specification of a system is thedescription of its required

    behavior

    A description of a system is the description of its actual behavior.

    (Section 1.1, Z.100)

  • SDL in a Nutshell

    18

    © Telelogic AB

    • International Standard (ITU-T, Z.100)

    • Formal description technique

    • Object oriented language

    • Independent of design paradigm (function or object oriented)

    • Independent of implementation (language, operating system,and hardware)

    The Specification and Description Language

  • SDL in a Nutshell

    19

    © Telelogic AB

    SDL Objectives

    • According to Z.100 SDL should be a language that is:

    • easy to learn• easy to use• easy to interpret

    „The graphical representation gives a language that is easy to understand both for creators (direct users) and

    viewers (“non constructors” of specifications).“

  • SDL in a Nutshell

    20

    © Telelogic AB

    SDL – A Formal Language

  • SDL in a Nutshell

    21

    © Telelogic AB

    • SDL-76 First version. Only recommendations on how to draw process graph symbols (Behavior).

    • SDL-80 Blocks are introduced (Architecture), PR-form (textual Phrase Representation) becomes a part of the language.

    • SDL-84 The abstract data type concept is introduced (Data). Additional concepts are introduced.

    • SDL-88 Only minor changes

    • SDL-92 Object-oriented extensions to SDL

    • SDL-96 Minor changes (e.g. external procedures)

    • SDL-2000 Major changes regarding architecture and data model (towards a harmonization with UML).

    SDL History

  • SDL in a Nutshell

    22

    © Telelogic AB

    SDL Language Concepts - Four Components

    … plus object oriented concepts

  • SDL in a Nutshell

    23

    © Telelogic AB

    Architecture - Hierarchy - Abstraction

  • SDL in a Nutshell

    24

    © Telelogic AB

    Behavior – Application and Target LanguageIndependent

  • SDL in a Nutshell

    25

    © Telelogic AB

    Communication – Horizontal and Vertical Signal Flow

  • SDL in a Nutshell

    26

    © Telelogic AB

    Object Oriented Concepts – promoting abstraction and reuse

  • SDL in a Nutshell

    27

    © Telelogic AB

    Message Sequence Charts MSC – specifying and tracing scenarios

  • SDL in a Nutshell

    28

    © Telelogic AB

    Aim

  • SDL in a Nutshell

    29

    © Telelogic AB

    • The architecture of SDL systems permits the description of different levels of abstraction:

    • The relation between the system and the ‘outside world‘.

    • Block interaction.

    • Process interaction.

    • Behavioral description in processes and procedures.

    General Structural Concepts

  • SDL in a Nutshell

    30

    © Telelogic AB

    System Boundaries

    –In the first step the relationship between the modeledsystem and its environment must be defined.

  • SDL in a Nutshell

    31

    © Telelogic AB

    Architecture

    – A complete SDL system must contain at least one block.

    – A block must contain at least one process or block. Eventually, the “leaves” of this tree are the processes.

    – Blocks and processes must not be mixed in one block.

    – The behavior of the system should be described inside the processes.

  • SDL in a Nutshell

    32

    © Telelogic AB

    Communication– The communication is defined by:

    • Channels and signal routes

    • Signals and signal parameters (data)

    B1 B2 P1 P2

    SIGNAL open, close, code, /* textual information for the user */ display;

  • SDL in a Nutshell

    33

    © Telelogic AB

    System Specification– A complete system specification contains all levels of abstraction,

    and all properties of the objects defined (modeled) at each level.

  • SDL in a Nutshell

    34

    © Telelogic AB

    Behavior–Dynamic behavior is modeled with processes based

    on finite state machines (FSM)• Abstract state machines that at any moment can be in a state,

    receive signals or send out signals.

  • SDL in a Nutshell

    35

    © Telelogic AB

    Basic Process Symbols

  • SDL in a Nutshell

    36

    © Telelogic AB

    Example: UML state diagrams (state oriented)

    exit/document.save()

    Hacking

    /begin_hack

    complete_hack

    Eating

    hungry_or_frustrated/visit_refrigerator satiated/return_to_desk

  • SDL in a Nutshell

    37

    © Telelogic AB

    SDL process diagram (transition oriented)

    begin_hack

    Hacking

    Hacking

    complete_hack

    document.save()

    hungry_or_frustrated

    document.save()

    visit_refrigerator

    Eating

    Eating

    satiated

    return_to_desk

    Hacking

  • Presentation section

    38

    © Telelogic AB

    “Labor intensive”Non-interworking tools

    Lower productivityHard work!

    Visual developmentTraditional development

    “Brain intensive”Single environmentHigh productivity

    Fun!

    The Software Development Paradigm Shift

  • Presentation section

    39

    © Telelogic AB

    “The diagrams are the code”

    Textual programming Visual programming

  • Presentation section

    40

    © Telelogic AB

    Hierarchical ArchitectureHierarchical Architecture

    SubSystem

    A

    SubSystem

    B

  • Presentation section

    41

    © Telelogic AB

    Modeling Distributed Systems1. Channel definitions

    EstwEingabe, EstwFahrstrasse,EstwAusgabe,Sensorik...

    2. Signaling definitions

    BueFreimeldung,BueFestlegung,StreckeBelegt,(EstwKommandos),(EstwMeldungen),...

  • Presentation section

    42

    © Telelogic AB

    Modeling Concurrency

    1.Encapsulation of parallelAutomata:SsBueKernSsBue_Teilsystem

    2. Refinement of interfaces:VonBuesa,VonBk,BkAnzeige,Anzeige,ZurBuesa,Estw,Fahrstrasse

  • Presentation section

    43

    © Telelogic AB

    Specifying Behavior, implementing functionality

  • Presentation section

    44

    © Telelogic AB

    Process NMT

    C onnec tin g

    nmt _m ess age(id , canbu ff er )

    id

    (c anbu f fe r (1) = Node Id )o r

    (C AN buff er(1) =B hex ( '00' ))

    c anbuffe r (0)

    C om mR eset

    U pda teN odeS tat e( in it )

    In it _Res e t_A pp l ika t ion

    U pdat eNodeSt ate( in it)

    I n it_R es et _Co mmunc at ion C onnec tin g

    canbuff er (0)

    canbuff er (1) =NodeId

    Clear_Bu f fe r1t o7(c anbuf fe r )

    GetGu ardC on figR eques t

    Wa i tForC fgR es ponse

    C heck _w e id(canbuff er, ok )

    C heck _N odeI D(canbuff er, ok ,

    N ode Id )

    ok

    Co nnec ting

    W aitF o r2ndFrame

    c anbu ffer (0 ) =i2b(2)

    (b2 i(B AN D (canbuff er(7) ,B H EX( '07 ') )) < 2) or

    (b2 i(B AN D (canbuff er(7) ,B H EX( '07 ') )) = 3)

    N MT Kl as s s eents c heidet ueber Guard ingun te rs t uet zung

    Set GuardTim ePar(0, I2B(0) )

    A ss ignProtoc olParam

    S etGuardCobI d(W H L2W (c anbuf f er (3),c anbuffer (2 )) )

    S etGuardTimeP ar(W H L2W (c anbuf f er (5),c anbuffer (4 )) ,c anbuffer (6 ))

    (B 2I (canbuff er (1 ) )

  • Presentation section

    45

    © Telelogic AB

    A Formal Language

    1. Syntactic Analysis2. Semantic Analysis3. Error correction

  • Presentation section

    46

    © Telelogic AB

    Verification & Validation1. Bit State Exploration2. Random Walk3. Power Walk4. Exhaustive 5. Tree Search6. MSC-Verification7. Navigator Walk

  • Presentation section

    47

    © Telelogic AB

    Simulation helps avoiding errors!

  • Agenda

    48

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Agenda

    49

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • SDL for ages 11 and up

    50

    © Telelogic AB

    Programming a LEGO Robot with SDL

    • LEGO MINDSTORMS• Developed for ages 11 and up• RCX™ Microcomputer• CD-ROM Software • 717 pieces, including:

    – 2 Motors

    – 2 Touch Sensors

    – 1 Light Sensor

    – Infrared Transmitter

  • SDL for ages 11 and up

    51

    © Telelogic AB

    The RCX

    • Hitachi H8300 micro controller• 32kb off-chip RAM• 3 input ports• 3 output ports• LCD display panel• Control buttons• Infrared communications port

  • SDL for ages 11 and up

    52

    © Telelogic AB

    Building the Application

    «call»«becomes»

    «becomes»

    «becomes»

    RCXExecutable«file»

    :RCXExecutable

    :Application

    IRcommunication

    Hostcomputer:notebook :HitachiH8

    firmdl3.exe«executable»

    LegOS.srec«file»

    :LegOS

    :LegOS

    env.c«file»

    Tau SDL Suite

    TargetingExpert«executable»

    SDLSystem

    dll.exe«executable»

    First, the OS has to be downloaded via IR communication:firmdl3 -s LegOS.srec

    The targeting expert automatically compiles, linksand downloads the SDL system onto the robot.For the download via IR communicationthe targeting expert uses dll.exe

    h8300-hms-gcc.exe«executable»

  • Agenda

    53

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Agenda

    54

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Wrap Up

    55

    © Telelogic AB

    Wrap Up – SDL• industry proven language for the development of complex distributed

    and event driven systems.

    • particularly suited for the specification of concurrent and communicating real-time processes based on an EFSM formalism.

    • defined by a graphical as well as a textual representation.• formal language and thus can be used for complete automatic code

    generation

    • independent of any implementation language • language Standard (currently SDL-2000, ITU-T, Z.100)• intuitive to use and read• Tool support for code generation, simulation and validation

  • Agenda

    56

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Agenda

    57

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • What's next?

    58

    © Telelogic AB

    UML and SDL - Merging languages

    2001/2002

    UML 2.0/SDL2000

    Analysis and Data

    Behavior and structure

    Now

    MSC

    SDL

    UML

    Analysis andhigh-level design

    Real-time designand simulation

    Seamlessreal-time

    developmentworkflow

  • Presentation section

    59

    © Telelogic AB

    Put out yourtongue andsay Ahhh!

    OK,Spencer

    Ahhh!

    Put out yourtongue andsay Ahhh!

    OK,Spencer

    Ahhh!

    • UML is a tool for communication!• Programmers, customers, managers, domain experts will have a

    common understanding of the system functionality

    What benefits did we get with UML 1.x?

  • Presentation section

    60

    © Telelogic AB

    • Most systems being modeled areso complexcomplex that a single kind of diagram cannot clearly and completely describe the system.

    • Because of this, UML provides different diagram types, each type offering a different view or different view or perspectiveperspective on the system.

    (picture taken from: Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal Golden Braid)

    What benefits did we get with UML 1.x? (cont.)

  • What's next?

    61

    © Telelogic AB

    What are the weaknesses of UML 1.x?• UML 1.x is a fine language for what it was designed for

    – analysis and modeling of software. • But there are a number of problems with UML 1.x:

    – excessive size and gratuitous complexity– imprecise semantics– non-standard implementations– limited customizability– lack of support for component-based development– inadequate semantics for executable models– missing diagram interchange capability

    • As technology evolves, and the requirements for large, complex systems become more demanding, UML also has to evolve.

    Make Coffee

    Make Tea

    Customer

    Vending Machine

  • What's next?

    62

    © Telelogic AB

    What will UML 2.0 improve?• Better support for developing component-based software• Better support for modeling architecture of software• Better alignment with other popular standards, such as

    XML/XMI, SDL and MSC.• More powerful expressions, including major

    parts of SDL and MSC.• Better possibilities to build tools with

    simulation and code generation

    • Better support for executable models and dynamic behavior

    • Better diagram interchange between tools• Better scalability

    UML 1.0 UML 1.1UML 1.2 UML 1.3

    UML 2.0

    UML 1.4UML 2.0 is a great leap forward

  • What's next?

    63

    © Telelogic AB

    How will UML 2.0 be created?• The U2 Partners (www.u2-partners.org) group including Alcatel,

    CA, Ericsson, HP, IBM, Motorola, Oracle, Rational and Telelogic is submitting proposals for UML 2.0.

  • What's next?

    64

    © Telelogic AB

    How will UML 2.0 be created (cont) ?• The first major proposal was submitted to OMG in August 2001.• The next proposals are planned for October 2001, December

    2001, February 2002 and April 2002.

    • After that, OMG will ratify the new standard: UML 2.0.

    6/02

    Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun

    20 Aug 01Infrastructure & OCL

    initial submissions

    24 Dec01Infrastructure & OCL

    final submissions

    1 Apr 02Superstructure

    final submission

    22 Oct 01Superstructure &

    Diagram Interchangeinitial submission

    25 Feb 02Diagram Interchange

    final submission

    UML 2.0

    2001 2002

  • What's next?

    65

    © Telelogic AB

    UML 2.0* news preview: Architecture diagrams

    • Defines logical components• Hierarchical decomposition

    – divide and conquer (top down)

    – building blocks (bottom up)

    • Provides encapsulation– black-box approach for just

    the right level of detail

    • Enables component-based development

    – protect, re-use and share knowledge

    • Maps to physical components– EJB, COM+, ...

    • Equivalent to SDL-2000block diagrams.

    Input:Device

    Logic:Control

    Terminal

    User

    DisplayData

    Command

    [Log]

    [Verify]

    *according to latest submissions to OMG

    port(gate)

    realized interface

    required interface

    connectorpart

  • What's next?

    66

    © Telelogic AB

    UML 2.0* news preview:Statecharts with graphical transitions

    Idle

    1(1)DataLayer2

    Idle

    S1

    S2

    1

    S2

    IdleIdle

    i = 10;

    >10

  • What's next?

    67

    © Telelogic AB

    UML 2.0* news preview:Sequence diagrams

    • Describes the sequence of events in an easy-to-understand format

    • Modularity and scaleability support reuse of design.

    • Better formal foundation enables analysis of complex applications and industrial large-scale testing.

    • Support for both object-oriented and real-time development.

    • Equivalent to MSC-2000 sequence charts.

    seq

    init

    a b c

    *according to latest submissions to OMG

    reference diagrams

    compose diagrams

    decompose

  • What's next?

    68

    © Telelogic AB

    Why is UML 2.0 interesting?

    • UML 2.0 is more than just a language.• UML 2.0 is part of a megatrend in systems and software

    development that has been going on for 40 years:

    Closing the abstraction gap

    What does this mean?

  • What's next?

    69

    © Telelogic AB

    Describing the problem

    “I want to build a car that every American can afford.”

    “I want to automate our payroll system. ”

    ”I want to build a nationwide cell phone system.”

    ”I want to know exactly what everybody in my project is doing.”

    ”I want to put a man on the moon.”

    These are some examples of problems and how they are described.

  • What's next?

    70

    © Telelogic AB

    Solving the problem

    • Once the problem is described, you have to bridge a certain gap to solve the problem.

    – Requirements have to be interpreted.– Systems need to be decomposed.– Details are assembled.– In reality, the problem is solved at a significantly

    lower level.

    But the megatrend in all development is a constant movement upwards, to solve the problem at a higher and higher level...

    ...getting closer and closer to the level where it was described.

  • What's next?

    71

    © Telelogic AB

    Software Development Megatrend –Closing the Abstraction Gap

    1960s 1970s 1980s 1990s 2000s 2010s

    Abstraction gap to bridge

    Solution

    Problem Description

    Abs

    tract

    ion

  • What's next?

    72

    © Telelogic AB

    The Abstraction gap to bridge

    “I want to automate ourpayroll system.”

    0011010011000111000011 ...

  • What's next?

    73

    © Telelogic AB

    Problem Space Solution Space

    “I want to automate ourpayroll system.”

    0011010011000111000011 ...

    • The developer must establish the association between the machine model (solution space) and the model of the problem that is actually being solved (problem space).

    • Unfortunately, this mapping is complicated because it is extrinsic to programming languages!

    How to bridge the gap?

  • What's next?

    74

    © Telelogic AB

    “I want to automate ourpayroll system.”

    0011010011000111000011 ...

    The origin of the gap

    • Of course, all (programming) languages provide abstractions!

    BUT• the complexity of a problem one is able to solve is

    directly related to:

    • The kind and quality of abstraction• The ability to automate the solution creation

  • What's next?

    75

    © Telelogic AB

    Advanced software engineering –real-time space

    1960s 1970s 1980s 1990s 2000s 2010sProblem Problem Problem Problem Problem

    Solution:Assembler

    Solution:C

    Solution:SDL

    Solution:UML 2.0

    Solution:Visual

    requirementsexpression?

    Gap to bridge

    Automation

    Automation

    Automation

    AutomationSolution:

    Microcode

    Problem

    Automation

  • What's next?

    76

    © Telelogic AB

    Wrap Up – UML 2.0

    • UML 2.0 is the next major revision of the Unified Modeling Language, a visual language for specifying, constructing and documenting software systems.

    • UML 1.x was first standardized in 1997 by the Object Management Group (OMG), and it is currently at version 1.4.

    • UML 2.0 is being defined right now, and is planned for release in 2002.• UML 2.0 will be a merge of UML 1.x and SDL/MSC.

  • Agenda

    77

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Agenda

    78

    © Telelogic AB

    Agenda

    • Who is Telelogic?• SDL in a Nutshell• SDL for ages 11 and up• Wrap Up• What‘s next?

    – SDL 2000, UML 2.0

    • Telelogic and the Standards

  • Telelogic and the Standards

    79

    © Telelogic AB

    • Telelogic is involved where the future is defined!– Telelogic’s Chief Technologist Cris Kobryn co-chairs the UML 2.0 work in

    OMG and co-authors the UML 2.0 proposal

    – Telelogic is strongly involved in the elaboration of new significant standards in ITU, ETSI and 3GPP

    – Telelogic is the leading tool provider for advanced wireless software development and 3G projects

    • Telelogic has the leading position in the visual real-time development market

    – 46% market share of Software Modeling Tools (according to VDC 2000)

    Telelogic today

    Thank you for your attention!