Hi!
Yesterday evening I put 30 engineers in front of Moose. They had no prior knowledge about Smalltalk and visualization. I gave them many examples on how to write scripts in Mondrian.
It was an amazing success. People really liked it. So yes, Moose can be use at a low cost for teaching.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hello,
I'm not sure this is a problem, but here is the error I had:
FAMIXMethod >> numberOfMessageSends
<property: #MSG longName: 'Number of message sends' description:
'The number of message from a method'>
^self
lookUpPropertyNamed: #MSG
computedAs:
[self mooseModel isSmalltalk
ifTrue:
[| parser |
parser := VisualWorksParseTreeMetricCalculator new.
parser *processMethod:* self *usingImporter: *nil *inModel:* nil.
parser numberOfMessageSends]
ifFalse: [-1]]
Here, to compute this property, we ask the smalltalk compiled method
(throught the method in bold).
So, if I generate a model, then remove a method in pharo, then ask the
corresponding FAMIXMethod for #numberOfMessageSends, it will raise an error
because it does not find the compiled method anyMore.
Maybe we should force the computation of this kind of property at the model
computation ?
Hi,
we already tried that as we said we tried the 2 posibilities that appear on
the moose book, and none of them work. After doing that we go to Browse ->
Source and we can't see the code.
Any other ideas?
Thanks.
- Franco
2011/6/21 Juan Francisco Hurtado <juan.yue(a)hotmail.com>
> > Subject: Re: [Moose-dev] Fwd: problems linking code
> > From: tudor(a)tudorgirba.com
> > Date: Tue, 21 Jun 2011 18:28:45 +0200
> > CC: juan.yue(a)hotmail.com
> > To: moose-dev(a)iam.unibe.ch
> >
> > Hi,
> >
> > What exactly did you do?
> >
> > One way to do it is like this:
> >
> > - download the mse file for argouml 0.28.1 and load it in Moose
> > http://themoosebook.org/download/ArgoUML-0-28-1.zip
> >
> > - download and unzip the corresponding sources
> >
> http://argouml-downloads.tigris.org/nonav/argouml-0.28.1/ArgoUML-0.28.1-src…
> >
> > - you should get the following folders
> > ArgoUML-0.28.1/
> > src/
> >
> > - select the model in Moose Panel, right click and then Utilities/Set
> root folder
> >
> > - point it to the ArgoUML-0.28.1 folder
> >
> > Cheers,
> > Doru
>
> >
> >
> >
> > On 21 Jun 2011, at 17:48, Franco Sabadini wrote:
> >
> > >
> > >
> > > ---------- Forwarded message ----------
> > > From: Franco Sabadini <fsabadi(a)gmail.com>
> > > Date: 2011/6/21
> > > Subject: problems linking code
> > > To: info(a)moosetechnology.org
> > > Cc: juan.yue(a)hotmail.com, Santiago Vidal <santiago.a.vidal(a)gmail.com>
> > >
> > >
> > > Hello,
> > >
> > > We're trying to use Moose to analyze code replication on a Java
> application, but we haven't been able to link the model with the code, we
> already tried the 2 possibilities that are shown on the moose book and
> nothing worked, also we tried to do it with ArgoUML app and we couldn't do
> it either.
> > >
> > > The Moose versions we tried are from 4.0 to 4.5, and we tried it in
> linux, windows and in mac OS.
> > >
> > > Do you have any idea what could be happening?
> > >
> > > Thanks.
> > >
> > >
> > > - Franco
> > >
> > > _______________________________________________
> > > Moose-dev mailing list
> > > Moose-dev(a)iam.unibe.ch
> > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
> > --
> > www.tudorgirba.com
> >
> > "Speaking louder won't make the point worthier."
> >
>
Hi guys
I would like to have an edge drawn from a package to the classes that use it.
I did but it does not work
view interaction
whenEnteringUpdateNode: [:node |
view edgesToAll: #sureReferencingClasses.].
in
view shape rectangle.
view interaction menuMorphBlock: [ :element | element mooseMenuMorph ].
view nodes: model allPackages
forEach: [:pack |
view shape rectangle
fillColor: Color orange;
height: 7;
width: 7.
view interaction menuMorphBlock: [ :element | element mooseMenuMorph ].
view interaction
whenEnteringUpdateNode: [:node |
view edgesToAll: #sureReferencingClasses.].
view nodes: pack classes.
view gridLayout gapSize: 2.
].
view gridLayout.
I'm playing with FS-Git, see how we can use it to browse/extract information from a Git repository. Difficult to get started without a bit of information, but after a while it's ok
I have one minor remark and a potential bug:
1) it would be cool to have the timestamp of the commit
2) when trying to recursively browse parents the commit tree, I stumble upon a DNU in GitPackedObject>>unpackRefDeltaContent
unpackRefDeltaContent
| s delta base |
s := (GitObjectSignature loadFrom: file) resolve. "---> (GitObjectSignature loadFrom: file) returns an Integer, which can't answer to #resolve "
delta := self readDelta.
base := pack packedObjectAt: s.
self applyDelta: delta to: base.
Is this a known bug?
I just tried this morning with the latest version of Camillo as well as with the previous version.
--
Simon Denier
Hi Nicolas,
I would like to parse ArgoUML 0.32 and I would like to also be able to parse the annotations. For this, I understand that I should pass the jars to the parser.
How do I make VerveineJ be aware of the jars? Do I have to edit the verveineJ.sh and add each of the jars to the classpath? Is there no other way?
Cheers,
Doru
--
www.tudorgirba.com
"Don't give to get. Just give."
We are happy to announce the Moose Suite version 4.5:
http://moosetechnology.org/download
This is a minor release.
What is new:
• Important fixes in FAMIX to deal better with Java systems
• Better EyeSee engine for scripting visual charts
• Improved VerveineJ compatibility for Java parsing
Have fun,
The Moose Team
http://moosetechnology.org
As another side project which could be of interest here, in order to demo the Moose platform, I would like to load a Git repo into Moose. I was thinking of using Kumpel for example and one of the current Git projects on Squeaksource.
It looks like http://www.squeaksource.com/FSGit.html is the most recent project (May 2011). Is it up to date with the latest version of Pharo/FileSystem? I could load it in a 1.3 Core (a few tests red) but not in a Moose 4.4 (problem with RPackage).
I am not knowledgeable in either FSGit or Kumpel. Is anyone working on something similar? Would it be difficult or cumbersome?
--
Simon Denier
Hi!
I would like to fix the exporter of Mondrian. I will do it today.
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
I took a look at MondrianNew.
This is an API to construct explicitly every node and edge. There is no factory for you, at least not yet. This can be good or bad, depending on your model.
Let's take an example:
renderer := MORenderer new.
node1 := renderer node on: 'hello'.
node2 := renderer node on: 'world'.
edge := renderer edge from: node1 to: node2.
Here you are explicitly remembering the node references and you are passing them to the edge creation. When you have a handful of these nodes, this can fit nicely what you want.
As soon as you have a multitude of nodes, it is no longer easy to make the mapping, because you will have to manage the references manually.
In MOViewRenderer we have API that helps you lookup and match nodes only in terms of your model (basically you never get to manipulate nodes or edges, unless you really really want to). The idea behind this is that you should only think in terms of your model and never get to manipulate the internals of Mondrian. This works in many cases, but you do not have such a convenient way to work with explicit nodes and edges like above.
So, maybe a good thing would be to add finally some edgeFromNode:toNode: that provides a creation of a node without any node lookup. So, you could have:
view := MOViewRenderer new.
node1 := view node: 'hello'.
node2 := view node: 'world'.
edge := view edgeFromNode: node1 toNode: node2.
What do you think?
Cheers,
Doru
On 20 Jun 2011, at 15:03, Alexandre Bergel wrote:
> The package MondrianNew in the squeaksource repository of Mondrian contains a bunch of classes we quickly defined:
> MORenderer>>
> addEdge:
> addEdges:
> addNode:
> addNodes:
>
> MOEdgeFactory>>
> from:to:
>
> MONodeFactory>>
> on:
>
> Cheers,
> Alexandre
--
www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair,
you will end up with a messy haircut."