Hi all,
does a documentation exist for Famix3 ?
I have found the documentation of Famix2: http://www.iam.unibe.ch/~famoos/FAMIX/Famix20/Html/famix20.html
But there is no link for the Famix3.
I have only found the link on the diagram of Famix3 beta 14.
Tanks a lot.
Jannik
Begin forwarded message:
> From: "Valloud, Andres" <avalloud(a)cincom.com>
> Date: January 24, 2009 10:27:26 AM CEST
> To: "VWNC" <vwnc(a)cs.uiuc.edu>
> Subject: [vwnc] Assistance request
>
> Hello,
>
> I am doing some work with short compiled methods, and I would like
> some information from actual application images. The attached
> parcel adds a few methods to CompiledCode in order to make the
> needed observation. The code that performs the measurement is in
> the comments of the parcel. To produce the needed data, load the
> parcel, inspect the result of evaluating the code in the parcel's
> comments, and send me the resulting list of triplets. Thanks in
> advance!
>
> Andres.
>
> PS: note that the measurement will modify many of the compiled
> methods in the image... this should not cause problems because the
> resulting compiled methods are equivalent after the modifications
> are done. However, you may want to ditch the image after the
> triplets are created.
> _______________________________________________
> vwnc mailing list
> vwnc(a)cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Hi
in FAMIX2>>Method>>accesses
accesses
<MSEProperty: #accesses type: #FAMIX2Access opposite: #accessedIn>
<multivalued>
"all variable accesses contained in receiver"
accesses isNil ifTrue: [ accesses := OrderedCollection new ].
^ accesses
what is the equivalence in FAMIX30?
The fact that Squeak streams does not support collection other than
OrderedCollection is a problem for flatCollect:
So I will try to use Nile to see how I can solve this problem.
stef
just two lines summary of what we did today.
- Now there is a mooseLoader :)
- instanceSide and classSide now working FAMIX30.
- Added some method to RBVariableNode to support isSuper identification
- Fixed the parsetree metric calculator.
Now we get number of statements and friends on Famix20 and Famix30
- Fixed some tests for importer.
Normally when I'm done with some pending documents I will do fix the
merging behavior
for FAMIX30.
Thursday we organise a Moose sprint.
Stef
Hi,
I thought that it might represent a class reference.
But if you want to represent a class reference with an FAMIXAccess, why not
change the type of the accesses attribute from FAMIXAbstractStructuralEntity
to FAMIXNamedEntity? This would fix the issue. Right?
Adi D.
>Hi,
>
>Indeed this is correct. We knew this was a hack, and that is why we
>tried to solve this in FAMIX 3.0.
>
>Cheers,
>Doru
>
>
>On Jan 21, 2009, at 10:04 PM, St?phane Ducasse wrote:
>
>> I do not remember but I guess that
>> the problem is that in famix2 there is no way to express class
>> references (class A refers to class B).
>>
>> so we used that because if in your code you have
>>
>> A>>foo
>>
>> ^ B zork
>>
>> Now in FAMIX30 this is different.
>> You can have reference between classes.
>>
>> Doru am I correct? I'm dead this evening.
>>
>> Stef
>>
>> On Jan 20, 2009, at 11:27 PM, Adrian DOZSA wrote:
>>
>>> Hi everybody,
>>>
>>> Playing around with the FAMIX 2 specs and the LAN model I found
>>> something very strange:
>>> - I found an FAMIXAccess that accesses a FAMIXClass. According to
>>> the FAMIX 2 meta-model and also the annotations from Moose the
>>> accesses attribute of FAMIXAccess should be of type
>>> FAMIXAbstractStructuralEntity. But the FAMIXAccess instance with id
>>> 71 from LAN model accesses a FAMIXClass
>>> (Root::Smalltalk::LAN::LANInterface.initialize() ->
>>> DependentList_class).
>>> There are other examples too.
>>> How were those accesses build? It is correct?
>>>>
>>> Thanks,
>>> Adi D.
I'm looking at the moose website and I think we could improve it a bit
by making some categories/facets for the tools section: like core,
utils, importer, visualization, analysis...
Right now if I want to know which languages can be imported in moose,
I have to go in the FAQ section, which is cumbersome.
--
Simon
Hi everybody,
Playing around with the FAMIX 2 specs and the LAN model I found something
very strange:
- I found an FAMIXAccess that accesses a FAMIXClass. According to the FAMIX
2 meta-model and also the annotations from Moose the accesses attribute of
FAMIXAccess should be of type FAMIXAbstractStructuralEntity. But the
FAMIXAccess instance with id 71 from LAN model accesses a FAMIXClass
(Root::Smalltalk::LAN::LANInterface.initialize() -> DependentList_class).
There are other examples too.
How were those accesses build? It is correct?
Thanks,
Adi D.
------------------------------
dipl.ing. Adrian DOZSA
Programming Engineer
mail: adi.dozsa(a)gmail.com
web: http://adi.dozsa.googlepages.com/
Sorry, it's gonna be very specific.
I'm running and debugging the tests of
FamixPropertiesTest>>testAttributeMetrics, which tests the computation
of basic metrics on Famix entities (like numberOfAccesses).
In many cases, the value against which the model is tested seems
outdated.
For example:
attribute1 := self model entityNamed:
#'Smalltalk::LANInterface.nextNode'.
self assert: attribute1 numberOfAccesses = 4.
attribute1 numberOfAccesses returns 3 and I checked with the model,
LANInterface.nextNode, it is correct (nextNode is only accessed in its
accessor)
So I wonder where the value 4 comes from?
--
Simon
Doru
I thought that we renamed outgoingInheritances into
superclassInheritances
so that we can write to get the superclasses
self superclassInheritances collect: [:each | each superclass]
is it true?
Hi Doru,
I only asked because I would need FAMIX to extend it to an JEE meta-model.
And FAMIX 3.0 looks nicer that v2.0. But I don't think I could implement
FAMIX 3.0 (because of time and knowledge constraints).
Adi D.
> Hi Adrian,
>
> At this moment, there is not a working FAMIX 3.0 in VW. However, the
> mechanism is very much in place. If you are interested in investing a
> little effort it should be not difficult to make it work.
>
> Cheers,
> Doru
>
------------------------------
dipl.ing. Adrian DOZSA
Programming Engineer
mail: adi.dozsa(a)gmail.com
web: http://adi.dozsa.googlepages.com/
Hi Stef,
> Hi adi
>
> for now in VW you will not get FAMIX30 except if you port it and
> integrate it.
Unfortunately I am not that well accustomed with Moose, nor I have that much
spare time.
> For the Squeak version we made progress we have FAMIX20 and FAMIX30
> and we can extract Smalltalk code in FAMIX30.
>
> Stef
>
Considering that the new FAMIX30 is only developed in the Squeak version and
that as I have seen lately on this mailing list most of the development
efforts are moved to the Squeak version, should i understand that the Squeak
version is/will be the primary/reference Moose implementation?
Thanks,
Adi D.
------------------------------
dipl.ing. Adrian DOZSA
Programming Engineer
mail: adi.dozsa(a)gmail.com
web: http://adi.dozsa.googlepages.com/
Hi all,
Which is the status of FAMIX 3.0? The website mentions a beta 14 version.
How can i import FAMIX 3.0 meta-modelsinto Moose? because momentarily I get
an error when a FAMIX 3.0 entity is found.
And which are the short/medium term plans? stick with FAMIX 2 or migrate to
v3?
Thanks,
Adi D.
------------------------------
dipl.ing. Adrian DOZSA
Software Engineer
mail: adi.dozsa(a)gmail.com
web: http://adi.dozsa.googlepages.com/
Begin forwarded message:
> From: MARS(a)cincom.com
> Date: January 7, 2009 6:47:31 PM CEST
> To: sdahl(a)goshawk.com, s(a)xss.de, tgriggs(a)cincom.com, smichael(a)cincom.com
> , aknight(a)cincom.com, mlucas-smith(a)cincom.com, ducasse(a)iam.unibe.ch, mkobetic(a)cincom.com
> , holger(a)heeg.de
> Subject: 54202 (Modified) (C) Error in RBParser patchLiteralArray
>
>
>
> The URL to view this AR is: http://cosmo.cincom.com:8008/launch/MARS/54202
>
> This AR is currently: inReview
> This AR is assigned to: dahl
>
>
> :: Modified with by hguhl on January 7, 2009 9:47:29.748
> :: Changed Inform Field (s(a)xss.de TOOLS ducasse(a)iam.unibe.ch sdahl
> FORREVIEW tgriggs->s(a)xss.de TOOLS ducasse(a)iam.unibe.ch sdahl
> FORREVIEW tgriggs hguhl)
> :: Changed Links (->FR:88734)
> :: Text Appended
>
>
> Added the FR link.
Dear All,
I am spending some time on the Squeak Version of Mondrian.
It seems that there is a bug when on how edges are drawn.
For example, the following code draw some edges between nodes that
does not exist.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| view nodes |
nodes := Collection withAllSubclasses.
view := MOViewRenderer new.
view nodeShape: (MORectangleShape new
width: [:each | each instVarNames size * 5];
height: [:each | each methodDictionary size ]).
view nodes: nodes.
view edges: nodes from: [:each| each superclass] to: [:each| each].
view layout: (MOTreeLayout new).
view open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
You can compare the result with the VW version:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| nodes |
nodes := Collection withAllSubclasses.
view newShape
rectangle;
width: [:each | each instVarNames size * 5];
height: [:each | each methodDictionary size];
withBorder.
view nodes: nodes.
view edges: nodes from: [:each| each superclass] to: [:each| each].
view treeLayout.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
I also fixed a bug related to the translation of edges. It is in
Mondrian@Squeaksource
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Dear List,
I am not sure whether this is the right list to ask this question.
What is the current status of Mondrian for Squeak?
The Squeak scripting facility is quite different from the one in VW.
Is the squeak version stable ?
I am just curious
Merry Christmas to all of you,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Is there an obsolete one? If yes, maybe it could be renamed so
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi doru
in association we (simon and me) have problems with above: and below:
(which only works for inheritance)
we suggest from: to: which would have the benefit that when we do not
want to distinguish between access and
reference give us the interface with want.
Access from a method to a structure
Access accessor a method to a structure
Reference from a method to a structure
Inheritance from a class to its superclass
Then I do not understand why the instance variable is defined both in
the class and its superclass
either we have
abstract methods in Association and no state in Association and
attributes in subclasses.
or we have
state in Association and method in subclass reuse this state (= no
definition of other iv in subclasses)
To help debugging we prefer to have state in subclasses and abtsract
superclass methods.
Stef
Hi
I was wondering if I could get more explanations on the classes of
Moose core:
MooseElement - not sure why it is not merged with MooseEntity
MooseEntity - described as the base class for any entity
MooseAbstractGroup - abstract composite
MooseGroup - my guess, a group of common entities like 'all packages',
'methods from selected class'. Comment says 'Group adds on top the
ability to change the type of a group when we add more items inside',
which is not clear to me
MooseModel - a named group, created only when importing a project into
Moose. I'm not sure why it is a sibling of MooseGroup and not, for
example, a sibling.
Now I am not sure how this model is handled through the moose finder.
Any details to share?
--
Simon
Hi
I was wondering how some pragmas should be handled in Moose?
Apparently there is currently two "kind" of pragmas in use: the ones
which begin with MSESomething are used to describe the model in Fame.
But there is also a range of "property:longName:description:" pragmas
which are used to describe entity properties like "numberOfMethods",
"numberOfAccesses"...
Such pragmas allow a generic mean to access some metrics, using
MooseEntity#propertyNamed:
But the implementation of #propertyNamed: relies on attributes which
should be described in the metamodel.
Now it seems that the responsibility to parse and interpret those
pragmas belongs to Fame. Currently they are not handled, and I just
found a TODO note in FM3MetaDescription#attributeNamed:ifAbsent:
--
Simon