On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Integrating data type inheritance into logic programming
Data types and persistence
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools
The PROGRES approach: language and environment
Handbook of graph grammars and computing by graph transformation
New Type Checking Rules for OCL Expressions
Modellierung 2001, Workshop der Gesellschaft für Informatik e. V. (GI)
Validating UML models and OCL constraints
UML'00 Proceedings of the 3rd international conference on The unified modeling language: advancing the standard
Modular architecture for a toolset supporting OCL
UML'00 Proceedings of the 3rd international conference on The unified modeling language: advancing the standard
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
Typechecking UML static models
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
An extended type system for OCL supporting templates and transformations
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
A benchmark for OCL engine accuracy, determinateness, and efficiency
Software and Systems Modeling (SoSyM)
Strengthening SAT-based validation of UML/OCL models by representing collections as relations
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
Hi-index | 0.00 |
The Object Constraint Language OCL is an integral part of UML, the Unified Modeling Language standard. It has been added to Rational's UML core as a logic-based sublanguage for the definition of integrity constraints (invariants) on class diagrams as well as for the definition of pre- and postconditions of operations. Despite of the fact that OCL is called a statically typed language its type checking rules are not precisely defined in the UML standard version 1.3. Furthermore, they have certain deficiencies concerning the treatment of collection manipulating operations. This paper compares three different approaches for the definition of modified OCL type checking rules, selects one of these approaches as the most appropriate one and explains the new type checking rules for this approach in more detail. All presented proposals are based on our experiences with the design of a rather similar statically typed constraint language that is part of the graph transformation language PROGRES.