Other features of SDL-2000
SDL-2000 has support for object
modelling and implementation with:
Interfaces, classes, associations
Agents
mixed blocks/processes
block creation
data at block level
Composite states
sub-states within a state
- Composite states
sub-states within a state
- Object/value data model
methods/operators algorithmically defined - inherited
objects - like references
- Interfaces as pid sorts of agents
- Exceptions
catch unusual cases
remote procedure timeouts
Notes:
A list of other features in SDL-2000 that support programming and integration with other approaches is:
- Interfaces, class symbols as references, and associations;
- Composite states;
- A unified agent concept for blocks, processes and services, that allows mixing on one diagram;
- New data model, including object data and Direct support of ASN.1 with SDL;
- Interfaces as pid sorts, Type based creation of processes;
- Textual algorithms, allowing algorithms to be placed neatly and concisely on SDL/GR diagrams and supporting a loop construct;
- Nested packages; (ODL and CORBA support)
- Exceptions and exception handling - including timeouts on remote procedures.
SDL-2000 data model is in line with the other object/type features of SDL (block type, process type etc.). Someone who is familiar with data in a (so-called) object oriented programming language such as C++ or Java should find data in SDL-2000 easy to understand. Methods and operators are defined as algorithms.1
No major enhancements to SDL are planned for the future, and for the period 2000-2003 (at least) the ITU expert group have terms of reference to keep the language stable. Some studies are planned. The programme in the short term has a revised formal definition of SDL, a revised CIF and methodology update by 2001. There is an ongoing study of time and performance issues that could lead to changes to SDL, or some way of linking requirements such as time deadlines to SDL models. There needs to be a binding of MSC data to SDL, and there is a need to be able to define encoding of SDL data on interfaces.
1Older versions of SDL used an axiomatic approach to the definition of data that was difficult to use and not fully supported by any tools, so in any case the user had to write algorithms in another language such as C to implement operators. Fortunately, SDL-2000 users can avoid these difficulties.