Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
Debugging Larch Shared Language Specifications
IEEE Transactions on Software Engineering
The Z notation: a reference manual
The Z notation: a reference manual
Object-oriented modeling and design
Object-oriented modeling and design
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
Specifications and their use in defining subtypes
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Designing object systems: object-oriented modelling with Syntropy
Designing object systems: object-oriented modelling with Syntropy
Forcing behavioral subtyping through specification inheritance
Proceedings of the 18th international conference on Software engineering
Constraint diagrams: visualizing invariants in object-oriented models
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
On the Frame Problem in Procedure Specifications
IEEE Transactions on Software Engineering
Object Orientation in Z
Reflections on the Object Constraint Language
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
Informal Formality? The Object Constraint Language and Its Application in the UML Metamodel
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
Object Orientation in Z
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
A Component Architecture for High-Performance Scientific Computing
International Journal of High Performance Computing Applications
Performance-driven interface contract enforcement for scientific components
CBSE'07 Proceedings of the 10th international conference on Component-based software engineering
Hi-index | 0.01 |
The Object Constraint Language (OCL) is a precise language which could be used for describing constraints on object-oriented models and other modeling artifacts. The kind of constraints which can be described using OCL include invariants on classes, types and interfaces, preconditions and postconditions of operations and methods. This paper describes some enhancements to OCL that make specifications convey information more effectively. For example, adding redundant invariants, time-based constraints, postconditions, and examples could make the specification clearer to readers, and can be used in showing that the specification says what is intended. Another example of an enhancement is the use of case analysis sugar which splits up a specification into manageable parts. These enhancements have been already integrated in some specification languages such as Larch/ C++, a larch style behavioral interface specification language for C++.