Abstract

UML is widely used today for modelling complex systems. However, the tool support capabilities for UML is limited, partially due to its lack of precise semantics. There are some approaches that try to solve this by defining a formal semantics for UML, nonetheless it usually proves hard to implement the corresponding dynamic semantics. The paper presents an approach to define an executable semantics for UML that would enable tool vendors to build intelligent tools (symbolic execution, consistency checkers, etc.). We use Abstract State Machines (ASM) as an underlying formalism for our semantics definition, which is composed of static semantics and dynamic semantics. A part of the static semantics was done by expressing in ASM the UML meta-model and well formedness rules defined in the UML standard. The dynamic semantics is based on a set of behaviour primitives (time, communication, etc.). We define the ASM transition rules corresponding to UML actions. Using this semantic, we have been able to perform a symbolic execution of a UML model.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call