Par Emanuelson
Software Engineering Research Centre Melbourne, Australia
Defining complete application semantics with the UML

Abstract:The Unified Modelling Language (UML) is a general purpose object oriented modelling language, which has been approved as an OMG international standard. UML is independent of application area, development process and programming languages.

UML is mostly used for non-rigorous modelling - that is only some aspects of the complete semantics are expressed in a model. The model mainly serves as a inspiration for manual writing of the code in a programming language.

UML cannot be used - as is - for the purpose of rigorous behavior specification and complete code generation. However UML has extension mechanisms, which can be used to create a UML specialization, which constitutes a rigorous modelling language. The scope of a specialization can be an application area or a target programming language.

Ideally it should be possible to design a rigorous modelling language with the generality of UML. However that has been considered infeasible with the current state of technology. Instead attempts are made to define specializations with different scope.

We will describe the possibilities and problems in designing a UML specialization for a non-object oriented programming language. The feasibility of using a standardized modelling tool based on the UML will be discussed.