Hello,
I have some difficulties to update a GLMTreePresentation.
I wrote a small example to show my problem :
|browser collection|
browser := GLMTabulator new.
browser row: #list.
browser transmit to: #list; andShow: [:a |
a tree
title: 'list';
display: [ :aCollection | aCollection ].
].
collection := OrderedCollection withAll: #('a' 'b' 'c' 'd').
browser openOn: collection.
collection add: 'e'.
browser update.
browser openOn: collection
When an element is added to the collection, I would like the
GLMTreePresentation to make this new element visible. I tried to send
'update' to the browser, but it doesn't seems to work. Do you have any other
idea?
Hi,
Is there anybody using the Cog VM on a regular basis?
I am using it for most of my development, and it now works quite well
(except for the methods as objects issue). It would be interesting to
collect problem reports.
Cheers,
Doru
--
www.tudorgirba.com
"To lead is not to demand things, it is to make them happen."
Hi folks. I am trying to script some distribution maps. For the moment I was
doing simple things with just two colors. Example:
^ (DistributionMap onContainers: (self listOfCorePackages
collect: [ :each | (PackageInfo named: each) ]) elements: #classes
properties: [:element | element hasUsedInstances = true] )
render
open.
That show me classes with used instances with blue and the rest with red.
Now I want:
element hasUsedInstances = true -> blue
element instanceCount > 0 and: [hasUsedInstances = false] -> red
the rest (without instances) -> yellow
Forget about the colors, I don't care which color (although it would be
cool to be able to choose). What I don't know how to do is to define
multiple properties. And I cannot use the wizard, I have to do it by code ;)
Can someone help ?
Thank you very much in advance.
Mariano
Hi all,
I was looking for some reference to Ada code analysis in Moose
pubblications and found some
hints in the following docs:
http://scg.unibe.ch/archive/famoos/FAMIX/Plugins/AdaPlugin2.2.pdfhttp://scg.unibe.ch/archive/projects/Moos07a.pdf
It is not clear whether (and eventually how) it is possible to analyse
Ada (95) code.
Is there something out-of-the-box?
Thanks a lot in advance for your feedback
Bye
Enrico
PS: I also read the tutorial about PetitParser in order eventually to
write a parser for Ada
but I would of course prefer to concentrate on looking the evaluation
of the sw analysis
rather them building the basic block required ...
--
Enrico Spinielli
"Do Androids dream of electric sheep?"— Philip K. Dick
"Hear and forget; see and remember;do and understand."—Mitchel Resnick
Hi Pharoers, and Smalltalkers in general,
Have you seen waited to assess the cycles in your software? Now you can :)
We request some of you to perform an experiment using DSM to see your software package structure and to fix cycles between packages. Our tool shows dependencies between packages and highlight some bad dependencies generating structure cycles. It also helps to understand dependencies.
Your goal is to fill a survey using our tool.
I prepared a mini-tutorial about DSM and eDSM. It can help you to understand the visualization tool.
To ease the use of our tool, I loaded it in a PharoCore1.2. And there are two archives available:
- the first contains an image with our tool with a model of Pharo loaded in it, so you can play with our tool on pharo itself. It can be downloaded here: http://dl.dropbox.com/u/7739334/dsmWithPharo.zip. Pay attention, the image is slow.
- the second contains the same thing without the model of Pharo. Here, you have to load your code, then populate a moose model and use the tool. It can be downloaded here: http://dl.dropbox.com/u/7739334/dsmWithoutPharo.zip
The two archives contain the tutorial and the survey. If you are a pharo integrator, we suggest you to take the one with Pharo model loaded, else the other.
To use our tool, load your tool in Pharo. Then do "MoosePanel open", and import your software in Moose by "import from Smalltalk image". When it is imported, select your project in the list on the left of MoosePanel, and select "all model packages" on the list on center.
Then, you have two choices:
- you can scan all your project: right click on "all model packages" and do DSM.
- or select "all model packages" then select some packages in the next list and right click, do DSM.
After that, you can perform the survey (with reading of the tutorial). We need your answers for the end of August. So, you have two months to do it.
If you have any question, just let me know.
Best regards,
Jannik.
---
Jannik Laval
PhD Student - Rmod Team - INRIA
Certified Project Management Associate (IPMA)
http://www.jannik-laval.euhttp://rmod.lille.inria.fr
---
Hi,
I am very happy to announce that Andrei solved the long-lasting
Glamour bug that prevented the correct
refresh of browsers with circular dependencies between panes.
This means that from now on, we have significantly more freedom in
creating complex browsers.
For example, in the Meta Browser, if you click on the bottom
visualization, the browser will properly navigate to that entity and
highlight it in the visualization.
Cheers,
Doru
--
www.tudorgirba.com
"Some battles are better lost than fought."
Hi
I would like to clean up some visualization scripts which appear in contextual menus and have been around for some times but, in my opinon, are now quite useless. I wrote them mainly to test different algorithms from graphs as well as mondrian tricks, but the results is not so compelling.
So, does anyone use the following?
FamixPackageGroup
>>viewPackageMap
>>viewPackageFaninFanout
>>viewPackageFaninFanoutNorm
FamixPackage
>>viewPackageFan
>>viewPackageInternalHits
>>viewPackageExternalHits
If not, I will delete them.
--
Simon
The result of the discussion I just had with Doru.
In the last version of Mondrian.
As usual, if you experience trouble, then let me know.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi Cyrille,
I noticed a recent commit in Arki-Reporter. It would be nice to get
your efforts in this repository, but in this case, the commit is wrong:
1. you removed REPConcernSpecification class>>open (is this by any
chance due to the overriding problem?)
2. you removed the error checking of the result computation which can
easily break the whole report
Could you please take a look?
Cheers,
Doru
--
www.tudorgirba.com
"Yesterday is a fact.
Tomorrow is a possibility.
Today is a challenge."
Hi,
Here is another improvement: the finder finally slides smoothly :).
Cheers,
Doru
--
www.tudorgirba.com
"Yesterday is a fact.
Tomorrow is a possibility.
Today is a challenge."
Hi,
I changed a bit the model of Arki:
- I introduced Stakeholder as first class
- I introduced a ConcernStatus hierarchy to be able to distinguish
between: success, failure, error and neutral
- With this occasion I also strengthen a tiny bit the error handling
- I removed statusValue
I will probably still change it a bit, but not dramatically. Please
let me know if you have any problems with it.
Cheers,
Doru
--
www.tudorgirba.com
"Every successful trip needs a suitable vehicle."
Hi
I'm looking for a good name which covers both package and namespace concepts. 'ScopingEntity' sounds a bit too verbose.
The reason is that today, we have queries like clientClassesOutOfMyPackage, clientClassesOutOfMyNamespace. There are strong similarities between such queries so that it can actually be written once and reused multiple times. Tomorrow, I want such queries to be defined in a trait and injected in both FamixPackage and FamixNamespace. But, I want a single good name to name both Namespace and Package. Container?
--
Simon
Begin forwarded message:
> (19 August 2010 6:08:23 am) -- BEGIN: ConfigurationOfMoose
> (19 August 2010 6:08:23 am) -- loading
> (19 August 2010 6:11:27 am) -- **Warning/Halt when loading of ConfigurationOfMoose
> ** Warning: This package depends on the following classes:
> MOAbstractLayout
> You must resolve these dependencies before you will be able to load these definitions:
> MOGraphVizLayout
Fixed: change MOGraphVizLayout superclass to MOLayout following Alex's change
Hello,
I got some problems by concatenating some mooseGroups together.
You can evaluate this script in a workspace (it correspond to what I did in
my code):
|mooseModel|
Transcript open.
MooseScripts createLightModelForLAN.
mooseModel := MooseModel root allModels detect: [:aMooseModel |
aMooseModel name ='lightLAN'].
"at the begening, all famixClasses from this model have methods"
Transcript show: (mooseModel allModelClasses select: [:each | each
methods isEmpty]) size asString, String cr.
"here we do several concatenations with methods from all FAMIXClasses:"
mooseModel allModelClasses do: [:aFamixClass |
aFamixClass methods , aFamixClass inheritedMethods
].
"let see the new result: "
Transcript show: (mooseModel allModelClasses select: [:each | each
methods isEmpty]) size asString, String cr.
You can see that after the concatenations, some FAMIXClasses have lost their
methods.
Is it a real problem or is it me that is missing something obvious?
Hi!
I am analyzing Mondrian in Moose. One thing that I am bumping into, is that wrong dependencies are inferred whereas I am sure that they do not exist. This is not a new, we have to type in Smalltalk. For example:
MOEdge>>fromPositions
^ shape fromPositions
#fromPositions is implemented 3 times, by MOAbstractLayout, MOEdge, and MOLineShape.
In the case of MOEdge>>fromPositions, I am sure that it does not invoke MOAbstractLayout>>fromPositions
I guess that everyone analyzing smalltalk code bumped into this very situation.
My question is how do we do in that case?
One easy solution, is to annotate Mondrian with an adequate pragma:
MOEdge>>fromPositions
<invoke: #fromPositions of: MOLineShape>
^ shape fromPositions
We can decline this pragma into:
<doesNotInvoke: #selector of: AClass>
<invoke: #fromPositions of: #(MOLineShape MOEdge)>
Simon told me Cyrille has worked on this problem. I am currently trying to use RoelTyper.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi Roel!
I hope you're fine. I tried to use RoelTyper to have more accurate method invocations in Moose.
I use Mondrian as my case study.
I tried in a workspace
(TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) types
=> an OrderedCollection(SmallInteger)
This is surprising since I expect #shape to reference to an instance of a subtype of MOShape.
I did:
(TypeCollector typeInstvar: #shape ofClass: MOGraphElement ) interface
=> an IdentitySet(#shapeBoundsAt:ifPresent: #computeBoundsFor: #isCached #copy #defaultBounds #absoluteBoundsFor: #extentFor: #apply:bounds: #isFormsShape)
#shapeBoundsAt:ifPresent:, #computeBoundsFor: are defined in MOShape and not SmallInteger.
I probably miss something obvious here...
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
The class MOAbstractLayout is in the category Layout. However, I believe it belongs to the Core since the Core cannot work without this class.
MOAbstractLayout defines applyOn:, which is invoked by MORoot>>applyLayout.
I will also rename MOAbstractLayout into MOLayout to keep the name short and consistent with MOShape (and not MOAbstractShape).
If someone is against this, let me know.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
I just noticed that FamixAssociation is a subclass of FamixSourcedEntity and as such, inherits a sourceAnchor field.
To me, it sounds like we could define FamixAssociation>>sourceAnchor as a redirection:
FamixAssociation>>sourceAnchor
^ self from sourceAnchor
Indeed, an association is defined by the from side entity.
Is there any practical case where we want to link a dedicated SourceAnchor object to an Association?
--
Simon
For your information.
Doru
Begin forwarded message:
> From: Alexandre Bergel <alexandre(a)bergel.eu>
> Date: 16 August 2010 15:01:49 GMT+02:00
> To: ESUG Mailing list <esug-list(a)lists.esug.org>, Pharo Development <Pharo-project(a)lists.gforge.inria.fr
> >
> Subject: [Pharo-project] Looking for PhD candidates
> Reply-To: Pharo-project(a)lists.gforge.inria.fr
>
> Hi!
>
> The Chilean funding agency has a number of scholarships for doing a
> PhD. If you have a master or an engineering diploma and you want to
> work for 4 years on pharo and moose, contact me.
> The PhD will have to be realized in Santiago.
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
www.tudorgirba.com
"Presenting is storytelling."
Hi guys,
I would like to generate a view in which the versions
of a project are ordered on a timeline. Is there a timeline
layout in Mondrian?
Thanks,
M.