Verveine-PHP
by Cyrille Delaunay
Hello,
With nicolas we started to have a look at the eclipse-php-parser (provide
with PDT), to export a famix-mse file from a PHP project. We already started
to build an eclipse plugin that does some work:
=> We create an AST for each php file of the project
=> Then we have a visitor on this ast, and we are therfore able to make a
specific action for each kind of node visited
=> For now, we just export some FAMIXNamespace, FAMIXClass, FAMIXMethods.
So what's left is to implement each visit-method to extract informations
for each node visited. For that we will have to know a bit more PHP :) Maybe
the metamodel will have to be extended to take into account some
PHP-specific elements, I don't know.
If you want to have a look, sources are available via svn at:
https://scm.gforge.inria.fr/svn/lse/Projects/Verveine
Vervaine provide the extractor (not yet finished) for Java ans this one for
PHP. Both are using a common mechanism to generate famix entities and
extract them to mse.
I will be on holidays until august and will probably no longer work on it
until august. So if you want to have a look (and have the courage to install
eclipse to read java code:)), have some suggestions, want to implement
something, feel free to participate :)
12 years
OverviewPyramid smalltalk thresholds?
by Ciprian Teodorov
Hi all,
I'm new to using moose for analyzing a rather large smalltalk project
developed during the last 16-17 years.
I hope that using Moose framework will give positive insights on the
hot-spots of the system in order to improve its structure, and make it more
maintainable.
The project name is Madeo (http://stiff.univ-brest.fr/BINIOU/MADEO) a FPGA
design-automation toolkit developed mainly by one of my PhD supervisors (Loic
Lagadec <http://stiff.univ-brest.fr/~llagadec>).
To start the evaluation I believe that the overview pyramid is a very good
starting point in order to get a generic idea about the system.
However, I was not able to find any smalltalk threshold values in the moose
image.
So my question is if there is somebody having some idea about the
smalltalk threshold values for the OverviewPyramid.
If yes, could you provide me these figures, and eventually point me to a
scientific paper presenting these results.
If not, I'm willing to try to get these figures myself... however I don't
really know which smalltalk projects I could use to get good results.
Thank you very much for your attention.
Best wishes,
--
PhDc Ciprian TEODOROV
Lab-STICC/AS CNRS UMR 3192
University of Brest
phone: (+33)(0) 6 08 54 73 48
mail: ciprian.teodorov(a)univ-brest.fr
www.teodorov.ro
12 years
[Better Comment Initiative] FAMIXType
by Stéphane Ducasse
FAMIXType is a generic class representing a type in an object-oriented language.
As such a type can have multiple subtypes or supertypes. These are represented by instances of FAMIXInheritance.
A type defines methods (operations), attributes.
It is also defined in a container often a FAMIXNamespace or a FAMIXPackage, depending of the language.
It may also be a class (in case of nested classes).
It can also define behavioursWithDeclaredType structuresWithDeclaredType
I have a question:
what are behavioursWithDeclaredType and structuresWithDeclaredType
structure I guess a bit.
behaviroWithDeclaredType is for parametrized subclasses?
Stef
12 years, 1 month
[Better Comment Initiative]: FAMIXPackage
by Stéphane Ducasse
we have
FAMIXPackage represents a package in the source language.
A package is different from a namespace (FAMIXNamespace). They both provide a scope, but the namespace does it from a language perspective. For example, in Java concept of package maps both on the FAMIXNamespace and on a FAMIXPackage:
- it is a FAMIXNamespace because it provides a lexical scope for the contained entities, and
- it is a FAMIXPackage because it describes the physical structure of the system.
I propose
FAMIXPackage represents a package in the source language, but when the language only mean grouping of entities without scoping.
The scoping aspect is captured by FAMIXNamespace.
A package is different from a namespace (FAMIXNamespace). A package defines simply a group of entities. A namespace scopes a group of entities (it may implement
an import, a name lookup). For example, in Java concept of package maps both on the FAMIXNamespace and on a FAMIXPackage:
- it is a FAMIXNamespace because it provides a lexical scope for the contained entities, and
- it is a FAMIXPackage because it describes the physical structure of the system.
FAMIX extractor usually map Java package to FAMIXNamespace for these reasons.
12 years, 1 month
[Better Comment Initiative]: FAMIXClass
by Stéphane Ducasse
proposition:
FAMIXClass represents an entity which can build new instances. A FAMIXClass is a FAMIXType, therefore it belongs to a super/sub lattice (depending on the language) and it holds attributes, methods, structures.
FAMIX does not model explicitly interfaces and nested classes.
But a FAMIXClass can represent a Java interface (see isInterface query method).
Java extractors can nest classes into classes and classes in namespaces.
For anonymous classes, classes are simply defined in methods.
12 years, 1 month
About pragma renaming
by Stéphane Ducasse
Hi doru
I want to start working on
- producing a good FAMIX30
-> So will continue to go over the comments
- probably adding package: java at the right places.
Now I was thinking that to ease the transition I will duplicate the program
MSE
FM
so that code can continue to work and then later we remove MSE* ones.
stef
12 years, 1 month