Summary of the OCL and Textual Modelling workshop 2010

Brief summary of the OCL and Textual Modeling Workshop (co-located with MoDELS 2010). Notes taken live during the workshop (so apologies for all the mistakes, misunderstandings and incomplete information; so please if you think that what the authors are proposing is nonsense check the paper because maybe what it is nonsense, by mistake, is my summary of it) . Check the papers for more complete information.

(the workshop is happening right now so refresh the page to get the summaries of new presentations as they go on)


09.15-09.30 Introductions
Around 30 participants introduce themselves.

09.30-10.30 Session: OCL Integration and Tooling

  • 09.30-09.50 Re-engineering Eclipse MDT/OCL for Xtext. Edward Willink. PDF
    Eclipse OCL evolution to use Xtext (before it was using IMP project but that was an incubation project and could not be used to release MDT/OCL). Contrast old LPG+IMP with new Xtext approach. OCL is complex so there is a lot of difference between the concrete syntax tree and the abstract syntax graph. Xtext helped a lot with that since it generates lexer, LL parser, editor,…
    The paper contains a comparison between both implementations (Xtext and LPG+Java). For instance, Xtext implementation is at least 5 fives smaller regarding the source code but Xtest is 10 times larger regarding the classes sizes and about 11 times slower.

  • 09.50-10.10 Integrating OCL and Textual Modelling Languages. Florian Heidenreich, Jendrik Johannes, Mirko Seifert, Michael Thiele, Christian Wende and Claas Wilke. PDF
    Appropriate front end tooling to apply OCL to different languages is missing. They target integration of OCL into editors for textual modeling languages. Two possible generic strategies: external OCL definitions (OCL expressions provided in a separate file) and embedded definitions (ocl syntax mixed with the own textual modeling syntax). There are use cases for both alternatives.
    Proposed integration process consists in five steps: metamodel integration, concrete syntax integration, metamodel adaptation, static semantics integration and dynamic semantics integration. The external OCL strategy only requires two of these steps. All of them are challenging. For instance, concrete syntax integration difficult because OCL and the textual language may contain overlapping reserved words (possibility of having both grammars at the same time and switching from one to the other depending on the presence of a given token).

  • 10.10-10.30 A Feature Model for an IDE4OCL. Joanna Chimiak-Opoka and Birgit Demuth. PDF
    (Nice) Using the business motivation model (OMG) to motivate and explain the paper.
    Vision: OCL be the “supplementary language in practice. Goal: provide an IDE4OCL framework to improve usability of OCL tools. Mission: develop IDE4OCL with partners. Presented what should be the OCL tool landscape with IDE4OCL focused on the specification, evaluation and verification of OCL expressions and other tools (testing tools, modeling tools) built on top of it. The specific features for IDE4OCL have been decided after analyzing the answers to a survey they started last year (see the paper and the survey from last year). The paper presents a feature model describing all the selected features. Further input is asked to help them prioritize these features and decide which ones are mandatory.

10.30-11.00 Coffee

11.00-12.30 Session: OCL Foundations and Applications

  • 11.00-11.20 A Specification-based Test Case Generation Method for UML/OCL. Achim D. Brucker, Matthias P. Krieger, Delphine Longuet and Burkhart Wolff. PDF
    A way to find early bugs. Also useful for validation of models against legacy problems (test cases help understanding if the models corresponds to the system). Of course, suffers from state-explosion problems as all these kinds of techniques. First OCL is transformed into Standard Logic (details in the paper!). The result is unfold and recomputed to DNF form. Then, their test-generator (HOL-TestGen) can generate the tests (expressed in HOL). HOL-TestGen is integreated in Isabelle

  • 11.20-11.40 MySQL-OCL: A Stored Procedure-Based MySQL Code Generator for OCL. Marina Egea, Carolina Dania and Manuel Clavel. PDF
    Movivation: need to evaluate OCL expressions on really large scenarios and need to generate code from UML/OCL models where the persistent layer is a (MySQL) relational database. For both scenarios it would be useful to have a OCL to SQL (stored procedures) transformation. It’s not the first OCL to SQL approach but has some novelty features. MySQL4OCL is defined recursively on the structure of OCL expressions. OCL iterator expressions are mapped to stored procedures and the final output of the evaluation (e.g. recording the instances that do not satisfy the constraint) is saved in a table. This table can be later queried to see the results of the evaluation.

  • 11.40-12.00 Navigating Across Non-Navigable Ecore References via OCL. Martin Hanysz, Tobias Hoppe, Axel Uhl, Andreas Seibel, Holger Giese, Philipp Berger and Stephan Hildebrandt. PDF
    SAP has decided to migrate MOIN (proprietary modeling framework at SAP) to EMF. Several problems have to be faced during the migration. For instance, MOIN is implementation of CMOF which treats associations differently from EMF (in CMOF associations always have association ends, which implies that there is always the possibility to address the opposite of a reference; in EMF associations can be unidirectional, bidirectional ones are simulated). The solution implemented in the paper uses annotations to specify opposite role names in metamodels. The good point is that this does not break existing EMF-based toolsets.

    Adapted OCL interpreters can use this information when navigating through the association ends. Implementation of the interpreters are key to ensure scalability.

  • 12.00-12.20 Towards a Conceptual Framework Supporting Model Compilability. Dan Chiorean and Vladiela Petrascu. PDF
    The importance of defining Well Formedness Rules that specify the static
    semantics of modeling languages derives straight from the MDE objectives.
    Models conforming to the WFRs are usually called well-formed models but,
    the authors propose the concept of “compilable models” because there may
    be other kinds of rules that a model has to comply with, such as:
    methodological rules, metric rules, business rules and also because the
    proposal stress the similarity among modeling and programming languages.
    As today, models compilability is more a goal than a reality the authors
    propose a framework meant to support correct WFRs specification. The
    framework is based on detailed test driven specifications (similar to test driven programming), testing oriented formal specifications (to facilitate efficient error diagnosis in case of assertion failure) and on correct and efficient formal specifications. Due to differences between “classical” invariants used in BCR and WFR, the importance of choosing the apropriate context is emphasized. The proposals are exemplified by means of two well known case studies.

12.30-14.00 Lunch

14.00-15.30 Session: Textual Modelling

  • 14.00-14.20 Verified Visualisation of Textual Modelling Languages. Fintan Fairmichael and Joseph Kiniry. PDF
    When a language has textual and graphical aspects consistency between them is important. Research question: can we allow simultaneous editing both without worrying about consistency?
    Uses BON as example modeling language. BON has both textual and graphical representation (one-to-one mapping between them). Their approach is to formalize the relationship between the two (they use PVS). Given this relationship they can determine if one corresponds to the other and provide one from the other. In the case of BON, this is a bijective relationship. (Incremental) model evolution can also be dealt with in a similar way (defining relationships between the diffs).
    Not sure why this is not done relying on the abstract syntax representation of the model (e.g. defining equivalence between a textual and a graphical representation in terms of whether they generate the same metamodel representation?).

  • 14.20-14.40 Support for Bidirectional Model-to-Text Transformations. Anthony Anjorin, Marius Lauder, Michael Schlereth and Andy Schürr. PDF
    The title is self-explanatory (especially if you add the “using Triple Graph Grammars” at the end). This problem can be solved using tools like TCS or XText but not if you want to use your own parser, metamodel, and editor (as requested by their industrial partners). Additional requirements:homogeneous, declarative and bidirectional. Their solution: extend TGG to support bidirectional model-to-text transformations. You can use an arbitrary parser as long as it generates a “simple” tree that they can use as input for the TGG.

  • 14.40-15.00 An Overview of F-OML: An F-Logic Based Object Modeling Language. Mira Balaban and Michael Kifer. PDF
    Intended usage: extending UML (like OCL), reasoning, testing, meta-modeling. Features of the language: polymorphism, multi-level modeling and definition of model instantiations. F-OML is a semantic layer on top of PathLP (small language of guarded path expressions) formulating two main OO concepts: class and property plus several class constructors (e.g. to create a class of objects as intersection of two classes), property reification and transitive closure operations. F-OML has the expressive power of Logic programming and captures a part of second-order logic.

  • 15.00-15.10 On the Need of User-defined Libraries in OCL. Thomas Baar. PDF
    A lot of libraries in Java. Easier to download and immediately use in your Java programs. Also, libraries are organized in bundles. Why cannot we do the same in OCL? Right now, OCL has just one library (the standard one). User-defined libraries in OCL would contribute to a more active community in OCL.
    Showing an example of how to solve the same problem (isOrphan method in a graph node) in Java and OCL. In Java easy to solve by reusing a user-defined Java Graph library. In OCL such thing does not exist. Next, it is shown how to resolve the problem for OCL assuming that a library mechanism for OCL is possible. Looks nice but not free of challenges: no import statement for OCL, different import-statements in UML and no mechanisms for customization.

15.30-16.00 Tea

16:00-17:30 Discussion session

  • 16.00-16.30 Invited Presentation: Evolution of the OCL OMG Specification. Mariano Belaunde. PDF
    Mariano (Chairman of the OCL finalization and revision task force) talks about the evolution of the OCL and of the process for evolving it.
    In 2003 OCL becomes a stand-alone specification. In 2005 people from the QVT standard takes over the OCL standardization process (that was kind of orphan at the moment) and finalize OCL 2.0 (which was only partially aligned with UML 2.0). In 2009, the alignment was completed. In 2011, OCL 2.3 (or 2.4) to come.
    About the maintenance process. Aim of the OMG: to be open (everybody can submit issues), fair (voting procedure but only for OMG members) and transparent (all changes to the specification tracked). This makes it very time-consuming.
    Problems in the OCL spec maintenance:1- Not enough man power (companies interested in creating new standards not to maintain existing ones).2- Too formal (wrt to the tools available for validating/verifying this formality) and several partial formal representaions that are not always synchronized. Audience does not agree. Most important problem is that there are several partial formal representations that do not always coincide.

    Novelties in OCL 2.3: Enhancing the OCL library, OCL collections as plain objects, continuing UML2 alignment. Still many other future challenges (e.g. OCL reflection, support of stereotypes,..)
    Collaboration from the attendees is welcome to help fixing all the problems with the specification (instead of just pointing to them :-) ).

    If you enjoyed this post you can subscribe to this Software Modeling blog , to the portal’s mailing list , follow me ON twitter AND/OR CHECK the most popular posts . AND if you really liked it help me pass it ON TO others by bookmarking AND sharing the post USING the links below:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress
More in event, modeling, OCL
Launching the UML to PHP online generation service
Merging the portal Model-driven online services
(For Academics) Online Survey on Tools in Modeling Education
Close