Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
The Object Constraint Language: Getting Your Models Ready for MDA
The Object Constraint Language: Getting Your Models Ready for MDA
USE: A UML-based specification environment for validating UML and OCL
Science of Computer Programming
Detecting and Repairing Inconsistencies across Heterogeneous Models
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Validation and Verification of an UML/OCL Model with USE and B: Case Study and Lessons Learnt
ICSTW '08 Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop
Applications of Graph Transformations with Industrial Relevance
Integrating OCL and textual modelling languages
MODELS'10 Proceedings of the 2010 international conference on Models in software engineering
An extensible OCL virtual machine and code generator
Proceedings of the 12th Workshop on OCL and Textual Modelling
DropsBox: the Dresden Open Software Toolbox
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
In recent years, OCL advanced from a language used to constrain UML models to a constraint language that is applied to various modelling languages. This includes Domain Specific Languages (DSLs) and meta-modelling languages like MOF or Ecore. Consequently, it is rather common to provide variability for OCL parsers to work with different modelling languages. A second variability dimension relates to the technical space that models are realised in. Current OCL interpreters do not support such variability as their implementation is typically bound to a specific technical space like Java, Ecore, or a specific model repository. In this paper we propose a generic adaptation architecture for OCL that hides models and model instances behind well-defined interfaces. We present how the implementation of such an architecture for DresdenOCL enables reuse of the same OCL interpreter for various technical spaces and evaluate our approach in three case studies.