On Mar 7, 2013, at 5:08 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
Yes, we do :).
A model without the appropriate behavior has little value. For example, we want to have
traversals next to the model. It is for this reason that we should use Traits.
Yes
We do not want to use multiple inheritance as a design tool. We should use Traits
instead, as we know it scales better.
do we? :-)
We were discussing this over lunch with Damien Cassou (our trait expert)
It seems to me traits are a behaviour reuse mechanism, Famix is mostly about typing and
structure.
I do not see why we could not use traits to make fame modular.
Maybe conclusions drawn from programming languages
implementation do not apply to models.
why would it be the case?
I don't think models are just another kind of
programming language, they were primarily intended to be conceptual tools that could be
derived to programs.
A programming language must be implementable on a computer (or fail to present much
interest).
A model must be mostly transformable into a program, but some manual tweaking seems
acceptable.
It depends and I do not see the point.
nicolas
Alain Plantec already did a prototype for having Traits in Fame, but it was not
integrated. It would be great if someone would look into this. The only thing to keep in
mind is that we would have to also update the Java version of Fame.
Cheers,
Doru
On Thu, Mar 7, 2013 at 2:14 PM, Nicolas Anquetil <Nicolas.Anquetil(a)inria.fr>
wrote:
I believe I already said here that I don't like very much the "default"
FAMIX metamodel in Moose because it is the union of Smalltalk and Java specificities.
For 2 languages it works (more or less), but if we want to add C#, C++, and whatever-else
(not talking about non OO languages), it quickly starts to be a huge mess.
It would be preferable to have a generic metamodel and specific ones for each languages.
But then, we will run into cases where we want to have some kind of multiple
inheritance.
For example we could want to say that a Java method and a C function are
behaviouralEntities with return type and Java methods and Smalltalk methods are
behavioural entities with a received (when they are called) and Java method now have two
superclasses.
So the question arise why Fame does not have multiple inheritance?
- no specific reason?
- fundamental design decision?
- historical reason?
nicolas
--
Nicolas Anquetil -- RMod research team (Inria)
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
Nicolas Anquetil -- RMod research team (Inria)
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev