SDL The Simplest Useful Enhanced SDLSubset SDL The
SDL+ The Simplest, Useful Enhanced SDL-Subset SDL+ The simplest, useful, enhanced SDL-subset! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset SDL Background n SDL is a world-leader n n the most popular graphical representation Special characteristics of SDL are n Graphical representation n n Hierarchical structure Functionality Built-in concepts of states and events But SDL has become big & complex “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset SDL+ The language of the people! n The SDL Task Force designed SDL+ to be n n accessible to users with typical requirements bring implementation and testing closer together n n The starting point is: What is a state machine? n n allowing greater integration of tools And everything for implementation follows… Then to ask: What is a test? n And everything for testing follows… SDL+ is really easy! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset So What is a State Machine? n n The most basic mechanism in SDL+ Interface n n State n n Defines behaviour for a set of events State-Event Matrix n n Communication with other state machines Defines behaviour for the state machine Context n Associated information, such as variables “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset State Machine: Interface n Used for communication with the environment n Other state machines connected via gates n n Gates are docking points for connections Communication is based on events n n Protocol Data Unit sent or received at a gate Typically a list of signals n Signals have parameters, which must be present if defined “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset State Machine: State n A state is a set of event constraints n n Each event constraint has a behaviour (action) An event constraint matches a received event if n n the gate constraint and the PDU constraint match n n Wildcards for any gate and any PDU n n For signals this means signal name and parameters Also for any signal and any value Only one state can be active at a time “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset State Machine: State-Event Matrix n n Defines the behavior for all states Special states n Start n n n No possible inputs Defines the behavior when the state machine starts Default n Defines the behavior for undefined events n If not defined in the active state “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset State Machine: Context n Associated information stored between events n Variables n n n Data types from ASN. 1 -subset based on X. 680 Local variables for procedures Timers “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset State Machine: Conclusions n n Fully compatible with subset of SDL concepts Introduction of an extended notion of event n n n Any data type Signal parameter values are checked Improved scoping & data-hiding This is already enough to implement the ITU-T specifications, such as SS 7, ISDN & INAP! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Dimensioning n Define a specific number of state machines n n Or a specific number of gates n n n Arrays of states machines Arrays of gates And connect them with a single connection An index variable is only needed for gates n Limitations necessary to manage index values Re-dimension a system by changing a single parameter. “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset PDU Encoding n Convert a variable to an ASN. 1 encoded PDU n n Convert an ASN. 1 encoded PDU to a variable n n n ENCODE Variable TO PDU USING Encoding_Rule DECODE PDU TO Variable USING Encoding_Rule No additional information needed No additional ASN. 1 compilers needed Also works for non ASN. 1 formatted PDUs! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset PDU Encoding Rules Considered n n Basic Encoding Rules (BER) Packed Encoding Rules (PER) Basic Aligned Packed Encoding Rules (BA_PER) SER (SDL+ Encoding Rule) n n All values as 32 bit integers SRER (SDL+ Reduced Encoding Rule) n No tag information, supports non-ASN. 1 PDUs “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Encoding / Decoding Protocol stack • Receive signal with ASN. 1 Variable • ENCODE Variable TO PDU • send PDU ASP for this layer FSM SDL-Signals Codec PDUs ASP* of lower layer * ASP = Abstract Service Primitive “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org • Receive PDU • DECODE PDU TO ASN. 1 Variable • send Signal
SDL+ The Simplest, Useful Enhanced SDL-Subset What is a Test? n A test is n n n A sequence of stimuli and expected responses Chosen to test a specific behaviour A test result is n A conclusion reached from carrying out a set of tests n n Recording the individual success of each test A test results confirms n the implementation of a test object. “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Testing State Machines with SDL+ n There are many types of testing n n n Load tests, functional tests, regression tests. . . White box tests, black box tests. . . SDL+ is designed for state machines. . . And state machines look like black boxes. . . So SDL+ is designed for black box testing But SDL+ can probably be used for any kind of event-based testing! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Potential Benefits n n n Data sharing Portability Components recycling n n Procedures, signals, user-defined data types Ease of use – one language instead of two n n Cheaper to implement tools Faster to learn Use the same language for system specification and test specification! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset General Requirements for Test Specifications Key Requirements Features used for State Machines Tester & IUT Blocks/Processes Connecting between tester and IUT Gates & Channels Communication between tester and IUT Signals sent & received Sending stimuli to IUT Output Receiving responses from IUT Input Storing & Transferring data Variables & Data Type Control of Flow Decisions, Labels & Join Test Step Replication Procedures Measuring the timing of responses Timers Implementing a test suite is similar to implementing a state machine! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Specific Requirements n A set of tests needs organisation n n Test suite, test groups, test cases and test purpose. A test needs to check received values are correct n Constraint n n A test has a conclusion, successful or not n Verdict (Pass, Fail or Inconclusive) n n Already defined for implementing state machines Preliminary or Final (end of test) Configuration data (test suite parameters) n Change constants without rebuilding “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Interface to Test Object n n A test object is a state machine. . . A state machine has an interface. . . n n n Gates & Events (Signals) . . . And a test suite connects to a test object. . . So a test suite has the same interface n Use same gates & events Working with the same concepts for implementation and testing just makes everything much easier! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset SDL+ for Testing interface definition protocol stack test harness FSM test suite Codec test object “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org tester test suite
SDL+ The Simplest, Useful Enhanced SDL-Subset Summary of Features for Testing n n n Test Suite Test Group Test Case Test Purpose Matching Mechanism n n n Already defined for state machines Verdict Test Suite Parameters SDL+ Sometimes things really can be that simple! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Additional Features Under Consideration n n Test case selection expressions Parameterized constraint types Test Suite Variables Discussion ongoing “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Summary n SDL+ is lightweight n n n But suitable for heavyweight applications All features are the ‘simplest, useful’ It is almost fully compatible with an SDL-subset n SDL-2000 could be defined as an extension n SDL+ has one major difference to SDL. . . n . . . It has features for testing state machines! One language can be used for the implementation and testing of state machines! “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
SDL+ The Simplest, Useful Enhanced SDL-Subset Future n n Use SDL+ to promote SDL Increase acceptance by users n n n Improve the documentation Cooperate with more tool suppliers n n Getting started, tutorials, examples Embedded systems, safety critical… Cooperate with the ITU-T! We need your support – join us at: www. SDL-Task-Force. org “The documentation is the design, the design is the system!” Copyright © 2003 -2004 SDL Task Force Consortium. All rights reserved www. SDL-Task-Force. org
- Slides: 24