Who said people didn’t like the Object Constraint Language (OCL)? Our OCL tutorial (I wrote it together with Martin Gogolla) has just passed the 100.000 views mark on Slideshare.
In case you’re not one of those 100.000, you can correct your mistake by doing it now below. Or, if you prefer, you can also read the full introductory chapter we wrote: “Object Constraint Language (OCL): A definitive guide”
While the slides are from 2012 (which explains all the mentions to my former AtlanMod team), 90% of what it says is still valid nowadays since the core of the language has not really evolved in all these years.
The slides cover:
- the motivation behind the language (i.e. why we need OCL at all),
- the language core concepts,
- its syntax (with plenty of examples),
- the OCL type system,
- the 3-valued logic,
- operations for iterator and collection expressions and
- plenty of more advanced topics (casting, null values, recursion,…).
And yes, I’m fully aware that this does not mean people actually like the OCL, they may be just interested in it or, even worse, forced to be interested in it (to be honest, at this point I’m even suspecting an anonymous OCL fan created some bots that keep accessing the page) but just let me daydream for a while ok?. And while you’re at it, take a look at my other presentations, maybe there is something else you may enjoy!.
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
Can I daydream with you :-)?
You can! (and you even have bragging rights 🙂 )
Hello,
I am working on MDE/MDA. I want to ask about the relation between domain models /design models with the four layer architecture of OMG/MDA.
What kinds of relationships that can be found in domain models and design models?
My models (in M1 layer) use associations and containments (to model requirements with a specific language).
And, I have my metamodel (in M2 layer) that uses associations, but some experts said that I have to use containment in my metamodels. because, it seems that I am using domain models and design models at the same time?
Could you please help me?
Cordially,
Nassima