Hi,
By generating some models with the Jdt2Famix java parser, I rose an issue with the anonymous classes.
It appears that some methods and classes generated have no name (i.e. getName() = "").
For instance, this code:
public static void method(String name) {
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String string1, String string2) {
return string1.toString().compareTo(string2.toString());
}
};
}
should model a stub constructor: Comparator. But, there is no such method and only an empty method belonging to the container class is created.
Consequently, it is harder to find them in the model ... I opened an issue https://github.com/girba/jdt2famix/issues/34 and added some tests that you can found in the PR: https://github.com/girba/jdt2famix/pull/33
Can someone take a look at this problem?
Thanks in advance,
Cheers,
Vincent
!!!*************************************************************************************
"Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.!!!"
Hi,
I am developing a tool based on Fame pragma.
Considering the following methods:
FAMIXSQLExpression >>referencedRequests
<MSEProperty: #referencedRequests type: #FAMIXRequest opposite: #usedInExpression> <multivalued>
<MSEComment: 'List of requests referenced by the expression.'>
^ referencedRequests
FAMIXRequest >>usedInExpression
<MSEProperty: #usedInExpression type: #FAMIXSQLExpression opposite: #referencedRequests>
<MSEComment: 'Expression in which the request is used.'>
^ usedInExpression
(FAMIXSQLExpression mooseDescription at: 'referencedRequests') hasOpposite should return true.
However, I don’t have always the same behavior after each resetMeta.
(1 to: 100) do: [ : e | MooseModel resetMeta. (FAMIXSQLExpression mooseDescription at: 'referencedRequests') hasOpposite ifFalse: [ 1halt ] ].
always halts, at some unpredictable iteration (usually less than 10)
Does someone has any idea what is the problem and how to solve it?
By the way, MooseSQL is available here https://ci.inria.fr/moose/job/MooseSQL/ <https://ci.inria.fr/moose/job/MooseSQL/>
Thanks in advance for your help.
Anne
Hi,
I have a tree layout scene and I am trying to add on top other edges that do not affect the layout and that should have a centered attach point. However, the edges are still being drawn from bottom to top, like the rest of the edges from the tree layout.
I think this is a bug. What do you think?
Here is the example:
view := RTMondrian new.
view shape label.
view nodes: (1 to: 10).
edges := view edges connectFrom: [ :x | x//2 ].
view layout tree userDefinedEdges: edges.
view shape arrowedLine color: Color red; centeredAttachPoint.
view edges source: {3->2 . 9->7} connectFrom: #key to: #value.
view
http://ws.stfx.eu/QX0KW6F3QYC0
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Quality cannot be an afterthought."
Because it seems that the x32 libs are not installed :
https://ci.inria.fr/moose/job/moose-6.1/461/console
And that the Ubuntu node is down: https://ci.inria.fr/moose/computer/
BTW, can we upgrade the Jenkins to the next version?
Thanks in advance,
Cheers,
Vincent
!!!*************************************************************************************
"Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.!!!"
Happy New Year, everyone!
Over the last year, I went through a rather extensive tour and I directly exposed Moose, GT and Pharo to some 2000+ technical people through various sessions and trainings at conferences and companies. The tour will continue this year.
Most of the sessions are not directly about Moose, GT or Pharo, but about broader topics that are served through what we do around here. These topics can relate to solving problems without reading code, to steering agile architecture, or more recently, to even broader topics like software environmentalism. If you are wondering what software environmentalism is, please take a look at this talk:
https://youtu.be/N3l3eB62oSw?list=PLqvTNJtc942Cs9Qo4ikCGrUNtAw93Q0JA
I now have the confirmation that there is a whole space which is unaddressed by mainstream technologies. Often people find themselves frustrated having to build their systems on top of opaque technologies with not much hope of understanding what is going on under the hood both because they do not have access to what is behind and because they are provided lack the tools to investigate. You see, developers are suppose to have the coolest job on the planet, and many of them are unhappy. This has to change, and we can do that.
In a conversation I had with a highly respected researcher, after explaining how our tools allow us to work, he noted reluctantly “so, you are claiming that you are practicing a fundamentally different software engineering?”. This question took me a little by surprise because the only answer I found myself being able to provide was “yes”. I sent him this talk:
https://youtu.be/XWOOJa3kEa0?list=PLqvTNJtc942Cs9Qo4ikCGrUNtAw93Q0JA
It is strange to be in the position to tell the world that we are constructing something fundamentally better, but I really do believe that we are.
I wish you a happy and bold new year!
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Every thing should have the right to be different."
Hi dear great OO designers
Here is a little challenges for your brainy souls :)
In Moose when we compute metrics it may happen than a tool (often external
to pharo) does not compute a metrics
and when we request it in moose we check and often we return a not so good
-1.
I'm trying to brainstorm on a solution
- first may be the simplest way is to not invoke a metrics when it is not
computed. But it means that we should know it and that we should have a
registration mechanism. After all this is probably the best solution.
- Second we were thinking to use exception but when we have multiple
entities missing one metrics.... I have serious doubts.
- Second I was thinking about having the following behavior
testCollect
| uarray collected |
uarray := UniformOrderedCollection new.
uarray add: 10.
uarray add: 20.
uarray add: (MissingValue discarding).
collected := uarray collect: [ :each | each ].
self assert: collected size equals: 2.
testDo
| res uarray |
uarray := UniformOrderedCollection new.
uarray add: 10.
uarray add: 20.
uarray add: (MissingValue discarding).
uarray add: 40.
res := 0.
uarray do: [ :each | res := res + each ].
self assert: res equals: 70.
testCollectDefaulting
| uarray collected |
uarray := UniformOrderedCollection new.
uarray add: 10.
uarray add: 20.
uarray add: (MissingValue default: 33).
collected := uarray collect: [ :each | each ].
self assert: collected size equals: 3.
self assert: collected third equals: 33
I basically started to implement
do: aBlock
"Refer to the comment in Collection|do:."
1 to: self size do:
[:index | (self at: index) toDo: aBlock on: self]
collect: aBlock
"Evaluate aBlock with each of the receiver's elements as the argument.
Collect the resulting values into a collection like the receiver. Answer
the new collection."
| newCollection |
newCollection := self species new.
self
do: [ :each | each toCollect: aBlock on: newCollection ].
^ newCollection
and
DiscardingValue >> toCollect: aBlock on: aCollection
"discard computation"
^ self
Object >> toCollect: aBlock on: aCollection
^ aCollection add: (aBlock value: self)
So I imagine that you see the design and I wanted to get your point of
view.
--
Using Opera a kind of bad mail client but far better than thunderbird
Hi,
In my opinion, Pharo provides the strongest infrastructure for understanding a system from all technologies I have seen. So, if you say that Pharo is a bit "under featured in, then I think we are not referring to the same thing :).
May I ask how you are using the inspector? For example:
- do you extend the inspector?
- do you construct visualizations about your system in the inspector?
- do you write queries about code in the inspector?
Cheers,
Doru
> On Jan 9, 2017, at 3:42 PM, Hilaire <hilaire(a)drgeo.eu> wrote:
>
> I know this path of understanding code while it is running (inspector or
> debugger), but it is still a tedious path, and I feel Pharo is a bit
> under featured on that specific department, therefore my question on Moose.
>
> Hilaire
>
>
>
> Le 09/01/2017 à 15:09, Tudor Girba a écrit :
>> That is why my advice is to not try too long to understand Pharo code statically because this is not where the power of Pharo is. You are in a much better position to understand a system when it’s running. So, the tools that I use the most are the inspector when I need to understand structural relationships or contracts between objects, and the debugger when I need to understand some algorithmic steps. Even when I look for code structure patterns, I mostly use the inspector because it allows me to query. Then you augment these tools with custom views and you get quite far.
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
--
www.tudorgirba.comwww.feenk.com
"We can create beautiful models in a vacuum.
But, to get them effective we have to deal with the inconvenience of reality."
Hi Hilaire,
GT is essentially a project that takes the relevant parts of Moose and make them applicable to plain Pharo. Pharo ships with only the core tools, but the complete configuration of GT also brings with it Roassal and a couple of other goodies. There are still more interesting things in Moose, but you can get quite far with only GT.
About your particular question, it’s true that Pharo does not have static types, but that does not make it harder to understand. Only different. The first thing to realize is that Pharo is not about code, but about objects.
That is why my advice is to not try too long to understand Pharo code statically because this is not where the power of Pharo is. You are in a much better position to understand a system when it’s running. So, the tools that I use the most are the inspector when I need to understand structural relationships or contracts between objects, and the debugger when I need to understand some algorithmic steps. Even when I look for code structure patterns, I mostly use the inspector because it allows me to query. Then you augment these tools with custom views and you get quite far.
I know this sounds abstract, but I am practicing this since several years and I still find it amazing. I tried to provide a hint of how it works in the ESUG 2016 talk.
Cheers,
Doru
> On Jan 9, 2017, at 2:02 PM, Hilaire <hilaire(a)drgeo.eu> wrote:
>
> Hello Doru,
>
> I am curious.
> Yesterday I had a look to MessageBrowser, and realize I understand
> nothing of it. I saw there is a mix of SpecXXX, models, Navigation
> browser, Announcement, etc, then I knew I will have to spend a lot of
> time browsing (multiple window again) to understand a bit how these
> objects are related, and may be be able to change it in the way I want.
> Does the Moose & al tools could help me understand code I don't know about?
>
> Given the fact Pharo/Smalltalk are not typed makes it harder for code
> analysis, don't you?
>
> Happy new year to you too.
>
> Hiaire
>
> Le 09/01/2017 à 10:30, Tudor Girba a écrit :
>> Happy New Year, everyone!
>>
>> Over the last year, I went through a rather extensive tour and I directly exposed Moose, GT and Pharo to some 2000+ technical people through various sessions and trainings at conferences and companies. The tour will continue this year.
>>
>> Most of the sessions are not directly about Moose, GT or Pharo, but about broader topics that are served through what we do around here. These topics can relate to solving problems without reading code, to steering agile architecture, or more recently, to even broader topics like software environmentalism. If you are wondering what software environmentalism is, please take a look at this talk:
>> https://youtu.be/N3l3eB62oSw?list=PLqvTNJtc942Cs9Qo4ikCGrUNtAw93Q0JA
>>
>> I now have the confirmation that there is a whole space which is unaddressed by mainstream technologies. Often people find themselves frustrated having to build their systems on top of opaque technologies with not much hope of understanding what is going on under the hood both because they do not have access to what is behind and because they are provided lack the tools to investigate. You see, developers are suppose to have the coolest job on the planet, and many of them are unhappy. This has to change, and we can do that.
>>
>> In a conversation I had with a highly respected researcher, after explaining how our tools allow us to work, he noted reluctantly “so, you are claiming that you are practicing a fundamentally different software engineering?”. This question took me a little by surprise because the only answer I found myself being able to provide was “yes”. I sent him this talk:
>> https://youtu.be/XWOOJa3kEa0?list=PLqvTNJtc942Cs9Qo4ikCGrUNtAw93Q0JA
>>
>> It is strange to be in the position to tell the world that we are constructing something fundamentally better, but I really do believe that we are.
>>
>> I wish you a happy and bold new year!
>>
>> Cheers,
>> Doru
>>
>
> --
> Dr. Geo
> http://drgeo.eu
--
www.tudorgirba.comwww.feenk.com
"If you can't say why something is relevant,
it probably isn't."
Hi,
I am using FAMIXFile and FAMIXFolder for a project. There are a few things
that I've improved.
FAMIXAbstractFile defines a variable for belongsTo, I renamed this variable
to parentFolder because AFAIK belongsTo is always derived information. I've
implemented parentFolder as a FMMutlivalueLink. The opposite is
childrenFileSystemEntities so that we've autoupdating back links.
This change has made make existing files and folders inst vars and their
accessors redundant. The selectors folder and files on a FAMIXFolder still
exist but they are computed from childrenFileSystemEntities. IMO, the
resulting solution is much more clean and more expressive.
Let me know if there's a conceptual regression or some cases not covered.
Usman
Hi,
I just downloaded a fresh moose 6.0 image for Linux ( http://moosetechnology.org/res/download/moose_suite_6_0-linux.zip )
The pharo shell script did not work on my computer:
---
unknown option: -plugins
unknown option: -encoding
---
I had to remove these two options from in script (last line) to make it run.
Is it just me ?
nicolas
All,
I’m dabbling with the idea of using Moose in a totally different questions. However I do have some questions about using it in my context. Would this ML be the right place to ask those questions?
CU,
Udo
Hello Doru,
I am trying jdt2famix by creating a binary release from sources. After
creating the binary release, I run it on jfreechart (version:
54eeb32a0bbf61db346fa3d37ef94a00b9747b1c), and I have the following
exception.
obs: it works if I download and use "Release 1.0.3".
======== Script ===========
git clone https://github.com/girba/jdt2famix.git
cd jdt2famix
./release.sh
cd ..
git clone https://github.com/jfree/jfreechart.git
cd jfreechart/
git reset --hard 54eeb32a0bbf61db346fa3d37ef94a00b9747b1c
../jdt2famix/release/jdt2famix.sh
========= Exception ========
16:46:07 - importing file - 0163/1010 - /Users/andrehora/Desktop/
jfreechart/src/main/java/org/jfree/chart/fx/ChartCanvas.java
Exception in thread "main" java.lang.NullPointerException
at com.feenk.jdt2famix.injava.InJavaImporter.createAccessFromVariableBindin
g(InJavaImporter.java:768)
at com.feenk.jdt2famix.injava.InJavaImporter.createAccessFromExpression(
InJavaImporter.java:760)
at com.feenk.jdt2famix.injava.AstVisitor.visit(AstVisitor.java:454)
at org.eclipse.jdt.core.dom.Assignment.accept0(Assignment.java:309)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at org.eclipse.jdt.core.dom.ExpressionStatement.accept0(
ExpressionStatement.java:145)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:137)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(
MethodDeclaration.java:635)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(
TypeDeclaration.java:470)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(
CompilationUnit.java:212)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at com.feenk.jdt2famix.injava.AstRequestor.acceptAST(AstRequestor.java:30)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(
CompilationUnitResolver.java:1029)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(
CompilationUnitResolver.java:636)
at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:990)
at com.feenk.jdt2famix.Importer.run(Importer.java:39)
at com.feenk.jdt2famix.injava.Main.main(Main.java:30)
--
Andre Hora
Hello Doru,
I am trying jdt2famix by creating a binary release from sources. After
creating the binary release, I run it on jfreechart (version:
54eeb32a0bbf61db346fa3d37ef94a00b9747b1c), and I have the following
exception.
obs: it works if I download and use "Release 1.0.3".
======== Script ===========
git clone https://github.com/girba/jdt2famix.git
cd jdt2famix
./release.sh
cd ..
git clone https://github.com/jfree/jfreechart.git
cd jfreechart/
git reset --hard 54eeb32a0bbf61db346fa3d37ef94a00b9747b1c
../jdt2famix/release/jdt2famix.sh
========= Exception ========
16:46:07 - importing file - 0163/1010 -
/Users/andrehora/Desktop/jfreechart/src/main/java/org/jfree/chart/fx/ChartCanvas.java
Exception in thread "main" java.lang.NullPointerException
at
com.feenk.jdt2famix.injava.InJavaImporter.createAccessFromVariableBinding(InJavaImporter.java:768)
at
com.feenk.jdt2famix.injava.InJavaImporter.createAccessFromExpression(InJavaImporter.java:760)
at com.feenk.jdt2famix.injava.AstVisitor.visit(AstVisitor.java:454)
at org.eclipse.jdt.core.dom.Assignment.accept0(Assignment.java:309)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at
org.eclipse.jdt.core.dom.ExpressionStatement.accept0(ExpressionStatement.java:145)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:137)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at
org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:635)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at
org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:470)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at
org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:212)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at com.feenk.jdt2famix.injava.AstRequestor.acceptAST(AstRequestor.java:30)
at
org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1029)
at
org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:636)
at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:990)
at com.feenk.jdt2famix.Importer.run(Importer.java:39)
at com.feenk.jdt2famix.injava.Main.main(Main.java:30)
--
Andre Hora
Anne spotted a bug in numberOfLinesOfCode.
In Java, one can easily find classes with numberOfLinesOfCode <
numberOfLinesOfCodewithMoreThanOnecharacter
The reason is that numberOfLinesOfCodewithMoreThanOnecharacter is
defined in SourcedEntity by counting the lines (with more than 1 char)
in the sourceText
numberOfLinesOfCode is the sum of numberOfLinesOfCode of the methods.
This is clearly not right for Java where a class as more code than just
its methods.
But it is not even coherent for Smalltalk where a class' sourceText
includes the name of the class (at least 1 additional line).
So even in Smalltalk, one finds classes with numberOfLinesOfCode <
numberOfLinesOfCodewithMoreThanOnecharacter
(happens when none of the methods of the class have blank lines e.g.
FamixEntity)
So I propose to unify both methods and compute numberOfLinesOfCode in
SourcedEntity from the sourceText
(and remove FAMIXClass>>numberOfLinesOfCode)
Second, for methods, the same numberOfLinesOfCode has a backward
compatibilty with "exporters that use LOC as a property name"
(in this case, it uses LOC instead of computing the number)
Anybody still having this case?
So I propose to remove FAMIXBehaviouralEntity>>numberOfLinesOfCode
nicolas
--
Nicolas Anquetil -- MCF (HDR)
Project-Team RMod
any reason why:
MooseAbstractGroup>>allModelMethods
... self allMethods reject: [ :each | each parentTypeIsStub ]
why not:
... self allMethods reject: [ :each | each isStub ]
1- if a method is a stub, by definition we may not know what its class is
2- even if we know, if the parent class is a stub, then the method
itself should be a stub
so why this indirection?
nicolas
--
Nicolas Anquetil -- MCF (HDR)
Project-Team RMod
Hi,
A while ago we put in place a caching mechanism for mooseName. While this has an impact on performance, it makes it a pain to play with the model in any sort of dynamic fashion. It also makes debugging very difficult especially during the development of new importers.
Furthermore, it also has issues with assumptions about creating global caches at the model level which are not correct: FAMIXNamedEntities are not uniquely named in the whole model, they are uniquely named within their own type, and for that we already have a cache in the groups. For example, "model allClasses” will give us a group that will also have a cache by the mooseName of classes.
This is a heads up that I want to remove this feature. Of course, we can still discuss about it.
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"What we can governs what we wish."
Hello,
Still in the context of Moose re-architecting, we detected that parentSelector is defined at FAMIXNamedEntity level but is only used for Smalltalk model at FamixMethod and FamixClass.
As parentSelector is a container, it should not be defined at a too high level.
We suggest to move down this property to this both subclasses. Has someone something against it?
Thanks in advance,
Cheers,
Anne & Vincent
Vincent BLONDEAU
RMOD Team
Bât B - Bureau 306
Centre de recherche
Lille-Nord Europe
+33 (0)3 59 35 87 45
vincent.blondeau(a)inria.fr<mailto:vincent.blondeau@inria.fr>
[cid:image001.jpg@01D25B93.9BD2F6A0]
Software Architects
SDCO
ZI A, rue de la Pointe
59113 SECLIN
+33.(0)3.28.54.41.54
vincent.blondeau(a)worldline.com<mailto:vincent.blondeau@worldline.com>
[cid:image003.gif@01D25B93.9BD2F6A0]
!!!*************************************************************************************
"Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.!!!"
Hello,
In the context of Moose re-architecting, FAMIXCore package should contain only FAMIXCore classes, i.e., only classes common to all languages.
We detected some misplaced classes:
- FAMIXTypeAlias should belong to the C package like FAMIXModule which is already in.
- FAMIXAnnotation*should belong to the Java package.
Do you think that these classes have to stay in the core package? Or can we move them?
BTW, we also added an opposite to the FAMIXException>> exceptionClass in FAMIXClass.
Cheers,
Anne & Vincent
!!!*************************************************************************************
"Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.!!!"
Hi!
Vincent and I are experiencing many crashes from GrafPort>copyBits. It crashes every couple of minutes.
I know that not much can be done so far. Stability is my biggest concern with Pharo :-(
I use the latest VM.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi all,
How I can have CodeCity in latest Moose?
I tried the following configuration but when I select the CodeCity tab in
the Moose Panel an error pops up.
Gofer new smalltalkhubUser: 'RichardWettel' project: 'CodeCity';
configuration; load. (Smalltalk at: #ConfigurationOfCodeCity)
loadDevelopment
[image: Inline images 2]
Best regards,
Leonel Merino
PhD student
University of Bern
+41 78 405 43 38
merino(a)inf.unibe.ch
Hi all,
I am using Grapher in the GT inspector and it is very cool that when I click on a bar it shows the datapoint of that bar in the next pane. So thanks a lot for that :-)
However I would like to customise this a bit. My datapoints are actually associations, and I would like to show the value in the next pane (and not the complete association). It’s not clear to me how to customise this, can anybody give me pointers?
Thanks in advance!
--
Does this mail seem too brief? Sorry for that, I don’t mean to be rude! Please see http://emailcharter.org .
Johan Fabry - http://pleiad.cl/~jfabry
PLEIAD and RyCh labs - Computer Science Department (DCC) - University of Chile
Hi
I was wondering if there is some documentation available for the package Moose-Algos-InformationRetrieval or if someone ever used it?
I don’t understand how the MalLogLikelihoodRatio is working (it’s a kind of similarity metric between two sets of terms).
What I have right know is a corpus of documents with their contents and I’d like to compare a request to my corpus.
(it requires that you have executed some scripts in a playground before)
data := FileSystem workingDirectory allFiles select:[:e| e extension = 'ph'] thenCollect:#contents.
corpus := MalCorpus new.
'Initiating corpus...' displayProgressFrom: 1 to: data size during: [ :bar|
data do:[:e|
corpus addDocument: e with: (MalTerms fromString: e contents).
bar increment.
].
corpus removeStopwords .
].
stringRequest := 'toto tata'.
request := MalTerms fromString: stringRequest.
likelihood := MalLogLikelihoodRatio new.
likelihood setTerms1: request.
requestAnswer := Dictionary keys: data values: (data collect:[:e|
likelihood setTerms2: (corpus atDocument: e); computeAll
]).
I don’t get what are the values that I have in the variable requestAnswer.
Any hints?
Thanks guys (and girls)
Regards,
--------------
Brice Govin
PhD student in RMoD research team at INRIA Lille
Software Engineer at THALES AIR SYSTEMS Rungis
ENSTA-Bretagne ENSI2014
22 Avenue du General Leclerc 92340 BOURG-LA-REINE
Hi All,
I was looking for a way to get a title on a graph made with RTGrapher. I have so many open that sometimes I forget which ones is which. A title would help but I cannot find a straightforward way to add one. Is this possible?
--
Does this mail seem too brief? Sorry for that, I don’t mean to be rude! Please see http://emailcharter.org .
Johan Fabry - http://pleiad.cl/~jfabry
PLEIAD and RyCh labs - Computer Science Department (DCC) - University of Chile
Hi!
Connected groups can be highlighted. I have enhanced the RTMetricNormalizer for this. This feature has been on my todo list for too long :-)
-=-=-=-=-=-=-=-=
b := RTMondrian new.
b shape box size: 10.
b nodes: RTShape withAllSubclasses.
b shape arrowedLine withOffset.
b edges
moveBehind; connectToAll: #dependentClasses.
b layout force charge: -300.
b normalizer distinctColorForGroup. “ <==== That is the new thing "
b
-=-=-=-=-=-=-=-=
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.