Ads
Links
Summary of the OCL Workshop 2009
Yesterday, the OCL workshop took place in Denver as part of the MoDELS'09 conference. I think the workshop went quite well (though, as one of the organizers, I may not be objective here) and that we had a lot of interesting discussions. For those of you who could not attend, the summary of the workshop papers and discussions (at the end) is the following:
- Extending OCL with Null-References: Towards a Formal Semantics for OCL 2.1 by Brucker, Krieger and Wolff : Originally OCL had a single exception element: invalid (previously oclUndefined). This is useful to model exceptional situations (e.g. division by zero) but not appropriate to model absence of values. To fix this, the OMG introduced the null value. This is clearly a step in the right direction but the paper points some problems made during the introduction of this new null value and proposes a consistent integration of null into the semantics of OCL 2.0 showing how strict and non-strict operations, navigation expressions,… should behave in presence of invalid and null values
- On Better Understanding OCL Collections -or- An OCL Ordered Set is not an OCL Set by Buettner, Gogolla, Hamann and Kuhlmann
: The paper highlights all problems of the current definition of the OrderedSet Type and from then, starts refactoring the hierarchy of collection types in OCL (i.e. Bag, Set, Sequence and OrderedSet) rethinking the relationships between them depending on two main properties: 1 - whether they are InsertionOrderIndependence (Bag and Set) and/or SingleElementOccurrence (Set and ORderedSet). As a solution, they propose to specify OrderedSet as a subclass of Sequence (and not as a subclass of Set). This may seem strange (shouldn’t an orderedSet be a Set?) but the main problem here is that the OrderedSet as defined by the OMG does not really corresponds to the mathematical concept of OrderedSet, which forces this unnatural hierarchy. - Checking unsatisfiability for OCL constraints by Clavel, Egea and Garcia de Dios :
The paper proposes a new method for checking if a set of constraints is satisfiable. There are several solutions for this (self-advertisement: check for instance our UMLtoCSP tool ) but none is perfect (due to the undecidable nature of the full OCL language). They present an approach that it is automatic and unbounded with the “but” that does not support the full OCL expressiveness. The method works by translating the OCL expressions into first-order logic and using state-of-the-art solvers to analize the generated logic predicates. All in all, a nice addition to the set of methods for checking satisfiability of UML/OCL models. As I’ve said several times, the more we have the better. Depending on the specific characteristics of the problem at hand, designers should be able to choose the tool that offers the best trade-off of features for that specific problem. - OCL contracts for the verification of model transformations by Cariou, Nicolas, Barbier and Djemam : the goal of the paper is to be able to verify that a couple of models is the valid result of a (endogenous) transformation. This is a nice idea, since this allows designers to manually modify the models generated by the transformation but still ensure that the manually-modified transformed model is consistent with the transformation definition. Their approach works by, given a transformation specified as an OCL operation contract, extracting a set of constraints that must hold between the two models after the transformation. This approach is still in a preliminary stage since the extraction process is not yet automated (and this is possible, at least for other transformation languages as TGG or QVT as we've done here ).
- Requirements Analysis for an Integrated OCL Development Environment by Chimiak-Opoka, Demuth, Silingas and Rouquette The paper presents a list of requirements that an ideal IDE for the OCL language should have. They (as myself) believe that having a proper IDE is a mandatory requirement to widespread the use of of OCL specially among software development companies. See below the discussion section for more details on this
- Generation of Formal Model Metrics for MOF based Domain Specific Languages by Hein, Engelhardt, Ritter and Wagner : The paper addresses the automatic generation of metrics definitions (represented as instances of the OMG software metrics metamodel ) for DSLs with their Metrino tool. They have defined (a kind of) set of measurement patterns in OCL that when applied on a specific DSL generate a full list of metrics definitions. These metrics can, then, be executed on models instance of the DSL using an OCL evalauator. This is a nice work but I'm more interested in more advanced metrics. Metrics counting the number of classes, attributes, associations,... are not that useful. I'd be interested in metrics that tell me, for instance, how complex or readable is a model by aggregating several basic metrics and comparing their values with predefined thresholds empirically determined and validated.
- A MOP Based DSL for Testing Java Programs using OCL by Clark The DSL presented in this paper allows designers to write model-based tests in OCL. The novelty of the paper is that, until now, these model-based tests could not be used to test the implementation of the model (in Java for instance) because, quite often, the mapping process is not straightforward and this caused the OCL expressions to be inconsistent with the implemented model. This paper presents a method to overcome this problem and enables model-based testing of OCL expressions against different Java implementations of the same model.
- Declarative Models for Business Processes and UI Generation using OCL by Brüning and Wolff
The authors use OCL to express complex temporal relations in a business process model. Thanks to this, they are able to express flexible execution logic and UI control flows for workflows. These OCL-extended process models can be then animated using the USE tool . - Specifying OCL Constraints on Process Instantiations by Killisperger, Stumptner, Peters and Stueckl : Software development processes at Siemens are modelled on the basis of a generic reference process that individual business units adapt (“instantiate”) according to their individual needs. OCL constraints defined by business modelers (good to know that business people can write OCL! even if it is a specific subset of the OCL language) ensure that this tailoring is made in a consistent way. This consistency analysis is made by translating the models and constraints into a Constraint Satisfaction Problem. The method also allows to define correction rules for each constraint.
- Wrap up and discussion : The discussion was centered around two aspects, the ideal features of an IDE for the OCL language and the relationship between the OCL workshop community and the OMG. Regarding the first aspect, we proposed our list of features and answer a survey on this topic (the survey is available here , feel free to propose your desired features). For the second aspect, we agreed that the community around the OCL workshop should try to influence the OMG standardization process regarding the OCL language, to make sure that the problems and improvements we detect and propose are taken into consideration when preparing new versions of the standard.
Hope to see you next year at the OCL Workshop 2010!!
If you enjoyed this post you can subscribe to this Software Modeling blog and/or follow me on twitter or through the portal's mailing list . And if you really liked it help me pass it on to others by bookmarking and sharing the post using the links below:
Bookmark/Search this post with:
Trackback URL for this post:
http://modeling-languages.com/trackback/256

Delicious
Digg
StumbleUpon
Reddit
Facebook
Google
Yahoo
Technorati
ocl queries
Great! I have been thinking into actually looking at some ocl queries. It will be good at a few tiny examples. Only to get a grip. Thank you.
nice!
Thanks for the informative report-back!