Abstract

This paper describes a formal, modular approach to the semantics of object-oriented models. These models are expressed in the UML notation augmented with the Object Constraint language (OCL), which provides a precise textual language for expressing assertions: invariant constraints and operation specifications. The approach to semantics we adopt could easily be applied to other, similar notation sets. An important aspect of our approach is to treat every component of a model, down to the level of individual diagram elements, as distinct semantic entities which, here, are theories in Larch. The semantics of a model or part of a model is then the composition of the semantic entities corresponding to the individual model elements. This leads to a highly modular approach, allowing reuse of generic semantic entities, resulting in an elegant, transparent semantics for individual models. The fine-grained modularity promises to support the extraction and manipulation of different views of a model. The composition of model elements supported by the semantics promises to underpin the development of systems from reusable components. Larch is used as it supports theory composition, ensures that the semantics is relatively accessible (essentially theories of FOPL), is well-defined, and is close to technologies most likely to provide automated tool support (including a toolset to support it directly).

Highlights

  • Modern object-oriented modelling notations, such as the Unified Modelling Language (UML) [28][14] are based on graphical notations for expressing a wide variety of concepts which are relevant to the presentation of software requirements

  • Semantics work [6][12] for OO models in widespread use, such as OMT or UML, is generally restricted to capturing the meaning of the graphical notation used, so accompanying precise textual languages have yet to be considered, as they are only becoming part of those notations in the form of the Object Constraint Language (OCL)

  • Having shown how the type and association constructs of the modelling notation are mapped to Larch, the diagram consisting of the object types %, and the association between them is partially specified by a trait that includes the traits Object-Type-% and Object-Typethat specify the types % and respectively, and the association trait

Read more

Summary

Introduction

Modern object-oriented modelling notations, such as the Unified Modelling Language (UML) [28][14] are based on graphical notations for expressing a wide variety of concepts which are relevant to the presentation of software requirements. Semantics work [6][12] for OO models in widespread use, such as OMT or UML, is generally restricted to capturing the meaning of the graphical notation used, so accompanying precise textual languages have yet to be considered, as they are only becoming part of those notations in the form of the OCL. These approaches don’t consider generic theories for the diagrammatic notations.

Library System Specification
Informal Requirements
Invariants
Semantics
The Larch Shared Language
Semantics of Object Types
Semantics of Associations
Cardinality Constraints
Subtyping
Semantics of Invariants
Putting it all together
Specification
Summary and Further Work
Full Text
Paper version not known

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.