Title: SDL Language Relevance to Protocol/Telecom Application Development: Case Study
1SDL Language Relevance to Protocol/Telecom
Application Development Case Study
By Bhaskar Rao.G, Software Engineering
Group, Motorola India Electronics Pvt.
Ltd., Bangalore, India- 560 042
World of Communication
2SDL, Is it only Auto Code Generation?
- Integrated Methods and Tools for Software
Development (Methodology) - Requirements - MSC
- SAD - State Charts/UML/SDL
- Coding - SDL, C ltAUTO CODE gt
- Unit and Integration Testing - Simulation
Validation - System Testing - TTCN/SDL
- Code generation for multiple targets pSOS, Vrtx,
VxWorks, NT, UNIX, Classic, OSE etc - Separates Functionality from Implementation and
Environmental aspects - Design, Implementation and Test Development (with
environment) language
3Product development with SDL
Req Analysis
System analysis and design
Object design
Verification and Validation
Auto code generation
System testing
4MIEL Projects
- Infrastructure projects
- Control Network projects
- Other Projects
5Benefits of using SDL at MIEL
- Average test effort for SDL projects reduced due
to V V - No noticeable performance overhead
- SDL Based test automation was very effective
- Unit, Integration, Load, Conformance and
Performance testing - Less dependency on tools, Good Environment
support - Auto code is Scalable
6Major Concerns
- Technical Concerns
- Impact on Code Size Performance ltLack of
effective code generators Hand-written codegt - Data Handling Problems ltAddressed in SDL-2000gt
- No Support for Global Data and No effective ways
to write Algorithms - Difficulty in Understanding Auto Generated Code
ltSDL to be maintainedgt - Managerial Concerns
- Familiarity with Current Practices ltLearning
Curvegt - Estimation and Tracking need improvement lt New
approachgt - Cost of the tools
- Customer Related
- Not Willing
- Other Modules are in C ltC code integration
External proceduresgt - On Site Maintenance
- Timely Delivery due to projected risk of using
new technology ltNot a Risk, Fastergt
7Challenges ahead
- Good and Effective Code Generators
- Code size and Performance
- Direct executable instead of code generation
- SDL-2000 supporting tools
- Gap between the standard and implementation
should be small - Portable across tools
- Enhancing the SDL to support General Application
Development - Cost considerations
8Case Study
9Specifications Data Link Layer
- The Data Link Layer shall get packets from the
Network Layer, Thease packets have to be
segmented and converted Frames and sent to the
Physical Layer - Does Framing and Error Control
- Note Please Refer to ISO-OSI specs for the
detailed specifications
10Interaction with the environment
Environment
System
Ack, Nack
Packet
L2
L3, L1
L3Chnl
L2Chnl
Frame
FrAck
11Simplified FSM for L2
Init
Start
Idle
Packet/Call BreakN_SendM_Timer(N)
FinalAckFrame/Ack
WaitRsp
TimeOut/Retransmit
12SDL System Architecture
SignalsPack
DataDefPack
E N V I R O N M E N T
E N V I R O N M E N T
External C Code
System
BlockType
Block 1
ProcessType
Process 1
13V V
Test Engineer
Test Data
SDL Simulator ltSystemgt
Traces SDL MSC Text Breakpoints
14Application Integration
Other Applications
Glue Logic
Generated Application (Single Thread)
15Application Integration
Other Applications
Glue Logic
Generated Application (Multi-Threaded)
16Conclusions
- SDL Suitability and Promises
- Application Perspectives
- Product Development Process
- Case Study
17Q A
- Bhaskar Rao.G
- gbr_at_miel.mot.com
- 91-80-5598615 ext 3091
- Motorola India Electronics Pvt Ltd,
- Banglore- 506 042
18Backup Slides
19SDL Promises
- Facilitates Development of the Product from
Requirements to End - MSC, UML(State Charts), SDL, TTCN, Simulation,
Validation, Auto code, Auto Test Case generation
. - Separates Functionality from Implementation and
Environmental aspects - Designs captured at higher levels of abstraction
- Verification of functionality (Make sure it is
correct) - Specialization to a particular environment and
platform - Code generation for multiple targets
- pSOS, Vrtx, VxWorks, NT, UNIX, Classic, OSE etc
- Re-targeting 2-3 staff months effort (ONE TIME)
- Integrated approach with integrated methods
20SDL Promises (2)
- Graphical Representations
- Availability of major implementation concepts as
primitive types in the language - Timers
- Messaging
- State Machine
- Sending and Receiving
- Structuring mechanisms
- Targeting specifications
- Entire system as task
- Multiple tasks
- OS and NON OS communicating mechanisms
21Usage Perspectives of SDL
- Design language
- Used as primarily the design language to capture
high-level details - Telecom, Real Time and major protocol
development - Implementation language (with code generation)
- SDL, MSC, TTCN, Simulation, Verification, Code
Generation, C ... - Completely formal SDL representation
- Takes extra 30 effort
- Minimizes the need for extra coding phase
- Early verification and validation
22Usage Perspectives of SDL (2)
- Test case development language
- Proved to be very good for medium and high
complex systems - Unit, Integration, Performance, Conformance,
Stress testing - Features enable suitability
- FSM, Timers, Messaging, Logging, Tracing and
Reply with tool - Concurrency
- Ability to simulate the non-existing modules
23SDL Deployment at MIEL
- The SDL methodology at MIEL uses integrated
methods and tools for protocol stack software
development - Requirements - MSC
- System Analysis and Design - State Charts/SDL
- Coding - C, SDL (Code Generation)
- Unit and Integration Testing - Simulation
Validation - System Testing - TTCN/C
- Not used for incremental changes to legacy
products
24Requirements Analysis
- Importance levels
- Critical, Medium, Low
- Separate guidelines to be followed
- Effectiveness of the code generator
- implementation/Design aspects influence the
performance and code size
25 VV
- Discrete, Real Time and Remote target simulation
- Validation of MSCs
- Automatic detection of deadlocks and dynamic
errors - Generation of MSCs
26Code Generation Environment
Run Time Library UNIX, NT, pSOS, VxWorks,
SDT Auto Code Tool
SDL Code
Gen. code
Compiler
SDT Simulation
H2SDL
Executable
C Headers
Manual C Code
27Case Study
28Problem Solving Stages
- Requirement Analysis
- MSCs are helpful
- Interface Specification
- State Charts
- System Analysis and Design
- HLD with SDL
- LLD
- Detailed SDL and C code
- Logging
- Simulation
- Verifying the correctness wrt to Requirements
- Code Generation and Application Build
29HLD
- Environment
- Network Layer, Physical Layer
- Data structures
- Packet, Frame and other internal data structures
- Timers
- A timer (set) is required for very frame
- Messages
- Packet, Frame, Ack, Negative Ack
30Issues
- Application Building
- Separate Application, Part of the application,
Part of the existing application, Run on a
particular target, Multi Threading VS Single
Threading - Process
- Estimations and Actuals
- Cycle Time, IPF, Productivity
- Tracking and Controlling issues
- Lack of sufficient data
- Maintenance
- Adding New Features, Corrections, Changing the
implementations