Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Effective Java programming language guide
Effective Java programming language guide
Aspect-oriented programming: Introduction
Communications of the ACM
Modern Compiler Implementation in Java
Modern Compiler Implementation in Java
Revised Papers from the Second International Workshop on Engineering Distributed Objects
EDO '00 Revised Papers from the Second International Workshop on Engineering Distributed Objects
MDA Explained: The Model Driven Architecture: Practice and Promise
MDA Explained: The Model Driven Architecture: Practice and Promise
Investigating the use of analysis contracts to improve the testability of object-oriented code
Software—Practice & Experience
A Controlled Experiment on the Impact of the Object Constraint Language in UML-Based Development
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Runtime Checking of UML Association-Related Constraints
WODA '07 Proceedings of the 5th International Workshop on Dynamic Analysis
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Incremental integrity checking of UML/OCL conceptual schemas
Journal of Systems and Software
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
From declarative to imperative UML/OCL operation specifications
ER'07 Proceedings of the 26th international conference on Conceptual modeling
An abstract machine for the old value retrieval
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Constraint support in MDA tools: a survey
ECMDA-FA'06 Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications
OCL-based runtime monitoring of applications with protocol state machines
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
Past expression: encapsulating pre-states at post-conditions by means of AOP
Proceedings of the 12th annual international conference on Aspect-oriented software development
On the Validation of Invariants at Runtime
Fundamenta Informaticae
Hi-index | 0.00 |
Analysis and design by contract allows the definition of a formal agreement between a class and its clients, expressing each party's rights and obligations. Contracts written in the Object Constraint Language (OCL) are known to be a useful technique to specify the precondition and postcondition of operations and class invariants in a UML context, making the definition of object-oriented analysis or design elements more precise while also helping in testing and debugging. In this article, we report on the experiences with the development of ocl2j, a tool that automatically instruments OCL constraints in Java programs using aspect-oriented programming (AOP). The approach strives for automatic and efficient generation of contract code, and a non-intrusive instrumentation technique. A summary of our approach is given along with the results of an initial case study, the discussion of encountered problems, and the necessary future work to resolve the encountered issues.