A comment on half of the questions...
On (29/10/07 12:25), Yann-Gaël Guéhéneuc wrote:
From: Yann-Gaël Guéhéneuc guehene@iro.umontreal.ca To: Related to the development of Moose and other related tools moose-dev@iam.unibe.ch Subject: [Moose-dev] Re: FAMIX 3.0 draft v0.8 Date: Mon, 29 Oct 2007 12:25:46 -0400
Dear all!
I read with great interest the proposal for the FAMIX meta-model 3.0. Here are my two-cent comments. Please, bear in mind that I am a totally newbie when it comes to FAMIX :-)
First, some questions regarding the notation: what does it mean when an attribute is prefixed with a "/", like "/isRead" and "Access"?
This means it's a derived property. isRead can be derived from the value of isWrite since it's some sort of an enum.
Do I understand correctly that "sender: BehaviouralEntity -> outgoingInvocations" in "Access" means that "Access" defines an attribute named "sender" of type "BehaviouralEntity", pointed by the attribute "outgoingInvocations" of "BehaviouralEntity"?
the first part yes, the -> means that outgoingInvocations is the opposite of sender. In other words, the field outgoingInvocations in BehaviouralEntity will contain Accesses; and in the BehaviouralEntity we link to in a specific sender-tag, will contain the specific access in it's outgoingInvocations. (I hope it makes sense to you now :))
psuedo-code: (anaccess (id 1) (sender (idref 2))) (abehaviouralentity (id 2) (outgoingInvocations (idref 1)))
Why is "Package" not a "ScopingEntity", at least in Java, with respect to modifiers, it seems to me that packages define a scope?
package is mearely structural. In java this means that creating a package creates 2 things at the same time. It creates a packages + a namespace with the same name. Where the namespace is the scoping entity, and the package the structural one.
I understand the rationale for putting back references, such as "belongsTo" in "ScopableEntity" but it feels to me more an implementation choice to ease navigating the models rather than a true concept that must be represented in the models. (Also, it may make it harder to build models.)
Most of the time, one of both is / -> deriveable.
Why don't the "BehaviouralEntity" have a "returnType"?
Huh? Types? :)
Cheers, Toon