<<

© AB

The Specification and Description Language SDL and what comes next ...

Dr. Christian Schröder Professional Services, Germany [email protected] 1 Agenda

© 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

2 Agenda

© 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

3 Who is Telelogic?

© Telelogic AB Advanced and

4 Who is Telelogic?

© Telelogic AB Global business

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

5 Who is Telelogic?

© Telelogic AB Customer focus

• Customers: –Withlarge-scale, complex projects and distributed development teams Communications • Solutions: Automotive Mil / aero – Market leading products Finance – Specialist services knowledge Consumer electronics – Expertise developed through industry leadership ISV • 3GPP, OMG, Bluetooth SIG, IEEE, INCOSE – Optimized to customer needs

6 Who is Telelogic?

© Telelogic AB Demonstrable success

7 Who is Telelogic?

© Telelogic AB Telelogic Products

8 Who is Telelogic?

© Telelogic AB Tau SDL Suite

9 Who is Telelogic?

© Telelogic AB SDL Suite

Purpose • SDL Suite is a real-time tool based on the object oriented design language SDL and the trace language MSC Differentiators • 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

10 Agenda

© 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

11 Agenda

© 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

12 SDL in a Nutshell

© Telelogic AB What is the Specification and Description Language (SDL)?

13 SDL in a Nutshell

© Telelogic AB Positioning – Application Area

Hand coded SDL UML

• Algorithmically • Communication • intensive • Very high real time intensive • Limited real time demands • High real time focus • Very high demands • Very high C++ or performance • Complex systems Java focus • Assembler focus • Development based on • Extreme memory telecom standards limits • C focus • Small to large target environments

14 SDL in a Nutshell

© Telelogic AB SDL – Application Characteristics

•Real-time • Communicating • Event-driven • Interactive • Concurrent • Complex • Distributed • Mission-critical

15 SDL in a Nutshell

© Telelogic AB SDL – Application Areas

16 SDL in a Nutshell

© Telelogic AB Specification and Description

A specification of a is the description of its required behavior

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

(Section 1.1, Z.100)

17 SDL in a Nutshell

© Telelogic AB The Specification and Description Language

• International Standard (ITU-T, Z.100) • Formal description technique • Object oriented language • Independent of design paradigm (function or object oriented) • Independent of implementation (language, , and hardware)

18 SDL in a Nutshell

© 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).“

19 SDL in a Nutshell

© Telelogic AB SDL – A Formal Language

20 SDL in a Nutshell

© Telelogic AB SDL History

• 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 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 (towards a harmonization with UML).

21 SDL in a Nutshell

© Telelogic AB SDL Language Concepts - Four Components

… plus object oriented concepts

22 SDL in a Nutshell

© Telelogic AB Architecture - Hierarchy - Abstraction

23 SDL in a Nutshell

© Telelogic AB Behavior – Application and Target Language Independent

24 SDL in a Nutshell

© Telelogic AB Communication – Horizontal and Vertical Signal Flow

25 SDL in a Nutshell

© Telelogic AB Object Oriented Concepts – promoting abstraction and reuse

26 SDL in a Nutshell

© Telelogic AB Message Sequence Charts MSC – specifying and tracing scenarios

27 SDL in a Nutshell

© Telelogic AB Aim

28 SDL in a Nutshell

© Telelogic AB General Structural Concepts

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

29 SDL in a Nutshell

© Telelogic AB System Boundaries

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

30 SDL in a Nutshell

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

31 SDL in a Nutshell

© Telelogic AB Communication

– The communication is defined by: • Channels and signal routes

B1 B2 P1 P2

• Signals and signal parameters (data)

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

32 SDL in a Nutshell

© Telelogic AB System Specification – A complete system specification contains all levels of abstraction, and all properties of the objects defined (modeled) at each level.

33 SDL in a Nutshell

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

34 SDL in a Nutshell

© Telelogic AB Basic Process Symbols

35 SDL in a Nutshell

© Telelogic AB Example: UML state (state oriented)

/begin_hack

Hacking complete_hack exit/document.save()

hungry_or_frustrated/visit_refrigerator satiated/return_to_desk

Eating

36 SDL in a Nutshell

© Telelogic AB SDL process (transition oriented)

begin_hack Hacking

Hacking complete_hack hungry_or_frustrated

document.save() document.save() Eating visit_refrigerator satiated Eating

return_to_desk

Hacking

37 Presentation section

© Telelogic AB The Software Development Paradigm Shift

Traditional development Visual development

“Labor intensive” “Brain intensive” Non-interworking tools Single environment Lower productivity High productivity Hard work! Fun! 38 Presentation section

© Telelogic AB “The diagrams are the code”

Textual programming Visual programming

39 Presentation section

© Telelogic AB HierarchicalHierarchical ArchitectureArchitecture

Sub System A

Sub System B

40 Presentation section

© Telelogic AB Modeling Distributed Systems

1. Channel definitions EstwEingabe, EstwFahrstrasse, EstwAusgabe, Sensorik ...

2. Signaling definitions

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

41 Presentation section

© Telelogic AB Modeling Concurrency

1.Encapsulation of parallel Automata: SsBueKern SsBue_Teilsystem

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

42 Presentation section

© Telelogic AB Specifying Behavior, implementing functionality

43 Presentation section

© Telelogic AB SDL = Communication Oriented Extended Finite State Machine Process NMT

Connecting

nmt_message( id,canbuffer)

NMTStartStopId NMTRequestId id

el s e

(canbuffer(1) = NodeId) else else or canbuffer(0) (CANbuffer(1) =Bhex('00')) Selec tB yM od ul Name As s ignProtoc olParam IdentifyNode SelectByNodeId True

ResetCommunication else else canbuffer(1) = Check_weid else (B2I(canbuffer(1)) <= B2 I(No deId)) andelse canbuffer(0) WaitFor2ndFrame No d e Id (canbuffer,ok) (B2I(NodeId) <= B2I(canbuffer(2)))

ResetApplication true True True

UpdateNodeState Check_NodeID else canbuffer(0) = NMT Klassse Can_messageOUT( CommReset (canbuffer,ok, entscheidet ueber NM TIdentifyNodeID, (init) i2b(2) NodeId) Guardingunterstuetzung canbuffer,0)

True

UpdateNodeState true (b2i(BAND(canbuffer(7),BHEX('07'))) < 2) ok or (init) (b2i(BAND(canbuffer(7),BHEX('07'))) = 3) el se el se True

Clear_Buffer1to7 Set GuardTim ePar SetGuardCobId( WHL2W(canbuffer(3), (canbuffer) (0,I2B(0)) canbuffer(2)))

SetGuardTimePar( GetGu ardConfigRequest WHL2W(canbuffer(5), canbuffer(4)), canbuffer(6))

Init_Reset_Applikation Init_Reset_Co mmuncation Connectin g Wa i tFo r C fg R es p o n se Co nn e c tin g AssignProtocolParam Connecting

44 Presentation section

© Telelogic AB A Formal Language

1. Syntactic Analysis 2. Semantic Analysis 3. Error correction

45 Presentation section

© Telelogic AB Verification & Validation

1. Bit State Exploration 2. Random Walk 3. Power Walk 4. Exhaustive 5. Tree Search 6. MSC-Verification 7. Navigator Walk

46 Presentation section

© Telelogic AB Simulation helps avoiding errors!

47 Agenda

© 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

48 Agenda

© 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

49 SDL for ages 11 and up

© 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

50 SDL for ages 11 and up

© 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

51 SDL for ages 11 and up

© Telelogic AB Building the Application

Hostcomputer:notebook :HitachiH8

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

«executable» «file» firmdl3.exe LegOS.srec «becomes» :LegOS

«file» «executable» env.c h8300-hms-gcc.exe

Tau SDL Suite

SDLSystem IR communication «executable» TargetingExpert «becomes»

:RCXExecutable

«executable» «file» «becomes» :Application «call» dll.exe RCXExecutable

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

52 Agenda

© 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

53 Agenda

© 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

54 Wrap Up

© Telelogic AB Wrap Up – SDL

• industry proven language for the development of complex distributed and 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

55 Agenda

© 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

56 Agenda

© 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

57 What's next?

© Telelogic AB UML and SDL - Merging languages

Now 2001/2002

Seamless Analysis and Analysis real-time high-level design and Data development workflow UML

Real-time design UML 2.0/ and simulation SDL2000

MSC

SDL Behavior and structure

58 Presentation section

© Telelogic AB What benefits did we get with UML 1.x?

• UML is a tool for communication! • Programmers, customers, managers, domain experts will have a common understanding of the system functionality

OK, Put out your Spencer tongue and say Ahhh! Ahhh!

59 Presentation section

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

• Most systems being modeled are so complex 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 perspective on the system.

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

60 What's next?

© 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: Vending Machine – excessive size and gratuitous complexity Make Tea – imprecise semantics – non-standard implementations Customer Make Coffee – limited customizability – lack of support for -based development – inadequate semantics for executable models – missing diagram interchange capability • As technology evolves, and the for large, complex systems become more demanding, UML also has to evolve.

61 What's next?

© 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 UML 2.0 simulation and code generation • Better support for executable models and dynamic behavior • Better diagram interchange between tools • Better scalability UML 1.4 UML 1.2 UML 1.3 UML 2.0 is a great UML 1.1 leap forward UML 1.0 62 What's next?

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

63 What's next?

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

20 Aug 01 24 Dec01 1 Apr 02 Infrastructure & OCL Infrastructure & OCL Superstructure initial submissions final submissions final submission

UML 2.0 Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun 6/02 2001 2002

22 Oct 01 25 Feb 02 Superstructure & Diagram Interchange Diagram Interchange final submission initial submission

64 What's next?

© Telelogic AB UML 2.0* news preview: Architecture diagrams realized part port connector • Defines logical components (gate) • Hierarchical decomposition Terminal – divide and conquer (top down) User – building blocks (bottom up) Input:Device • Provides encapsulation Command – black-box approach for just required the right level of detail [Log] interface • Enables component-based [Verify] development

– protect, re-use and share Data knowledge Display • Maps to physical components Logic:Control – EJB, COM+, ... • Equivalent to SDL-2000 block diagrams.

65 *according to latest submissions to OMG What's next?

© Telelogic AB UML 2.0* news preview: Statecharts with graphical transitions

• Powerful definition of DataLayer2 1(1) behavior. start Graphical transitions Idle • Idle state visualize activities that take place during transitions. S1 input • Precise specifications without use of implementation S2 output language ensures portability >10 and reuse. 1 • Better scalability ensure <=10 sufficient support for S2 i = 10; industrial-scale complexity. • Equivalent to SDL-2000 state IdleIdle diagrams. task stop

66 *according to latest submissions to OMG What's next?

© Telelogic AB UML 2.0* news preview: Sequence diagrams decompose

• Describes the sequence of events in an easy-to-understand format • Modularity and scaleability support reuse of design. reference diagrams • Better formal foundation enables seq analysis of complex applications

and industrial large-scale testing. compose • Support for both object-oriented diagrams and real-time development. init • Equivalent to MSC-2000 sequence a b c charts.

67 *according to latest submissions to OMG What's next?

© 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?

68 What's next?

© Telelogic AB Describing the problem

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

“I want to automate our payroll system. ”

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

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

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

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

69 What's next?

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

70 What's next?

© Telelogic AB Software Development Megatrend – Closing the Abstraction Gap 1960s 1970s 1980s 1990s 2000s 2010s Problem Description

Abstraction gap to bridge Abstraction

Solution

71 What's next?

© Telelogic AB The Abstraction gap to bridge

“I want to automate our 00110100110 payroll system.” 00111000011 ...

72 What's next?

© Telelogic AB How to bridge the gap?

“I want to automate our 00110100110 payroll system.” 00111000011 ...

Problem Space Solution Space

• 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!

73 What's next?

© Telelogic AB The origin of the gap

“I want to automate our 00110100110 payroll system.” 00111000011 ...

• 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

74 What's next?

© Telelogic AB Advanced – real-time space

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

Solution: Visual Gap to bridge requirements expression? Solution: UML 2.0

Solution: SDL Automation Solution: C Automation

Solution: Automation Assembler Automation Solution: Microcode Automation

75 What's next?

© Telelogic AB Wrap Up – UML 2.0

• UML 2.0 is the next major revision of the Unified , a visual language for specifying, constructing and documenting software systems. • UML 1.x was first standardized in 1997 by the (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.

76 Agenda

© 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

77 Agenda

© 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

78 Telelogic and the Standards

© Telelogic AB Telelogic today

• Telelogic is involved where the future is defined! – Telelogic’s Chief Technologist 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)

Thank you for your attention!

79