Object-Oriented and Real-Time Techniques: Combined Use of OMT, SDL and MSC

Abstract

Starting from the assessment that general-purpose, object-oriented techniques such as OMT address specific real-time issues only partially, this chapter presents the OORT (Object-Oriented Real-time Techniques) method which has been defined especially for real-time system engineering. This method combines OMT with two formal description techniques, SDL and MSC, which are widespread in the telecom area. OMT is used for capturing user requirements and for designing data, whereas SDL is used to design the system and formally define its behavior. MSCs play a central role in this approach: at the analysis stage, they support the use case modeling, and at the development stage they are used to produce the test sequences for testing and validating the system design and the actual implementation. A combination of notations is relevant only if the different models produced are complementary and coherent. For this purpose, OORT includes a set of consistency rules to apply when building the models. OORT also proposes a complete engineering process which covers all the phases of a development project, from system requirements to delivery. The OORT process is based on the iterative process model in order to take advantage of all the expected benefits of using object-oriented and formal description techniques such as rapid prototyping, early verification and validation, immediate reuse, code generation and test generation automation.

A combination of notations is relevant only if the different models produced are complementary and coherent. For this purpose, OORT includes a set of consistency rules to apply when building the models.

OORT also proposes a complete engineering process which covers all the phases of a development project, from system requirements to delivery. The OORT process is based on the iterative process model in order to take advantage of all the expected benefits of using object-oriented and formal description techniques such as rapid prototyping, early verification and validation, immediate reuse, code generation and test generation automation.