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(a)iro.umontreal.ca>
To: Related to the development of Moose and other related tools
<moose-dev(a)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