I'd like my visualizations showing inheritance to be UML-like. That is, I'd
like arrow heads to be empty. I found some classes (RTEmptyArrowHead, etc.)
and thought they might be the answer. However, I can't get it to work in the
following code. Do those classes work?
I'm using Moose suite 6.0 on Windows 10.
| b line |
b := RTMondrian new.
b shape circle size: 3.
b nodes: RTShape withAllSubclasses.
"b shape arrowedLine withShorterDistanceAttachPoint."
line := RTEmptyArrow new.
b shape line withShorterDistanceAttachPoint.
b edgesFrom: #superclass.
b layout forceWithCharge: -500.
b build.
^ b view
<http://forum.world.st/file/n4915133/RTEmptyArrowAttempt.png>
--
View this message in context: http://forum.world.st/Changing-arrow-head-types-in-RTMondrian-tp4915133.html
Sent from the Moose mailing list archive at Nabble.com.
I have Moose 6.0 and I've used jdt2famix 1.0.2 to generate an MSE file. I'm
trying to use Moose to reason about clients of Java interfaces. I would
like to find any classes that depend on an interface by any means. I
thought using clientTypes was the right thing, except it doesn't work the
way I expect in a simple case.
For the interface in my example, clientTypes only returns the class that is
an implementation of the interface (which makes sense, as they depend on
it) but not the client class that uses it via a private static reference
(which, to me, doesn't make sense).
For more information, I am able find the client of the interface via
structuresWithDeclaredType, so I'm pretty sure it's not information missing
in the MSE file (not a jdt2famix bug).
Based on the simple example below, shouldn't clientTypes for ITest return
ClassAClient and ConcreteImplementationA rather than
just ConcreteImplementationA?
// ITest.java
public interface ITest {
}
// ConcreteImplementationA.java
public class ConcreteImplementationA implements ITest {
}
// ClassAClient.java
public class ClassAClient {
private static ITest theTest;
public static void main(String arg[]) {
theTest = new ConcreteImplementationA();
}
}
Hello Moose lovers,
At the request of Stéphane Ducasse, I am sending this email to the Moose developers mailing list.
While working on the VisualWorks importer I stumble on three issues that I am describing shortly below.
An endless loop occurs during an MSE export when an entity’s property is not set.
It is very easy to create duplicate entities without noticing
When entities are not correctly linked to the model, #allInstancesDo: is sent making the processing extremely slow.
Since it is not an easy task to precisely describe the corresponding symptoms, I prepared a package where those three issues can be reproduced using SUnit tests. The package is attached. Read carefully the comments that I inserted in each test, before running it.
Enjoy,
Michel
Hello,
I'm trying to visualize hierarchies that include Java interfaces, but I'm
very new to Moose/Pharao/Mondrian. I'm using the sample MSE data for ArgoUML
described in the book at http://themoosebook.org/download/ArgoUML-0-28-1.zip
I'm confused because when I browse in the Moose Panel to "All famixclasses"
and then a class, e.g., org::argouml::uml::ui::DefaultPredicate that
implements an interface, e.g., org::argouml::application::api::Predicate, I
can see it has an "All superclasses" list. However, when I inspect the
FAMIXClass, I can only see "superclass" as an available variable.
The sample code below works, but only shows one "superclass" link (and thus
none of the interfaces, which are Green appear to be linked). I'd like to
have it show links to all superclasses (including the interfaces) as well.
In short, how does one map these "All x" things seen in the Moose Panel
browser to the variables/methods in the FAMIXClass? My apologies if this is
really obvious and I missed it somehow.
Here's the sample code adapted from the RTMondrianExample class in Moose
Suite 6.0 under Windows. I restrict the classes to only those truly in
ArgoUML:
| b |
b := RTMondrian new.
b shape circle
size: 30;
color: [ :cls | cls isInterface ifTrue: Color green ifFalse: Color
gray].
b nodes: (MooseModel root allModels first allClasses select:
[ :each | (each container name beginsWith:'org::argouml')]).
b shape arrowedLine color: Color black; withShorterDistanceAttachPoint.
b edges connectTo: #superclass.
b layout force charge: -500; nbIterations: 50.
b build.
^ b view
--
View this message in context: http://forum.world.st/FAMIXClass-and-All-superclasses-tp4915017.html
Sent from the Moose mailing list archive at Nabble.com.
Hello
I am using Roassal2-AlexandreBergel.1335 in Pharo 5.
Most, if not all, Grapher example visualizations starts at point 0 in the X
axis. My points are chromosome positions starting at 7,000,000. Is there a
way to configure the X axis to start from that position or a custom value?
(X label always start at 0 but points does not get rendered until 7M).
If you take the following as example, I would like to start the X axis at 1
approx removing the empty range between 0 and 1.
| b values ds |
b := RTGrapher new.
values := #(5 6 7 -1 -3).
b extent: 400 @ 300.
ds := RTData new.
ds interaction popup.
ds points: values.
ds connectColor: Color red.
ds y: #yourself.
b add: ds.
b build.
^ b view
Hernan
I've ported some projects from Moose 5 to Moose 6. The UI seems extremely
sluggish and my image freezes pretty regularly. I can't remember
experiencing anything like this in previous Pharo/Moose. My image is up
around 500MB, and I have a few collections with a 100K-700K objects. Could
that be the cause? Is anyone else experiencing similar instability? I'm not
sure if it's my use case, Pharo, Spur, Moose, etc. So much has
changed/improved recently!
-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Moose-6-Unstable-or-Just-Me-tp4914675.html
Sent from the Moose mailing list archive at Nabble.com.
Hi,
is there a way to have the spotter window fixed-width, or at least cap the maximum width?
If I use dual monitors (as in I extend the Pharo window over two screens), then the spotter will be about 2000 pixels wide.
Ideally it would be nice if I could specify where the spotter appears...e.g. if pharo window width < 2000, then on the center, if > 2000 then the right quarter.
Thanks,
Peter
Hi!
Time to time I get the following message:
This is a big disturbing. I have not investigated how to reproduce the problem. But I can share an image.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
I had the same issue when loading a mse some months ago...
I talked with clement and it is a problem with the new gc.
He told me that tweaking it may be enough to resolve the performances issues. But, it is possible that the gc algorithm should be rewritten: for now, only a basic one is implemented.
Cheers,Vincent
------ Message d'origine------De: Tudor GirbaDate: mer., 7 sept. 2016 08:27À: Moose-related development;Cc: Objet :[Moose-dev] major MSE loading slowdown
Hi,I raised this issue before, but somehow it slipped through the cracks. Cyril reminded me yesterday and I checked it again, and indeed, we have a significant problem with loading MSE files.After a quick evaluation, it is likely that the problem comes from Spur or another related change because nothing really changed on the loading side.This is a significant problem, and I would need help with it. If someone has time to investigate, it would be great to join forces.Cheers,Doru--www.tudorgirba.comwww.feenk.com"Problem solving should be focused on describingthe problem in a way that makes the solution obvious."_______________________________________________Moose-dev mailing listMoose-dev@list.inf.unibe.chhttps://www.list.inf.unibe.ch/listinfo/moose-dev
Hi,
I raised this issue before, but somehow it slipped through the cracks. Cyril reminded me yesterday and I checked it again, and indeed, we have a significant problem with loading MSE files.
After a quick evaluation, it is likely that the problem comes from Spur or another related change because nothing really changed on the loading side.
This is a significant problem, and I would need help with it. If someone has time to investigate, it would be great to join forces.
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Problem solving should be focused on describing
the problem in a way that makes the solution obvious."
Is there a mechanism for this? Say I want to add some actions to
SequenceableCollection's Items presentation without overriding the existing
method...
Also, is there a canonical documentation for GT? I found the blog posts, and
the presentation documentation in the Moose book, but nothing about GT's
hooks (e.g. my question above).
Thanks!
-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Extending-an-Existing-GT-Presentation-tp4913845.html
Sent from the Moose mailing list archive at Nabble.com.
Hi,
I think that the #atScope: changed in Moose 6 but it seems that
MooseOutgoingCompositeQueryResult still uses the old #atScope.
To see the problem you can just copy this test in MooseQueryTest:
testProblemAtScope
self shouldnt: [ class2 querySureOutgoingAssociations atTypeScope ]
raise: MessageNotUnderstood
--
Cyril Ferlicot
http://www.synectique.eu
165 Avenue Bretagne
Lille 59000 France
Hi,
We have an engineer position at Lille (France) in the RMOD team to modernize FAME, FAMIX and software analysis tools.
The position is for two years starting in November or December. Conditions to apply are to have a master with 2 to 10 years of experience.
Industrial applications of Moose have shown some limits: (1) problem to scale, (2) modularity and extensibility and (3) user syntax. To overtake these limits, it becomes essential to modernize Moose heart. This project has three major objectives: (i) reduce the memory print to enable a better scaling, (ii) modernize Moose heart to introduce more modularity and extensibility and (iii) simplify the use and extension of Moose.
This project aims to develop a new version of Moose (Moose 2.0) more modular, less memory consumer and easier to use. Advantages of Platypus (PL)(http://dossen.univ-brest.fr/apl/index.php/Platypus <http://dossen.univ-brest.fr/apl/index.php/Platypus>) a research prototype developed in Pharo to analyse software systems as models will be combined to those of the current Moose (M) version and the new features of Pharo (P).
Moose 2.0 = flexible metamodel (M) supporting multiple inheritance and union of types (PL) + user syntaxto simplify model specifications (PL)
+ lot of analysis and visualization tools (M)
+ tool infrastructure (M)
+ model generator (PL)
+ compatibility with industrial and academic standard (PL) + low memory print (P)
+ access to method details (M) on demand (P)
Mission description (in French) and application form are available here (https://www.inria.fr/institut/recrutement-metiers/offres/ingenieurs-r-d-con… <https://www.inria.fr/institut/recrutement-metiers/offres/ingenieurs-r-d-con…>).
French is not mandatory whereas English is ;o)
If you have questions, don’t hesitate to ask.
Sincerely,
Anne Etien
hi,
could someone copy this
Name: ConfigurationOfRoassal2-AlexandreBergel.89
Author: AlexandreBergel
Time: 30 August 2016, 6:44:04.870089 pm
UUID: 224cad5b-6467-406d-9ae3-36e949b45229
Ancestors: ConfigurationOfRoassal2-AlexandreBergel.88
fix in Version 1.37
configuration to the
Repository: http://smalltalkhub.com/mc/ObjectProfile/Roassal2/main/
, please?
right now, i cannot load roassal2 in pharo5.
thanks.
--
Bernardo E.C.
Sent from a cheap desktop computer in South America.
Hi,
(how) can one add a new button to GTPlayground, next to the "do it all and go" and "remote publish"?
I want to add integration with Gists (because I find the remote publish only remotely useful),
however it seems that the buttons are hard coded.
Thanks,
Peter
Hi,
As presented at ESUG on Monday, we now have a custom GTDebugger for Seaside. This was built by Andrei as an initial experiment.
As we do not know much about Seaside-specific debugging problems, we asked a couple of Seaside users to describe issues that would be useful to be addressed in the debugger, and Andrei allocated some 4h to construct some of these in an custom debugger for Seaside.
Two of the issues that popped up are:
- get a quick view of the current request context
- get an overview of the current component nesting
They are now addressed like depicted in the screenshot below.
You should look at this debugger as a beginning. Beside the current basic extensions one added value is that we now have the scaffolding to build more. Please take a look at it and let’s try to identify more concrete issues that might be addressed. It would be great if this would be taken over by the Seaside community.
The debugger can be loaded on top of a Pharo 6.0 with Seaside inside like this:
Gofer new
smalltalkhubUser: 'Moose' project: 'GToolkit';
package: 'GT-SeasideDebugger';
load.
#GTSeasideDebugger asClass register
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"The coherence of a trip is given by the clearness of the goal."
Hi,
We are very happy to make the following announcement:
Lam Research, a leading supplier of wafer fabrication equipment and services to the global semiconductor industry, is an experienced user of the Smalltalk programming language. Smalltalk is a key component in Lam's software control system for a broad range of the equipment it manufactures. Tudor Girba is a leading member of the tools and environment development effort in Pharo, having architected the Glamorous Toolkit for live programming. Eliot Miranda is author of the Cog virtual machine that underlies Pharo and other Smalltalk dialects.
Lam has engaged Tudor and Eliot to explore potential enhancements in Lam's use of Smalltalk. These enhancements range from running highly optimized Smalltalk on low cost, single board computers, to enhancing Lam's Smalltalk development practices with state-of-the-art live programming. During the engagement, Tudor and Eliot successfully moved a key communication component of the control system to Pharo. It was a challenging task aimed at extending the reach of Lam’s system to the Pharo world including the option of executing on ARM processors.
Cheers,
Tudor Girba, Eliot Miranda and Chris Thorgrimsson
Hi,
Over the last coupe of years Stefan Reichhart and the rest of the GT team worked on an implementation of examples. The work is inspired from previous work done by Markus Gaelli and Adrian Kuhn.
As one of the goals of GT is to offer a live programming environment, one important issue is how to move from the static code to live objects as fast as possible. That is why we worked on this library as a solution to provide a link between the static code and live objects.
Furthermore, this examples library also enables the definition of assertions on the examples, and this provides the possibility of rethinking the way we construct tests throughout our system. Tests are great as they help us create live objects and then to assert live properties. However, they do not allow us to leverage the objects we create, and this can be a tremendous resource for understanding systems.
In our vision, examples should be everywhere and they should be explicitly linked to the static code they exemplify. That is why the library comes with an initial integration in existing tools (such as Nautilus, Spotter, Inspector).
The current solution works well and it is the result of several rewrites. We think that the solution is complete in terms of features, but there are still several things to improve and iterate on. To this end, I kindly ask you to take a look at it while distinguishing between the concrete implementation choice (e.g., the current extensive use of pragmas) and the conceptual benefits of the approach.
To ease the discussion, we put together a short documentation:
http://gtoolkit.org/doc/Examples/examples.html
That being said, you can get it with the full GToolkit in Pharo 6.0:
http://gtoolkit.org/#install
(easiest is to download the ready made image for now)
For those that are at ESUG, I will try to provide a short overview during the Show Us Your Project session from today.
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Innovation comes in the least expected form.
That is, if it is expected, it already happened."
Hi,
I would like to have a meeting with the people that are interested in Moose and are present at ESUG. I propose to have it on Tuesday, at 6:30.
Would anyone else be interested?
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"It's not how it is, it is how we see it."
Hi,
John Brant created a repo on SmalltalkHub with the latest version of SmaCC.
And now, SmaCC is part of Moose 6.0.
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Value is always contextual."
Hi!
Just wondering, did anyone tried to use the VerveineJ or jdt2Famix on android app?
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
does the print-it option always use only asString (or whatever it actually
uses), or can it be modified in some way?
I would like to modify it a bit, because for big numbers the default one is
not easy to read, e.g.
instead, I would like to see this
It gives much better idea of the scale of the number.
Can such thing be modified?
Thanks,
Peter
---------- Forwarded message ----------
From: Peter Uhnak <i.uhnak(a)gmail.com>
Date: Sat, Aug 13, 2016 at 5:29 PM
Subject: hooking into GTInspector tags
To: Pharo-Users List <pharo-users(a)lists.pharo.org>
Hi,
how can one hook into the GTInspector tags that can be filtered?
Apparently I can assign a presentation to a tag with `<gtInspectorTag:
#examples>`,
however this works only if the tag name was already added.
As this was done in GTInspector>>initialize, it makes the whole filtering
idea quite useless (unless I explicitly initialize GTInspector, which is
not the natural approach).
Can't it just collect all the tags from the current presentations?
Or can I somehow access the GTInspector instance from the `composite`
argument?
Thanks,
Peter