Le 27 nov. 2012 à 20:39, Tudor Girba a écrit :
Hi,
First of all: welcome! And thanks for the questions.
On 27 Nov 2012, at 17:21, Anne Etien <anne.etien(a)univ-lille1.fr> wrote:
Hi,
I have studied the Famix metamodel and I have some questions / remarks:
- There is a reference (I think even a composition) between ScopingEntities and Function.
It thus means that by inheritance, a Module, a Namespace or a Package refer to function.
Does it make sense for Namespace or Package?
Yes. In C++, you can have a function in a namespace.
- Furthermore, there also exist a reference (I
think even a composition) between Module and Function. In Module, how the distinction is
done between the functions collection inherited from ScopingEntitiy and the specific one?
I do not understand.
I will try to better explain.
There exists a reference named functions from ScopingEntity to Function. So Module as a
ScopingEntity inherits from this reference. But there also exists a reference named
functions from Module to Function. So my question is: Is there two references named
functions in Module (and if it is the case, how we can distinguish them) or it is a kind
of overloading, but in ten years I never saw it in metamodel.
- There is a reference between ImplicitVariable
and BehaviouralEntity (parentBehaviouralEntity) whose opposite reference is named
localVariables. However, in BehaviouralEntity, the reference named localVariables points
to LocalVariables. And there is no inheritance between ImplicitVariable and LocalVariable.
This seems to be a problem. Please open an issue.
I will do it.
- There is a reference (globalVariables) (I think
even a composition) between ScopingEntities and GlobalVariable with an opposite reference.
There is also a reference between GlobalVariable and Module (parentModule) but without any
opposite reference.
The missing reference is a problem. As for Module, it has a different intent from a
Namespace in that the Module is more of a physical packaging entity more specific to C++.
But, just for reference, Module is not really mature.
If the missing reference is a problem, it means that once again in Module, there are two
references named globalVariables (one inherited from ScopingEntity and the other is
specific to Module). Is it an overloading or something else?
Since for reference, Module is not really mature, I hope my remarks will help.
Anne
Is this later an easy way to determine the module
as a ScopingEntity to which a GlobalVariable belongs to or does it add something from the
reference between GlobalVariable and ScopingEntities.
It would be nice if someone can give me explanations.
Anne
PS: Sorry, if the questions have been already asked, I am new on the list.
No problem. Keep the questions coming.
Cheers,
Doru
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Live like you mean it."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev