19.02.2013 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1<br />

<strong>The</strong> <strong>Specification</strong> <strong>and</strong> <strong>Description</strong><br />

<strong>Language</strong> <strong>SDL</strong><br />

<strong>and</strong> <strong>what</strong> <strong>comes</strong> next ...<br />

© Telelogic AB<br />

Dr. Christian Schröder<br />

Professional Services, Germany<br />

christian.schroeder@telelogic.de


Agenda<br />

2<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Agenda<br />

3<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Who is Telelogic?<br />

4<br />

Advanced software <strong>and</strong> systems<br />

© Telelogic AB


Who is Telelogic?<br />

5<br />

Global business<br />

• Presence in 18 countries<br />

• Over 40 offices<br />

• Over 1100 employees<br />

• Local expertise worldwide<br />

© Telelogic AB


Who is Telelogic?<br />

6<br />

• Customers:<br />

Customer focus<br />

–Withlarge-scale, complex projects<br />

<strong>and</strong> distributed development teams<br />

• Solutions:<br />

– Market leading products<br />

– Specialist services knowledge<br />

– Expertise developed through industry<br />

leadership<br />

• 3GPP, OMG, Bluetooth SIG, IEEE, INCOSE<br />

– Optimized to customer needs<br />

Communications<br />

Automotive<br />

Mil / aero<br />

Finance<br />

Consumer<br />

electronics<br />

ISV<br />

© Telelogic AB


Who is Telelogic?<br />

7<br />

Demonstrable success<br />

© Telelogic AB


Who is Telelogic?<br />

8<br />

Telelogic Products<br />

© Telelogic AB


Who is Telelogic?<br />

9<br />

Tau <strong>SDL</strong> Suite<br />

© Telelogic AB


Who is Telelogic?<br />

10<br />

<strong>SDL</strong> Suite<br />

Purpose<br />

• <strong>SDL</strong> Suite is a real-time software development tool based on the<br />

object oriented design language <strong>SDL</strong> <strong>and</strong> the trace language MSC<br />

Differentiators<br />

• Mature <strong>and</strong> feature rich tool with many advanced features<br />

(validation, coverage viewer, type viewer, ... )<br />

• High quality code generation<br />

• Powerful simulation<br />

• Strong telecom background<br />

• <strong>Language</strong>s used in communication st<strong>and</strong>ards - <strong>SDL</strong>, MSC, ASN.1<br />

© Telelogic AB


Agenda<br />

11<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Agenda<br />

12<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

13<br />

What is the <strong>Specification</strong> <strong>and</strong> <strong>Description</strong><br />

<strong>Language</strong> (<strong>SDL</strong>)?<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

14<br />

Positioning – Application Area<br />

H<strong>and</strong> coded <strong>SDL</strong><br />

• Algorithmically<br />

• Very high real time<br />

dem<strong>and</strong>s<br />

• Very high<br />

performance<br />

• Assembler focus<br />

• Extreme memory<br />

limits<br />

• Communication<br />

intensive<br />

• High real time<br />

dem<strong>and</strong>s<br />

• Complex systems<br />

• Development based on<br />

telecom st<strong>and</strong>ards<br />

• C focus<br />

• Small to large target<br />

environments<br />

UML<br />

• Data intensive<br />

• Limited real time<br />

focus<br />

• Very high C++ or<br />

Java focus<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

15<br />

<strong>SDL</strong> – Application Characteristics<br />

•Real-time<br />

• Communicating<br />

• Event-driven<br />

• Interactive<br />

• Concurrent<br />

• Complex<br />

• Distributed<br />

• Mission-critical<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

16<br />

<strong>SDL</strong> – Application Areas<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

17<br />

<strong>Specification</strong> <strong>and</strong> <strong>Description</strong><br />

A specification of a system is the<br />

description of its required<br />

behavior<br />

A description of a system is the<br />

description of its actual behavior.<br />

(Section 1.1, Z.100)<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

18<br />

<strong>The</strong> <strong>Specification</strong> <strong>and</strong> <strong>Description</strong> <strong>Language</strong><br />

• International St<strong>and</strong>ard<br />

(ITU-T, Z.100)<br />

• Formal description technique<br />

• Object oriented language<br />

• Independent of design paradigm<br />

(function or object oriented)<br />

• Independent of implementation<br />

(language, operating system,<br />

<strong>and</strong> hardware)<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

19<br />

<strong>SDL</strong> Objectives<br />

• According to Z.100 <strong>SDL</strong> should be a language that is:<br />

• easy to learn<br />

• easy to use<br />

• easy to interpret<br />

„<strong>The</strong> graphical representation gives a language that is<br />

easy to underst<strong>and</strong> both for creators (direct users) <strong>and</strong><br />

viewers (“non constructors” of specifications).“<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

20<br />

<strong>SDL</strong> – A Formal <strong>Language</strong><br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

21<br />

<strong>SDL</strong> History<br />

• <strong>SDL</strong>-76 First version. Only recommendations on how<br />

to draw process graph symbols (Behavior).<br />

• <strong>SDL</strong>-80 Blocks are introduced (Architecture), PRform<br />

(textual Phrase Representation)<br />

be<strong>comes</strong> a part of the language.<br />

• <strong>SDL</strong>-84 <strong>The</strong> abstract data type concept is introduced<br />

(Data). Additional concepts are introduced.<br />

• <strong>SDL</strong>-88 Only minor changes<br />

•<strong>SDL</strong>-92 Object-oriented extensions to <strong>SDL</strong><br />

• <strong>SDL</strong>-96 Minor changes (e.g. external procedures)<br />

• <strong>SDL</strong>-2000 Major changes regarding architecture <strong>and</strong><br />

data model (towards a harmonization with UML).<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

22<br />

<strong>SDL</strong> <strong>Language</strong> Concepts - Four Components<br />

… plus object oriented concepts<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

23<br />

Architecture - Hierarchy - Abstraction<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

24<br />

© Telelogic AB<br />

Behavior – Application <strong>and</strong> Target <strong>Language</strong><br />

Independent


<strong>SDL</strong> in a Nutshell<br />

25<br />

© Telelogic AB<br />

Communication – Horizontal <strong>and</strong> Vertical Signal<br />

Flow


<strong>SDL</strong> in a Nutshell<br />

26<br />

Object Oriented Concepts – promoting<br />

abstraction <strong>and</strong> reuse<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

27<br />

© Telelogic AB<br />

Message Sequence Charts MSC – specifying<br />

<strong>and</strong> tracing scenarios


<strong>SDL</strong> in a Nutshell<br />

28<br />

Aim<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

29<br />

General Structural Concepts<br />

• <strong>The</strong> architecture of <strong>SDL</strong> systems permits the<br />

description of different levels of abstraction:<br />

• <strong>The</strong> relation between the system <strong>and</strong> the ‘outside world‘.<br />

• Block interaction.<br />

• Process interaction.<br />

• Behavioral description in processes <strong>and</strong> procedures.<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

30<br />

System Boundaries<br />

–In the first step the relationship between the modeled<br />

system <strong>and</strong> its environment must be defined.<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

31<br />

– A complete <strong>SDL</strong> system must<br />

contain at least one block.<br />

Architecture<br />

– A block must contain at least one<br />

process or block. Eventually, the<br />

“leaves” of this tree are the<br />

processes.<br />

– Blocks <strong>and</strong> processes must not be<br />

mixed in one block.<br />

– <strong>The</strong> behavior of the system should<br />

be described inside the processes.<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

32<br />

Communication<br />

– <strong>The</strong> communication is defined by:<br />

• Channels <strong>and</strong> signal routes<br />

B1 B2 P1 P2<br />

• Signals <strong>and</strong> signal parameters (data)<br />

SIGNAL<br />

open,<br />

close,<br />

code, /* textual information for the user */<br />

display;<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

33<br />

System <strong>Specification</strong><br />

– A complete system specification contains all levels of abstraction,<br />

<strong>and</strong> all properties of the objects defined (modeled) at each level.<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

34<br />

Behavior<br />

–Dynamic behavior is modeled with processes based<br />

on finite state machines (FSM)<br />

• Abstract state machines that at any moment can be in a state,<br />

receive signals or send out signals.<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

35<br />

Basic Process Symbols<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

36<br />

Example: UML state diagrams (state oriented)<br />

/begin_hack<br />

Hacking<br />

exit/document.save()<br />

complete_hack<br />

hungry_or_frustrated/visit_refrigerator satiated/return_to_desk<br />

Eating<br />

© Telelogic AB


<strong>SDL</strong> in a Nutshell<br />

37<br />

<strong>SDL</strong> process diagram (transition oriented)<br />

Hacking<br />

Eating<br />

satiated<br />

Hacking<br />

begin_hack<br />

return_to_desk<br />

Hacking<br />

complete_hack<br />

document.save()<br />

hungry_or_frustrated<br />

Eating<br />

document.save()<br />

visit_refrigerator<br />

© Telelogic AB


Presentation section<br />

38<br />

<strong>The</strong> Software Development Paradigm Shift<br />

Traditional development<br />

“Labor intensive”<br />

Non-interworking tools<br />

Lower productivity<br />

Hard work!<br />

Visual development<br />

“Brain intensive”<br />

Single environment<br />

High productivity<br />

Fun!<br />

© Telelogic AB


Presentation section<br />

39<br />

“<strong>The</strong> diagrams are the code”<br />

Textual programming Visual programming<br />

© Telelogic AB


Presentation section<br />

40<br />

Hierarchical Architecture<br />

Sub<br />

System<br />

A<br />

Sub<br />

System<br />

B<br />

© Telelogic AB


Presentation section<br />

41<br />

1. Channel definitions<br />

EstwEingabe,<br />

EstwFahrstrasse,<br />

EstwAusgabe,<br />

Sensorik<br />

...<br />

2. Signaling definitions<br />

BueFreimeldung,<br />

BueFestlegung,<br />

StreckeBelegt,<br />

(EstwKomm<strong>and</strong>os),<br />

(EstwMeldungen),<br />

...<br />

Modeling Distributed Systems<br />

© Telelogic AB


Presentation section<br />

42<br />

1.Encapsulation of parallel<br />

Automata:<br />

SsBueKern<br />

SsBue_Teilsystem<br />

2. Refinement of interfaces:<br />

VonBuesa,<br />

VonBk,<br />

BkAnzeige,<br />

Anzeige,<br />

ZurBuesa,<br />

Estw,<br />

Fahrstrasse<br />

Modeling Concurrency<br />

© Telelogic AB


Presentation section<br />

43<br />

Specifying Behavior, implementing<br />

functionality<br />

© Telelogic AB


Presentation section<br />

44<br />

Process NMT<br />

CommReset<br />

UpdateNodeState<br />

(init)<br />

ResetCo mmunication<br />

Init_Reset_Applikation<br />

<strong>SDL</strong> = Communication Oriented<br />

Extended Finite State Machine<br />

(canbuffer(1) = NodeId) else<br />

or<br />

(CANbuffer(1) =Bhex('00' ))<br />

canbuffer(0)<br />

UpdateNodeState<br />

(init)<br />

True<br />

else<br />

ResetApplication<br />

Connectin g<br />

nmt_m essage(<br />

id,canbuffer)<br />

NMTStartStopId<br />

id<br />

Init_Reset_Co mmuncation Connectin g<br />

el s e<br />

NMTRequestId<br />

else<br />

else<br />

canbuffer(0)<br />

canbuffer(1) =<br />

No d e Id<br />

Clear_Buffer1to7<br />

(canbuffer)<br />

GetGu ardConfigRequest<br />

Wa i tFor C fg R es p o n se<br />

SelectByNodeId<br />

true<br />

true<br />

Check_weid<br />

(canbuffer,ok)<br />

Check_NodeID<br />

(canbuffer,ok,<br />

NodeId)<br />

el se<br />

ok<br />

Selec tB yM od ul Name<br />

Co nn e c tin g<br />

else<br />

else<br />

WaitFor2ndFrame<br />

canbu ffer(0) =<br />

i2b(2)<br />

(b2i(BAND(canbuffer(7),BHEX('07'))) < 2)<br />

or<br />

(b2i(BAND(canbuffer(7),BHEX('07'))) = 3)<br />

Set Gua rdTim ePa r<br />

(0,I2B(0))<br />

AssignProtocolParam<br />

As s ignProtoc olParam<br />

True<br />

True<br />

True<br />

NMT Klassse<br />

entscheidet ueber<br />

Guardingun terstuetzung<br />

el se<br />

SetGuardCobId(<br />

WHL2W(canbuffer(3),<br />

canbuffer(2)))<br />

SetGuardTimePar(<br />

WHL2W(canbuffer(5),<br />

canbuffer(4)),<br />

canbuffer(6))<br />

(B2I(canbuffer(1))


Presentation section<br />

45<br />

A Formal <strong>Language</strong><br />

1. Syntactic Analysis<br />

2. Semantic Analysis<br />

3. Error correction<br />

© Telelogic AB


Presentation section<br />

46<br />

Verification & Validation<br />

1. Bit State Exploration<br />

2. R<strong>and</strong>om Walk<br />

3. Power Walk<br />

4. Exhaustive<br />

5. Tree Search<br />

6. MSC-Verification<br />

7. Navigator Walk<br />

© Telelogic AB


Presentation section<br />

47<br />

Simulation helps avoiding errors!<br />

© Telelogic AB


Agenda<br />

48<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Agenda<br />

49<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


<strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

50<br />

Programming a LEGO Robot with <strong>SDL</strong><br />

• LEGO MINDSTORMS<br />

• Developed for ages 11 <strong>and</strong> up<br />

• RCX Microcomputer<br />

• CD-ROM Software<br />

• 717 pieces, including:<br />

–2 Motors<br />

– 2 Touch Sensors<br />

– 1 Light Sensor<br />

– Infrared Transmitter<br />

© Telelogic AB


<strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

51<br />

• Hitachi H8300 micro controller<br />

• 32kb off-chip RAM<br />

• 3 input ports<br />

• 3 output ports<br />

• LCD display panel<br />

• Control buttons<br />

• Infrared communications port<br />

<strong>The</strong> RCX<br />

© Telelogic AB


<strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

52<br />

Building the Application<br />

Hostcomputer:notebook :HitachiH8<br />

First, the OS has to be downloaded via IR communication:<br />

firmdl3 -s LegOS.srec<br />

«executable»<br />

firmdl3.exe<br />

«file»<br />

env.c<br />

«executable»<br />

dll.exe<br />

«executable»<br />

h8300-hms-gcc.exe<br />

Tau <strong>SDL</strong> Suite<br />

«executable»<br />

TargetingExpert<br />

«file»<br />

LegOS.srec<br />

<strong>SDL</strong>System<br />

«be<strong>comes</strong>»<br />

«file»<br />

RCXExecutable<br />

<strong>The</strong> targeting expert automatically compiles, links<br />

<strong>and</strong> downloads the <strong>SDL</strong> system onto the robot.<br />

For the download via IR communication<br />

the targeting expert uses dll.exe<br />

«be<strong>comes</strong>»<br />

IR<br />

communication<br />

«be<strong>comes</strong>»<br />

:LegOS<br />

:LegOS<br />

:RCXExecutable<br />

:Application<br />

«call»<br />

© Telelogic AB


Agenda<br />

53<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Agenda<br />

54<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Wrap Up<br />

55<br />

Wrap Up – <strong>SDL</strong><br />

• industry proven language for the development of complex distributed<br />

<strong>and</strong> event driven systems.<br />

• particularly suited for the specification of concurrent <strong>and</strong><br />

communicating real-time processes based on an EFSM formalism.<br />

• defined by a graphical as well as a textual representation.<br />

• formal language <strong>and</strong> thus can be used for complete automatic code<br />

generation<br />

• independent of any implementation language<br />

• language St<strong>and</strong>ard (currently <strong>SDL</strong>-2000, ITU-T, Z.100)<br />

• intuitive to use <strong>and</strong> read<br />

• Tool support for code generation, simulation <strong>and</strong> validation<br />

© Telelogic AB


Agenda<br />

56<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Agenda<br />

57<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


What's next?<br />

58<br />

UML <strong>and</strong> <strong>SDL</strong> - Merging languages<br />

Analysis <strong>and</strong><br />

high-level design<br />

Real-time design<br />

<strong>and</strong> simulation<br />

Now<br />

MSC<br />

UML<br />

<strong>SDL</strong><br />

Analysis<br />

<strong>and</strong> Data<br />

2001/2002<br />

UML 2.0/<br />

<strong>SDL</strong>2000<br />

Behavior <strong>and</strong><br />

structure<br />

Seamless<br />

real-time<br />

development<br />

workflow<br />

© Telelogic AB


Presentation section<br />

59<br />

What benefits did we get with UML 1.x?<br />

• UML is a tool for communication!<br />

• Programmers, customers, managers, domain experts will have a<br />

common underst<strong>and</strong>ing of the system functionality<br />

OK,<br />

Spencer<br />

Put out your<br />

tongue <strong>and</strong><br />

say Ahhh!<br />

Ahhh!<br />

© Telelogic AB


Presentation section<br />

• Most systems being modeled are<br />

so complex that a single kind of<br />

diagram cannot clearly <strong>and</strong><br />

completely describe the system.<br />

• Because of this, UML provides<br />

different diagram types, each type<br />

offering a different view or<br />

perspective on the system.<br />

60<br />

What benefits did we get with UML 1.x? (cont.)<br />

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

© Telelogic AB


What's next?<br />

61<br />

What are the weaknesses of UML 1.x?<br />

• UML 1.x is a fine language for <strong>what</strong> it was designed for<br />

– analysis <strong>and</strong> modeling of software.<br />

• But there are a number of problems with UML 1.x:<br />

Vending Machine<br />

– excessive size <strong>and</strong> gratuitous complexity<br />

– imprecise semantics<br />

– non-st<strong>and</strong>ard implementations<br />

Make Tea<br />

– limited customizability<br />

Customer<br />

Make Coffee<br />

– lack of support for component-based development<br />

– inadequate semantics for executable models<br />

– missing diagram interchange capability<br />

• As technology evolves, <strong>and</strong> the requirements for large, complex<br />

systems become more dem<strong>and</strong>ing, UML also has to evolve.<br />

© Telelogic AB


What's next?<br />

62<br />

What will UML 2.0 improve?<br />

• Better support for developing component-based software<br />

• Better support for modeling architecture of software<br />

• Better alignment with other popular st<strong>and</strong>ards, such as<br />

XML/XMI, <strong>SDL</strong> <strong>and</strong> MSC.<br />

• More powerful expressions, including major<br />

parts of <strong>SDL</strong> <strong>and</strong> MSC.<br />

• Better possibilities to build tools with<br />

UML 2.0<br />

simulation <strong>and</strong> code generation<br />

• Better support for executable models <strong>and</strong><br />

dynamic behavior<br />

• Better diagram interchange between tools<br />

• Better scalability<br />

UML 1.4<br />

1.2<br />

UML 1.3<br />

UML 2.0 is a great<br />

UML 1.1UML leap forward<br />

UML 1.0<br />

© Telelogic AB


What's next?<br />

63<br />

How will UML 2.0 be created?<br />

• <strong>The</strong> U2 Partners (www.u2-partners.org) group including Alcatel,<br />

CA, Ericsson, HP, IBM, Motorola, Oracle, Rational <strong>and</strong> Telelogic<br />

is submitting proposals for UML 2.0.<br />

© Telelogic AB


What's next?<br />

64<br />

How will UML 2.0 be created (cont) ?<br />

• <strong>The</strong> first major proposal was submitted to OMG in August 2001.<br />

• <strong>The</strong> next proposals are planned for October 2001, December<br />

2001, February 2002 <strong>and</strong> April 2002.<br />

• After that, OMG will ratify the new st<strong>and</strong>ard: UML 2.0.<br />

20 Aug 01<br />

Infrastructure & OCL<br />

initial submissions<br />

24 Dec01<br />

Infrastructure & OCL<br />

final submissions<br />

Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun<br />

2001 2002<br />

22 Oct 01<br />

Superstructure &<br />

Diagram Interchange<br />

initial submission<br />

1 Apr 02<br />

Superstructure<br />

final submission<br />

25 Feb 02<br />

Diagram Interchange<br />

final submission<br />

6/02<br />

UML 2.0<br />

© Telelogic AB


What's next?<br />

65<br />

• Defines logical components<br />

• Hierarchical decomposition<br />

– divide <strong>and</strong> conquer (top<br />

down)<br />

– building blocks (bottom up)<br />

• Provides encapsulation<br />

– black-box approach for just<br />

the right level of detail<br />

• Enables component-based<br />

development<br />

– protect, re-use <strong>and</strong> share<br />

knowledge<br />

• Maps to physical components<br />

– EJB, COM+, ...<br />

• Equivalent to <strong>SDL</strong>-2000<br />

block diagrams.<br />

*according to latest submissions to OMG<br />

UML 2.0* news preview:<br />

Architecture diagrams<br />

realized<br />

interface<br />

User<br />

required<br />

interface<br />

Display<br />

Terminal<br />

part<br />

Input:Device<br />

Comm<strong>and</strong><br />

Data<br />

port<br />

(gate)<br />

Logic:Control<br />

connector<br />

[Log]<br />

[Verify]<br />

© Telelogic AB


What's next?<br />

66<br />

UML 2.0* news preview:<br />

Statecharts with graphical transitions<br />

• Powerful definition of<br />

behavior.<br />

• Graphical transitions<br />

visualize activities that take<br />

place during transitions.<br />

• Precise specifications without<br />

use of implementation<br />

language ensures portability<br />

<strong>and</strong> reuse.<br />

• Better scalability ensure<br />

sufficient support for<br />

industrial-scale complexity.<br />

• Equivalent to <strong>SDL</strong>-2000 state<br />

diagrams.<br />

*according to latest submissions to OMG<br />

DataLayer2<br />

10<br />

i = 10;<br />

start<br />

1(1)<br />

state<br />

input<br />

output<br />

task<br />

© Telelogic AB


What's next?<br />

67<br />

UML 2.0* news preview:<br />

Sequence diagrams<br />

• Describes the sequence of events<br />

in an easy-to-underst<strong>and</strong> format<br />

• Modularity <strong>and</strong> scaleability support<br />

reuse of design.<br />

• Better formal foundation enables<br />

analysis of complex applications<br />

<strong>and</strong> industrial large-scale testing.<br />

• Support for both object-oriented<br />

<strong>and</strong> real-time development.<br />

• Equivalent to MSC-2000 sequence<br />

charts.<br />

*according to latest submissions to OMG<br />

seq<br />

init<br />

a b c<br />

decompose<br />

reference<br />

diagrams<br />

compose<br />

diagrams<br />

© Telelogic AB


What's next?<br />

68<br />

Why is UML 2.0 interesting?<br />

• UML 2.0 is more than just a language.<br />

• UML 2.0 is part of a megatrend in systems <strong>and</strong> software<br />

development that has been going on for 40 years:<br />

Closing the abstraction gap<br />

What does this mean?<br />

© Telelogic AB


What's next?<br />

69<br />

Describing the problem<br />

”I want to know exactly <strong>what</strong> everybody in my<br />

project is doing.”<br />

“I want to automate our payroll system. ”<br />

”I want to build a nationwide cell phone system.”<br />

“I want to build a car that every American can afford.”<br />

”I want to put a man on the moon.”<br />

<strong>The</strong>se are some examples of problems <strong>and</strong><br />

how they are described.<br />

© Telelogic AB


What's next?<br />

70<br />

Solving the problem<br />

• Once the problem is described, you have to<br />

bridge a certain gap to solve the problem.<br />

– Requirements have to be interpreted.<br />

– Systems need to be decomposed.<br />

– Details are assembled.<br />

– In reality, the problem is solved at a significantly<br />

lower level.<br />

But the megatrend in all development is a<br />

constant movement upwards, to solve the<br />

problem at a higher <strong>and</strong> higher level...<br />

...getting closer <strong>and</strong> closer to the level where it<br />

was described.<br />

© Telelogic AB


What's next?<br />

71<br />

Abstraction<br />

Software Development Megatrend –<br />

Closing the Abstraction Gap<br />

1960s 1970s 1980s 1990s 2000s 2010s<br />

Problem <strong>Description</strong><br />

Abstraction gap to bridge<br />

Solution<br />

© Telelogic AB


What's next?<br />

72<br />

<strong>The</strong> Abstraction gap to bridge<br />

“I want to<br />

automate our<br />

payroll system.”<br />

00110100110<br />

00111000011<br />

...<br />

© Telelogic AB


What's next?<br />

73<br />

How to bridge the gap?<br />

“I want to<br />

automate our<br />

payroll system.”<br />

00110100110<br />

00111000011<br />

...<br />

Problem Space Solution Space<br />

• <strong>The</strong> developer must establish the association between the<br />

machine model (solution space) <strong>and</strong> the model of the<br />

problem that is actually being solved (problem space).<br />

• Unfortunately, this mapping is complicated because it is<br />

extrinsic to programming languages!<br />

© Telelogic AB


What's next?<br />

74<br />

“I want to<br />

automate our<br />

payroll system.”<br />

<strong>The</strong> origin of the gap<br />

00110100110<br />

00111000011<br />

...<br />

• Of course, all (programming) languages provide<br />

abstractions!<br />

BUT<br />

• the complexity of a problem one is able to solve is<br />

directly related to:<br />

• <strong>The</strong> kind <strong>and</strong> quality of abstraction<br />

• <strong>The</strong> ability to automate the solution creation<br />

© Telelogic AB


What's next?<br />

75<br />

Advanced software engineering –<br />

real-time space<br />

1960s 1970s 1980s 1990s 2000s 2010s<br />

Problem<br />

Solution:<br />

Microcode<br />

Problem Problem Problem Problem Problem<br />

Gap to bridge<br />

Solution:<br />

Assembler<br />

Automation<br />

Solution:<br />

C<br />

Automation<br />

Solution:<br />

<strong>SDL</strong><br />

Automation<br />

Solution:<br />

UML 2.0<br />

Automation<br />

Solution:<br />

Visual<br />

requirements<br />

expression?<br />

Automation<br />

© Telelogic AB


What's next?<br />

76<br />

Wrap Up – UML 2.0<br />

• UML 2.0 is the next major revision of the Unified Modeling <strong>Language</strong>, a<br />

visual language for specifying, constructing <strong>and</strong> documenting software<br />

systems.<br />

• UML 1.x was first st<strong>and</strong>ardized in 1997 by the Object Management Group<br />

(OMG), <strong>and</strong> it is currently at version 1.4.<br />

• UML 2.0 is being defined right now, <strong>and</strong> is planned for release in 2002.<br />

• UML 2.0 will be a merge of UML 1.x <strong>and</strong> <strong>SDL</strong>/MSC.<br />

© Telelogic AB


Agenda<br />

77<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Agenda<br />

78<br />

• Who is Telelogic?<br />

• <strong>SDL</strong> in a Nutshell<br />

• <strong>SDL</strong> for ages 11 <strong>and</strong> up<br />

• Wrap Up<br />

• What‘s next?<br />

– <strong>SDL</strong> 2000, UML 2.0<br />

• Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

Agenda<br />

© Telelogic AB


Telelogic <strong>and</strong> the St<strong>and</strong>ards<br />

79<br />

Telelogic today<br />

• Telelogic is involved where the future is defined!<br />

© Telelogic AB<br />

– Telelogic’s Chief Technologist Cris Kobryn co-chairs the UML 2.0 work in<br />

OMG <strong>and</strong> co-authors the UML 2.0 proposal<br />

– Telelogic is strongly involved in the elaboration of new significant<br />

st<strong>and</strong>ards in ITU, ETSI <strong>and</strong> 3GPP<br />

– Telelogic is the leading tool provider for advanced wireless software<br />

development <strong>and</strong> 3G projects<br />

• Telelogic has the leading position in the visual real-time development<br />

market<br />

– 46% market share of Software Modeling Tools (according to VDC 2000)<br />

Thank you for your attention!

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!