Slide 4 of 14
If engineering1 of systems is considered as three main phases; specification, design and implementation, the role of the engineer and the language used by an engineer changes in each phase.
When specifying, the main concern is to capture the ideas from the requirements source and model these as a specification so that a dialogue can take place about the ideas.
When designing, languages are used to formalise, partition and structure the concept, so that it can be divided into more easily implemented pieces. Formal languages are often used to communicate between design engineers, and the language used for specification is an input.
During implementation of software, the designs are taken as input and the product is described in a programming language.
A key feature is that SDL is used for specification, design and implementation thus avoiding errors introduced when converting between different languages for different phases. It also combines the power of expression and communication of graphical presentation with the formality required to carry out thorough analysis.
Time to market and software costs are therefore the real issues of today. These can be improved by implementation using SDL and as close to the requirements specification as possible. Therefore, SDL is focused on the production of formal, executable specification from the requirements, and implementation by direct refinement or with perhaps only minor modification.
In telecommunications this is further supported by the production of standards such as INAP, GSM, TETRA, IMT-2000 and (possibly soon when this was written) IETF protocols in SDL.
In 1996 ITU-T already published handbook Supplement for SDL that used object modelling, MSC and SDL in a methodology framework. In SDL-2000 the class models as in UML, are formally defined as part of the language, thus enabling SDL-2000 with MSC-2000 to be a complete design solution.
1Validation and testing is not included in this simplistic view of “engineering.