1 - IntroductionAs its name states, SDL-RT is based on SDL standard from ITU extended with real time concepts. V2.0 has introduced support of UML from OMG in order to extend SDL-RT usage to static part of the embedded software and distributed systems.
SDL has been developed in the first place to specify telecommunication protocols but experience showed some of its basic principles could be used in a wide variety of real time and embedded systems. Its main benefits are:
But SDL was not meant to design real time systems and some major drawbacks prevented it to be widely used in the industry:
SDL being a graphical language it is obviously not suited for any type of coding. Some parts of the application still need to be written in C or assembly language. Furthermore legacy code or off the shelf libraries such as RTOS, protocol stacks, drivers have C APIs. Last but not least there is no SDL compilers so SDL need to be translated into C code to get down to target. So all SDL benefits are lost when it comes to real coding and integration with real hardware and software.
Considering the above considerations a real time extension to SDL needed to be defined that would keep the benefits of SDL and solve its weaknesses. The simpler the better ! SDL-RT was born based on 2 basic principles:
UML diagrams have been added to SDL-RT V2.0 to extend SDL-RT application field:
- When it comes to object orientation, UML class diagram brings a perfect graphical representation of the classes organisation and relations. Dynamic classes represent SDL agents and static classes represent C++ classes.
- To handle distributed systems, UML deployment diagram offers a graphical representation of the physical architecture and how the different nodes communicate with each other.
The result, SDL-RT, is a: