UML models consist of several diagrams of different types describing different views of a software system ranging from specifications of the static system structure to descriptions of system snapshots and dynamic behaviour. In this paper a heterogeneous approach to the semantics of UML is proposed where each diagram type can be described in its " natural "… (More)
A type inference system and a big-step operational semantics for expressions of the " Object Constraint Language " (OCL), the declarative and naviga-tional constraint language for the " Unified Modeling Language " (UML), are provided; the account is mainly based on OCL 1.4/5, but also includes the main features of OCL 2.0. The formal systems are… (More)
The OCL 1.4 specification introduces let-declarations for adding auxiliary class features in static structures of the UML. We provide a type inference system and a big-step operational semantics for the OCL 1.4 that treat UML static structures and UML object models abstractly and accommodate for additional declarations; the operational semantics satisfies a… (More)
To the memory of my mother María Rosa, to my father Victorino, to Luis. Acknowledgments This work was only possible due to the help of many people. I would like to express my sincere thanks to some of them. My parents initiated me to doubt and reason. My teachers at the university supported me and my inquisitive questions; one who deserves special mention… (More)
semantics for the merger of those languages. The semantics allows the recognition of valid and invalid behaviors of a system with time constraints. An analysis of the properties derived from the semantics is also done. In particular, the notions of refinement of interactions and refinement of constraints, intended for formal verification, are explored.
Means for the representation of variability in UML 2.0 interactions, as presented in a previous work, are further formalised and given a mathematically formal semantics. In this way, UML 2.0 interactions can be used in the conception and development of system families within domain and application engineering tasks. Following the transition from domain to… (More)