History of SDL and MSC
1992 White Book SDL-92, MSCObject SDL. Types for blocks, processes, serviceswith inheritance and parameterisation.Methodology guidelines.
industry from medical equipment to the European Space Agency.
1995 SDL with ASN.1 (Z.105)
1996 Addendum 1 SDL-92, MSC-96Language stable. Some relaxation of rules. SDL+ Methodology. Tools offer SDL-92 features.
1999 SDL-2000, MSC-2000Object modelling support.Improved implementation support. Data models revised.
There was a significant update to SDL in 1992 by the addition of type constructs for an object oriented version of SDL. It is perhaps natural that much of input for this version came from Norway (the home of Simula) through Birger Møller-Pedersen and Øystein Haugen (then at NCC, Oslo). It took time for tools and users to catch-up with this innovation, so the changes in 1996 were minor and were made by an addendum to the 1992 standard.
1992 saw the introduction of MSC as a separate standard. Previously they had been an auxiliary notation used with SDL. Ekkart Rudolph of Siemens proposed MSC as a standard in 1989 and became rapporteur for the work. Major 1996 additions were “road map” HMSCs and in-line expressions.
As noted above, SDL (or SDL-like) notations have been in use in the telecommunications industry throughout the life of SDL as a standard. Things changed significantly around 1984, as the first tools were being introduced. Tools forced both users and the designers of SDL to be more formal. This required more work, but the benefits were the identification of errors and the ability to animate models, so that “what if” questions could be answered.
Uptake of tools was initially slow even within the industry, because using the graphical tools was slow and expensive. Since 1984 computer graphics has become common, prices have fallen and speed has risen significantly. The situation today is that SDL tools have high functionality, and a proven track record. The SDL tool market expanded significantly in the 1996-2000 period.
The market has also changed, because it has become practical to use SDL for generating implementations (more or less) directly. SDL tools can generate programming languages (usually C/C++) directly from SDL and these can be linked with a run time system to make products. The generated C++ is treated as an intermediate language in much the same way as compilers treat assembly language. Of course, SDL can still be used in an abstract way with informal text, so that SDL is a broad-spectrum language that can be used from requirements capture to implementation.
These latest trends have pushed SDL-2000 in two directions: linking with object modelling (in particular UML), and improving its use for implementation. Examples of modelling changes are the introduction of interfaces and the unified agent concept for blocks, processes and services. Examples if the changes for implementation are a major revision of the data model, exception handling, and the introduction of textual algorithms to be used on diagrams.
MSC-2000 was updated to include a general data mechanism, time intervals, more object orientation and method calls.