the specification and description language sdl...1 © telelogic ab the specification and description...
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!