Dear List,
FAMIXNamedEntity has a variables named receivingInvocations.
FAMIXBehaviouralEntity, a subclass of FAMIXNamedEntity, has a variable
incomingInvocations
What is the difference between the two? Leftover of Famix2 ?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi Guys,
I looked a bit in more detail at the class extensions problem. Here I
bring a bit more to the discussion table.
I attach a Snaut screenshot of an analysis session of Hapax + Code Foo.
(seems attachment is too big for the mailinglist so here's a link: http://www.inf.unisi.ch/phd/lungu/files/ClassExtensionsInMoose.png)
The panel on the right is the detail of the 91 invocations abstracted
in the high-level dependency between Hapax Development and Visual
Works. To the right of every method which is extended in a different
package thabn Base VisualWorks you can see that package. What you will
see is that althoug most of those dependencies are defined in othe
packages than VisualWorks Base they still are abstracted in the
relationship between Hapax and VisualWorks base. You will see that
there is a dependency between hapax and Number>>pythag: which methoid
is defined in Hapax itself.
The reason is the following.
A method, even when it is an extension (isExtension is True) belongsTo
a class. And the class, logically, belongs to the namespace where it
was initially defined and is, logically, packaged in the package it
was initially defined in. When I compute the high-level depedencies in
softwarenaut i aggregate them from methods to classes and from there
up along the namespace of package hierarchy. Since the extended
methods are placed in their original classes, I end up with
dependencies between the wrong packages.
The high-level dependencies in softwarenaut are wrong because the
model can not express the existence of class extensions.
I can see two solutions:
- we introduce a FAMIXClassExtension as an explicit entity which is a
class which has a reference to the extended class. maybe we can even
introduce a new relationship which is Class Extension.
- we piggyback the class extensions on top of the classes in a similar
way the metaclasses are implemented. In our example, for Collection we
would define a Collection class in CodeFoo, SqueakExtensions, EyeSee
and ech one of these would only contain the methods that it defines.
I am interested if anybody else is interested in this. And I want to
hear your opinions.
Cheers,
Mircea.
Begin forwarded message:
> From: Fabrice Bellingard <fbellingard(a)qualixo.com>
> Date: June 8, 2009 10:57:24 AM CEDT
> To: Projet de recherche Squale <recherche(a)squale.org>
> Subject: [Recherche] [WP 1.2] JS lib de visualisation
> Reply-To: Projet de recherche Squale <recherche(a)squale.org>
>
> Pour info, je suis tombé sur cette bibliothèque Javascript proposant
> différentes visualisations : http://thejit.org
>
>
> ----
> Best regards / Cordialement,
>
> - Fabrice BELLINGARD
> _______________________________________________
> Recherche mailing list
> Recherche(a)squale.org
> http://squale.org/cgi-bin/mailman/listinfo/recherche
I just discovered that all models are kept in the image, even if you
remove it. SmallBrother records all events which keeps references.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Dear All,
Each famix function and method has a set of outgoing variable
accesses. Can this set contain an element more than once? In other
words, how a method that accesses twice the same variable be
represented?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.