Without looking at the FAMIX2.2 specification, just of the top of my
head, if superclass and subclass are defined as opposites in the
inheritance definition, this is a wrong usage of opposite. Opposite is
used as such in mse:
(MSE.Class (id: 1 )
(.. (MSE.Property (id: 2)
(opposite (idref: 4))
(type (idref: 3))
...)))
(MSE.Class (id: 3 )
(.. (MSE.Property (id: 4)
(opposite (idref: 2))
(type (idref: 1))
...)))
As you can see, the type of the opposite is always the Class in which
the "opposited: property is embedded. Which doesn't match for those 2
properties, since they are embedded in InheritanceDefinition, not in
Class.
I see.
Adrian how do you detect the problems? running an OCL constraints
interpreter?
this is good that you use now constraints.
>>> - Opposites do not match: FAMIX.Class.incomingInheritance
>>> - Opposites do not match: FAMIX.Class.outgoingInheritance
>>
>> Could we change the name outgoingInhertiance because this is
>> terrible. Consistent is good but not at that price.
>
> generalizing...?
> specializing...?
superclass, subclass :)
> - Container must be single-values:
FAMIX.Class.method
>
> cheers,
> AA
>
>
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev