Motorola India Electronics Ltd.. SDL 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 Global Software Group ITU-T Meet, Bangalore, 2001 1 May 31, 2016 Motorola India Electronics Ltd.. SDL, Is it only Auto Code Generation? • Integrated Methods and Tools for Software Development (Methodology) – – – – – Requirements - MSC SAD State Charts/UML/SDL Coding - SDL, C <AUTO CODE > 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 Global Software Group ITU-T Meet, Bangalore, 2001 2 May 31, 2016 Motorola India Electronics Ltd.. Product development with SDL Req Analysis System analysis and design Object design Verification and Validation Auto code generation System testing Global Software Group ITU-T Meet, Bangalore, 2001 3 May 31, 2016 Motorola India Electronics Ltd.. MIEL: Projects • Infrastructure projects • Control Network projects • Other Projects Global Software Group ITU-T Meet, Bangalore, 2001 4 May 31, 2016 Motorola India Electronics Ltd.. Benefits of using SDL at MIEL Attributes Range of benefits Cycle time Reduction 1.2 to 2X Productivity 1.2 to 2X Quality 2 to 5X • 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 Global Software Group ITU-T Meet, Bangalore, 2001 5 May 31, 2016 Motorola India Electronics Ltd.. Major Concerns • Technical Concerns – – – Impact on Code Size & Performance <Lack of effective code generators: Handwritten code> Data Handling Problems <Addressed in SDL-2000> • No Support for Global Data and No effective ways to write Algorithms Difficulty in Understanding Auto Generated Code <SDL to be maintained> • Managerial Concerns – – – Familiarity with Current Practices <Learning Curve> Estimation and Tracking need improvement < New approach> Cost of the tools • Customer Related – – – – Not Willing Other Modules are in C <C code integration: External procedures> On Site Maintenance Timely Delivery due to projected risk of using new technology <Not a Risk, Faster> Global Software Group ITU-T Meet, Bangalore, 2001 6 May 31, 2016 Motorola India Electronics Ltd.. Challenges 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 Global Software Group ITU-T Meet, Bangalore, 2001 7 May 31, 2016 Motorola India Electronics Ltd.. Case Study Global Software Group ITU-T Meet, Bangalore, 2001 8 May 31, 2016 Motorola India Electronics Ltd.. Specifications: 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 Global Software Group ITU-T Meet, Bangalore, 2001 9 May 31, 2016 Motorola India Electronics Ltd.. Interaction with the environment Environment System L3Chnl L3, L1 L2 L2Chnl Global Software Group ITU-T Meet, Bangalore, 2001 10 May 31, 2016 Motorola India Electronics Ltd.. Simplified FSM for L2 Start Init Idle Packet/Call BreakN_SendM_Timer(N) FinalAckFrame/Ack TimeOut/Retransmit Global Software Group ITU-T Meet, Bangalore, 2001 11 May 31, 2016 Motorola India Electronics Ltd.. SDL System Architecture SignalsPack E N V I R O N M E N T External C Code BlockType DataDefPack System Block 1 ProcessType Process 1 Global Software Group ITU-T Meet, Bangalore, 2001 12 May 31, 2016 E N V I R O N M E N T V &V Motorola India Electronics Ltd.. Test Engineer Test Data SDL Simulator <System> Traces SDL MSC Text Breakpoints Global Software Group ITU-T Meet, Bangalore, 2001 13 May 31, 2016 Motorola India Electronics Ltd.. Application Integration Other Applications Glue Logic Generated Application (Single Thread) Global Software Group ITU-T Meet, Bangalore, 2001 14 May 31, 2016 Motorola India Electronics Ltd.. Application Integration Other Applications Glue Logic Generated Application (Multi-Threaded) Global Software Group ITU-T Meet, Bangalore, 2001 15 May 31, 2016 Motorola India Electronics Ltd.. Conclusions • • • • SDL Suitability and Promises Application Perspectives Product Development Process Case Study Global Software Group ITU-T Meet, Bangalore, 2001 16 May 31, 2016 Motorola India Electronics Ltd.. Q &A Bhaskar Rao.G gbr@miel.mot.com +91-80-5598615 ext: 3091 Motorola India Electronics Pvt Ltd, Banglore- 506 042 Global Software Group ITU-T Meet, Bangalore, 2001 17 May 31, 2016 Motorola India Electronics Ltd.. Backup Slides Global Software Group ITU-T Meet, Bangalore, 2001 18 May 31, 2016 Motorola India Electronics Ltd.. SDL 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 Global Software Group ITU-T Meet, Bangalore, 2001 19 May 31, 2016 Motorola India Electronics Ltd.. SDL 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 Global Software Group ITU-T Meet, Bangalore, 2001 20 May 31, 2016 Motorola India Electronics Ltd.. Usage Perspectives of SDL • Design language – Used as primarily the design language to capture highlevel 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 Global Software Group ITU-T Meet, Bangalore, 2001 21 May 31, 2016 Motorola India Electronics Ltd.. Usage 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 Global Software Group ITU-T Meet, Bangalore, 2001 22 May 31, 2016 Motorola India Electronics Ltd.. SDL 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 Global Software Group ITU-T Meet, Bangalore, 2001 23 May 31, 2016 Motorola India Electronics Ltd.. Requirements Analysis • Importance levels Attribute level Evolvability – Critical, Medium, Low • Separate guidelines to be followed – Effectiveness of the code generator Performance – implementation/Design aspects influence the performance and code size Code Global Software Group ITU-T Meet, Bangalore, 2001 24 May 31, 2016 Motorola India Electronics Ltd.. V&V • Discrete, Real Time and Remote target simulation • Validation of MSCs • Automatic detection of deadlocks and dynamic errors • Generation of MSCs Global Software Group ITU-T Meet, Bangalore, 2001 25 May 31, 2016 Motorola India Electronics Ltd.. Code Generation Environment Run Time Library UNIX, NT, pSOS, VxWorks, … SDL Code SDT Auto Code Tool Gen. code Compiler H2SDL SDT Simulation Executable C Headers Manual C Code Global Software Group ITU-T Meet, Bangalore, 2001 26 May 31, 2016 Motorola India Electronics Ltd.. Case Study Global Software Group ITU-T Meet, Bangalore, 2001 27 May 31, 2016 Motorola India Electronics Ltd.. Problem 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 Global Software Group ITU-T Meet, Bangalore, 2001 28 May 31, 2016 Motorola India Electronics Ltd.. HLD • 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 Global Software Group ITU-T Meet, Bangalore, 2001 29 May 31, 2016 Motorola India Electronics Ltd.. Issues • 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 Global Software Group ITU-T Meet, Bangalore, 2001 30 May 31, 2016