Re: [OCLinEcore] Calling operations within constraints [message #526423] |
Sat, 10 April 2010 19:47 |
Ed Merks Messages: 33216 Registered: July 2009 |
Senior Member |
|
|
This seems more of an OCL question so I've redirect it to their newsgroup.
sapereaude wrote:
> I've been working with EMF (Helios M6) for about one week now,
> developing a domain model for my student research project. The
> structure of my model is finished and now I am working on the
> constraints. Since some of my constraints are a little more complex, I
> want to embed operations into them.
>
> But when I call an operation from within a constraint, I get useless
> results.
>
> Here is a minimal example model:
>
> http://www.abload.de/image.php?img=oclproblemk2b0.png
>
> The "mustHaveName" constraint is properly evaluated, but the
> "notOwnDescendant" constraint doesn't work even if it is clearly
> violated.
>
> Any ideas what I might be doing wrong?
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
|
Re: [OCLinEcore] Calling operations within constraints [message #526453 is a reply to message #526423] |
Sun, 11 April 2010 09:53 |
|
There is no error in the log. I also tried the closure-operator, but with no success. However I want to point out that this has nothing to do with this specific operation, it is just an example.
I also tried to define an operation called "childrenSize() : EInt" (children->size())
and then define a constraint called "hasManyChildren" (childrenSize() > 2)
In my instance model this constraint is violated on all persons (everyone has exactly one child), but validation completes without errors.
If I directly define "hasManyChildren" as (children->size() > 2), then it is properly evaluated and I get the expected errors on my instance model.
Edit: I looked into the error log again and for the above example it says "Unknown operation type ">"", so I guess "childrenSize()" is returning a null value. But I have no idea why.
[Updated on: Sun, 11 April 2010 10:14] Report message to a moderator
|
|
|
|
Powered by
FUDForum. Page generated in 0.03596 seconds