Media materials for Moose
by Simon Denier
Hi list
I am looking for any media material (picture, screenshots of tools,
slideshow, videos, podcasts) related to Moose. Some could be put on
the website for the community, and I think they should be put in a
file repository to be shared under a CC licence.
Right now I am working on a poster for Moose and that's why I need
such materials.
--
Simon
14 years, 6 months
Famix3 issue list
by Simon Denier
Dear list,
After a fruitful meeting with Doru at Bern, here is the current list
of issue to be resolved in the reference implementation of Famix3
(SqMoose), just so you know. Feel free to ask
38
Assigned
[FAME] Handling of unknown attributes when importing MSE files
(mismatched models)
39
Started
Implement a Visitor for Famix3
40
Closed
FAMIX3: review method organization to clean Famix-Core
41
New
[MOOSE] port SCG algorithms to SqMoose
42
New
[FAME] Add annotation/comment support in Fame metametamodel
43
New
[FAME] add helper methods for multivalued attributes
44
New
[FAMIX] Compability visitor for Famix2/famix3
45
Assigned
[FAMIX3] NamedEntity#packagedIn should be derived and renamed to
parentPackage
46
Assigned
[FAMIX3] SmalltalkImporter: Classes/Types should be registered in
ContainerEntity#types and not in Package#childNamedEntities
47
Assigned
Smalltalk importer: check class registration
48
Assigned
Smalltalk importer: fix stub
49
Assigned
[FAMIX3] Smalltalk Importer: implement candidate invocations
50
Assigned
[FAMIX3] Check attribute declarations are correct and synchronized
51
Assigned
[FAMIX3] Remove generic setters from the model (from: to: belongsTo:)
52
Assigned
Check current usage of NamedEntity#modifiers attribute
53
Assigned
[FAMIX3] round-trip extraction/generation test with Fame
--
Simon
14 years, 6 months
Glamour browser
by Alexandre Bergel
With such a name, I couldn't resist to try.
I downloaded Glamour and all the test pass (except one expected
failure).
What next? How I can open one? I skimmed the test, but I do not know
where to start.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
14 years, 6 months
Re: [Pharo-project] Which Mondrian ?
by Alexandre Bergel
> I've loaded the mondrian form squeaksource and I'm trying it. I find
> it quite different for the one used in OB.
Yes, but very close to the VW version. We have a number of scripts and
visualization made in VW that we would like to reuse. Moreover, in my
opinion, the new version is simpler to use (and probably faster to
render).
The incantation to install the latest version of Mondrian in Pharo:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
ScriptLoader new installer ss project: 'Mondrian'; install:
'MondrianLoader'. ScriptLoader perform: #loadMondrian
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> I'll continue to try it as I'm reading Micheal Master thesis. I'm
> trying on a simple graph first with tasks and node, but also I'd like
> a special kinf of shape. Alex, I didn't found the way to compose
> shape. Is it possible already ?
Yes, you can compose them using MOFormsBuilder. There are numerous
example in MOReadme, MONewFormsBuilderTest, and MOFormsBuilderTest
(but some of them go red).
An example that you can run with: MOReadme new flagExample
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| builder view |
builder := MOFormsBuilder new.
"Assuming you want a grid made up of 3 columns and 2 rows"
builder
column; fill;
column; fill; center;
column; fill.
builder
row; fill; row; fill; row; fill; "For the German flag"
row; center; "The EU text"
row; pref. "For the French flag"
"We draw a German flag"
builder x: 1 y: 1 w: 3 add: (MORectangleShape new width: 30; height:
7; fillColor: Color black).
builder x: 1 y: 2 w: 3 add: (MORectangleShape new width: 30; height:
7; fillColor: Color red).
builder x: 1 y: 3 w: 3 add: (MORectangleShape new width: 30; height:
7; fillColor: Color yellow).
builder x: 1 y: 4 w: 3 add: (MOLabelShape new text: [:aNumber |'EU ',
aNumber printString]).
"We draw a French flag"
builder x: 1 y: 5 add: (MORectangleShape new width: 10; height: 20;
fillColor: Color blue).
builder x: 2 y: 5 add: (MORectangleShape new width: 10; height: 20;
fillColor: Color white).
builder x: 3 y: 5 add: (MORectangleShape new width: 10; height: 20;
fillColor: Color red).
view := MOViewRenderer new.
view popupText: [:aNumber | 'my value is ', aNumber printString ].
view draggable. "Let's make nodes draggable, yeah!"
view nodeShape: (builder shape).
view nodes: (1 to: 27).
view edges: (1 to: 27) from: #yourself to: [:each | each * each].
view layout: (MOCircleLayout new).
view open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> I also wonder if we could imagine a SVGRenderer to use in conjunction
> with seaside :) ? What do you think ?
Yeah, that would be nice!
> ps: David, concerning the graph button bar in OB, I'll suggest showing
> it only in the comment view.
It depends... I seldom press the comment button, except if there is a
comment in it, which is rare.
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
14 years, 7 months
FMMultivalueLink
by Laval Jannik
Hi all,
In FAMIXScopingEntity, the method initialize is:
---
initialize
super initialize.
childNamespaces := FMMultivalueLink on: self opposite:
#parentNamespace:.
parentNamespace := nil.
globalVariables := FMMultivalueLink on: self opposite:
#parentNamespace:.
---
The class FMMultivalueLink does not exist.
Does anyone know what it is and how to fix it?
Thanks
Jannik
14 years, 7 months
MSE Incompability between Fame and iPlasma?
by Simon Denier
Hi everybody
I'm trying to use iPlasma to parse Java source files, export the model
as MSE, then import them in SqMoose using Fame.
I ran into a couple of problems when doing this, specificall the MSE
format built with iPlasma is not well parsed by Fame.
Here is a sample generated by iPlasma:
Beginning of MSE file:
(Moose.Model (entity
A) According to the MSE spec, the file cant begin directly with a name
like that, should be ((Moose.Model (entity (....))
Besides, I dont see the point of this header, it works fine without it.
(FAMIX.Namespace
(id: 6)
(name 'java::lang')
)
B) Fame infers accessor 'smalltalk-style', ie it will call #name: to
set the name of the Namespace entity in the example above.
It works in Famix3 but not in Famix2, where the setter is declared as
#setName: . It's alright with the inference rule of Meta (as I far as
I remember) but not with the new one. We should add those accessors
in Famix2 for seamless access.
(FAMIX.Class
(id: 3)
(name 'Object')
(belongsTo (idref: 6))
(isAbstract false)
(isInterface false)
C) Fame does not recognize the idref: syntax, only the ref: syntax.
The MSE spec is inconsistent about that: the grammar only defines the
ref: syntax as Fame does, but the doc talks about both an IDREF
command and a 'REF command for metamodels only'.
D) Finally, the biggest hurdle is that we dont know directly with
which version of Famix the file was created. For example, the FAMIX
package in SqMoose matches Famix3, and Famix2 is defined in a FAMIX2
package. This leads to a mismatch when trying to load the above file
which was generated with Famix2 (unless batch editing all FAMIX ->
FAMIX2)
My suggestion is that each Famix metamodel should explicitely declare
its version in its Fame package name, either Famix2 or Famix3, like
that:
FAMIXClass class>>annotation
<MSEClass: #Class super: 'FAMIX3.Type'>
<package: #FAMIX3>
^self
Does it sound ok?
--
Simon
14 years, 7 months
Moose in Squeak is getting fast :-)
by Alexandre Bergel
Time millisecondsToRun: [| view |
view := MOViewRenderer new.
view nodes: (1 to: 50) forEach: [:each |
view nodes: (1 to: 10) forEach: [:ea |
view nodes: (1 to: ea * each).
view gridLayout].
view gridLayout].
view open]
=> 18955 in Pharo
=> 23566 in VW
:-)
And I am sure there are rooms for improvement (IdentityDictionary are
used with a small number of elements, a lot of OrderedCollection are
used, ...)
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
14 years, 7 months
Reordering nodes in MORoot
by Alexandre Bergel
Hi Mondrian friends,
While doing a drag and drop, I am reordering the nodes in a MORoot:
the dragged node is put at the end of the "root nodes" to make it the
last to dislpay it on the screen. I am just wondering whether this
will not interfere with other behavior.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
14 years, 7 months
Properties in SqMoose
by Alexandre Bergel
Dear SqMoose Crew,
I have a question about properties.
In FileImportTest>>testFiles, there are accesses to properties, e.g.,
self assert: (file propertyNamed: #TLOT) = 1.
self assert: (file propertyNamed: #NOCh) = 0.
(file propertyNamed: #TLOT) returns nil. It seems that the computing
is not done. However, if I manually trigger the computation, getting
the property returns the expected value as in:
self assert: (file totalNumberOfLinesOfText = 1). "If I remove this
line, the next one return nil"
self assert: (file propertyNamed: #TLOT) = 1
Any idea ? It seems that the meta stuff is not able to retrieve the
method that contains the property. Any idea why?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
14 years, 7 months
multi-line label
by Alexandre Bergel
Dear List,
I was wondering why a UML diagram cannot be obtained through:
-=-=-=-=-=-=-=-=-=-=-=-=
| builder view |
builder := MOFormsBuilder new.
builder column; fill.
builder row; fill; row; fill.
builder x: 1 y: 1 add: (MORectangleShape new).
builder x: 1 y: 1 add: (MOLabelShape new text: [:cls | cls name]).
builder x: 1 y: 2 add: (MORectangleShape new).
builder x: 1 y: 2 add: (MOLabelShape new text: [:cls | cls methodDict
keys inject: '' into: [:sum :el | sum, el, String cr]]).
view := MOViewRenderer new.
view nodeShape: builder shape.
view draggable.
view popupText.
view nodes: {MONExplicitIdentityNormalizer}.
view layout: MOTreeLayout new.
view open
-=-=-=-=-=-=-=-=-=-=-=-=
This is not polished, but having multi-lines label seems to be
interesting...
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
14 years, 7 months