Abstract

Due to the pervasiveness of diagrams in human communication and because of the increasing availability of graphical notations in Software Engineering, the study of diagrammatic notations is at the forefront of many research efforts. The expressive power of these kinds of languages and notations can be remarkably improved by adding extensibility mechanisms Extensibility, the ability of a notation or a modeling language to be extended from its own modeling constructs, is a feature that has assumed considerable importance with the appearance of the UML (Unified Modeling Language). In this paper, a holistic proposal to formally support the evolution of the UML metamodel is presented. To attain this aim, an algebraic formalization is provided which leads to a seamless formal model of the UML four-layer semantics architecture. These two characteristics — being holistic and seamless together with reflection are the most innovative aspects of the research with respect to formalizing the UML. In particular, a central role is played by reflection. A formal language supporting this feature called Maude is studied and put forward as the basis for the formalization of the UML extensibility mechanisms. Since Maude is an executable specification language, the final set of formal models can also be used as a UML virtual machine at the specification level. To illustrate the approach, a UML Class Diagram prototype is implemented using the Maude interpreter. The integration of this Maude prototype with a UML commercial CASE has been developed, in Java, and is currently working.

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