Eiffel: the language
An object-oriented environment: principles and application
An object-oriented environment: principles and application
The object database standard: ODMG 2.0
The object database standard: ODMG 2.0
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Optimizing Queries with Universal Quantification in Object-Oriented and Object-Relational Databases
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
On Formalizing the UML Object Constraint Language OCL
ER '98 Proceedings of the 17th International Conference on Conceptual Modeling
Interpreting the Object Constraint Language
APSEC '98 Proceedings of the Fifth Asia Pacific Software Engineering Conference
iContract - The Java(tm) Design by Contract(tm) Tool
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Towards a Consistent Viewpoint on Consistency for Persistent Applications
Proceedings of the International Symposium on Objects and Databases
Software testing using imprecise OCL constraints as oracles
CompSysTech '07 Proceedings of the 2007 international conference on Computer systems and technologies
Toward Translating Design Constraints to Run-Time Assertions
Electronic Notes in Theoretical Computer Science (ENTCS)
Performance-driven interface contract enforcement for scientific components
CBSE'07 Proceedings of the 10th international conference on Component-based software engineering
Hi-index | 0.00 |
The Object Constraint Language (OCL) forms part of the UML notation as a language to complete graphical models by expressing precise constraints or assertions. As OCL is developed as a non-executable language, expressed properties cannot be embedded as executable assertions in the resulting implementations to provide correctness testing. Nonetheless a large part of OCL seems to be easily executable, but straightforward implementations would be inefficient and detrimental to the approach. This paper proposes a pragmatic solution for an OCL runtime support and determines the origins of potential inefficiency. The evaluation of assertions is streamlined according to their roles and the possibility of sampling quantified assertions. The triggering of assertions is driven by a changed-based system that simplifies large-scale use while ensuring that unstable parts undergo more controls.