Roassal-ComplexShape kick-off

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Roassal-ComplexShape kick-off

Juraj Kubelka-5
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

Tudor Girba-2
Hi Juraj,

Great to see this starting.

To make collaboration easier please do the following:
- create a separate repository on SmalltalkHub
- put your Roassal extensions there
- send a Gofer script to load this code easily in a Moose image.

(ask specific questions if you do not find out how to do it)

In the meantime, I will try like it is now.

Cheers,
Doru




On Wed, Apr 10, 2013 at 4:03 AM, Juraj Kubelka <[hidden email]> wrote:
Hi all, Hi Doru!

There is the kick-off of ComplexShape implementation in Roassal. If you file-in the attached code into https://ci.inria.fr/moose/job/moose-latest-dev-4.8/, you will be able to play with it a bit. There is ROGridBuilderTest test class with two examples. 

Doru, I suppose you are almost only one who manage Mondrian's complex shapes. Would you please examine the code and give me your opinion? Thank you a lot. … Of course any one can give me some feedback :-) I would appreciate it.

For now I focused to do UML Class diagram. I know about blue-prints which can be done similar way. I have not seen other complex shapes. So there is an open space for other requirements which can impact interface and design.

Implementation breaks several tests because of change in ROContainer>>encompassingNestedRectangle. I removed a default extent (5@5) which is not wanted. I will fix the tests later when the implementation will be accepted.

Thank you for any response or question,
Jura




Imágenes integradas 1

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev




--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

Juraj Kubelka-5
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

Tudor Girba-2
Thanks!

Now, it will be easier to review :)

Doru


On Wed, Apr 10, 2013 at 4:27 PM, Juraj Kubelka <[hidden email]> wrote:
Hi Doru,

thank you for the navigation. There is the script:

Gofer new 
smalltalkhubUser: 'JurajKubelka' project: 'RoassalProposals'; 
package: 'Roassal'; 
load. 
ROGridBuilderTest browse.

Cheers,
Jura


2013/4/10 Tudor Girba <[hidden email]>
Hi Juraj,

Great to see this starting.

To make collaboration easier please do the following:
- create a separate repository on SmalltalkHub
- put your Roassal extensions there
- send a Gofer script to load this code easily in a Moose image.

(ask specific questions if you do not find out how to do it)

In the meantime, I will try like it is now.

Cheers,
Doru




On Wed, Apr 10, 2013 at 4:03 AM, Juraj Kubelka <[hidden email]> wrote:
Hi all, Hi Doru!

There is the kick-off of ComplexShape implementation in Roassal. If you file-in the attached code into https://ci.inria.fr/moose/job/moose-latest-dev-4.8/, you will be able to play with it a bit. There is ROGridBuilderTest test class with two examples. 

Doru, I suppose you are almost only one who manage Mondrian's complex shapes. Would you please examine the code and give me your opinion? Thank you a lot. … Of course any one can give me some feedback :-) I would appreciate it.

For now I focused to do UML Class diagram. I know about blue-prints which can be done similar way. I have not seen other complex shapes. So there is an open space for other requirements which can impact interface and design.

Implementation breaks several tests because of change in ROContainer>>encompassingNestedRectangle. I removed a default extent (5@5) which is not wanted. I will fix the tests later when the implementation will be accepted.

Thank you for any response or question,
Jura




Imágenes integradas 1

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev




--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev




--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

Tudor Girba-2
Hi,

I looked at it a bit. It's a start, but I think the direction is not quite right yet.

Let's take a look at one of your examples:

builder := ROGridBuilder rows: 3 columns: 1.
builder at: 1 at: 1 putModel: #printString shape: shape1.
builder at: 2 at: 1 putModel: #instVarNames shape: shape2 innerShape: ROLabel layout: ROVerticalLineLayout new.

I like that you are using a matrix model.

But, what is not so clean is mixing shapes and elements. Right now, you are creating elements within the definition of the shape (i.e., #instVarNames).

A rule of thumb should be that shapes should be interchangeable. Consider the following Mondrian example:
| builder |
builder := MOFormsBuilder new.
builder column; pref; center;
                row; fill;
                row; fill.
builder x:1 y:1 add: (MORectangleShape new text: #asString; withoutBorder).
builder x:1 y:2 add: MOChildrenShape new.
view shape: builder asShape.
view node: 42 forIt: [
        view nodes: (1 to: 42).
        view gridLayout ]

In this case, I can keep the graph structure the same and simply use another shape, and it still works (In this case, the rectangle has a default way of handling children elements).
view node: 42 forIt: [
        view nodes: (1 to: 42).
        view gridLayout ]

I am not suggesting that FormsBuilder is the ultimate design. It's not. However, I still think it's good to keep a shape be a way of specifying how elements look, not how elements are composed.

The way we achieved this was through ChildrenShape, which simply offers a placeholder for where the children elements are rendered. The limitation of the previous design was that we only allowed one ChildrenShape. This is why we either showed methods or attributes in the uml class diagram.

But I think we could remedy the situation by having some sort of partitioning of the children. For example, we could tag children and then associate the tags to the different ChildrenShapes.

Ok, that is it for the moment.

Doru


On Apr 10, 2013, at 4:30 PM, Tudor Girba <[hidden email]> wrote:

> Thanks!
>
> Now, it will be easier to review :)
>
> Doru
>
>
> On Wed, Apr 10, 2013 at 4:27 PM, Juraj Kubelka <[hidden email]> wrote:
> Hi Doru,
>
> thank you for the navigation. There is the script:
>
> Gofer new
> smalltalkhubUser: 'JurajKubelka' project: 'RoassalProposals';
> package: 'Roassal';
> load.
>
> ROGridBuilderTest browse.
>
> Cheers,
> Jura
>
>
> 2013/4/10 Tudor Girba <[hidden email]>
> Hi Juraj,
>
> Great to see this starting.
>
> To make collaboration easier please do the following:
> - create a separate repository on SmalltalkHub
> - put your Roassal extensions there
> - send a Gofer script to load this code easily in a Moose image.
>
> (ask specific questions if you do not find out how to do it)
>
> In the meantime, I will try like it is now.
>
> Cheers,
> Doru
>
>
>
>
> On Wed, Apr 10, 2013 at 4:03 AM, Juraj Kubelka <[hidden email]> wrote:
> Hi all, Hi Doru!
>
> There is the kick-off of ComplexShape implementation in Roassal. If you file-in the attached code into https://ci.inria.fr/moose/job/moose-latest-dev-4.8/, you will be able to play with it a bit. There is ROGridBuilderTest test class with two examples.
>
> Doru, I suppose you are almost only one who manage Mondrian's complex shapes. Would you please examine the code and give me your opinion? Thank you a lot. … Of course any one can give me some feedback :-) I would appreciate it.
>
> For now I focused to do UML Class diagram. I know about blue-prints which can be done similar way. I have not seen other complex shapes. So there is an open space for other requirements which can impact interface and design.
>
> Implementation breaks several tests because of change in ROContainer>>encompassingNestedRectangle. I removed a default extent (5@5) which is not wanted. I will fix the tests later when the implementation will be accepted.
>
> Thank you for any response or question,
> Jura
>
>
>
>
> <roassal-complexshape-export-of-roshape.png>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"

--
www.tudorgirba.com

"Every now and then stop and ask yourself if the war you're fighting is the right one."




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

abergel
Hi Doru!

Thanks for having a look at Juraj's work.

> A rule of thumb should be that shapes should be interchangeable. Consider the following Mondrian

One of the main hypothesis of Juraj's work, I have the impression, is that there is only one way to compose graphical widget, which is given by nesting ROElements.

The GridBuilder is about efficiently building grid, whereas MondrianBuilder is about efficiently build possibility nested graphs.

So far, I see that the GridBuilder should be a compelling mini language to build DSM, UML diagrams, Class Blueprint.

We have chosen the notation "view nodes: ... using: abuilder". Maybe the using: lexeme is not the best, since we mean grid builder here, and not shapes (as it was in Mondrian).

> example:
> | builder |
> builder := MOFormsBuilder new.
> builder column; pref; center;
> row; fill;
> row; fill.
> builder x:1 y:1 add: (MORectangleShape new text: #asString; withoutBorder).
> builder x:1 y:2 add: MOChildrenShape new.
> view shape: builder asShape.
> view node: 42 forIt: [
> view nodes: (1 to: 42).
> view gridLayout ]
>
> In this case, I can keep the graph structure the same and simply use another shape, and it still works (In this case, the rectangle has a default way of handling children elements).
> view node: 42 forIt: [
> view nodes: (1 to: 42).
> view gridLayout ]

Something that has always bothered me, is that it is not clear when the MOFormsBuilder is the appropriate construction to use. Consider the Jannik's DSM. How to visually represent it? By having a super-complex shape to which we do a " view node: myDsm" ? Or do you need an appropriate way to build the matrix?

You gave a nice use of the FormsBuilder. It makes me realize that it is useful to keep shapes and the structure separate. But why only shapes? And not layout or interactions?



> I still think it's good to keep a shape be a way of specifying how elements look, not how elements are composed.

Yes. I agree!

I am realizing my ideas here are not well ordered. Defining and understand what is the scope of shapes, interaction and elements is tough.

Alexandre


> The way we achieved this was through ChildrenShape, which simply offers a placeholder for where the children elements are rendered. The limitation of the previous design was that we only allowed one ChildrenShape. This is why we either showed methods or attributes in the uml class diagram.
>
> But I think we could remedy the situation by having some sort of partitioning of the children. For example, we could tag children and then associate the tags to the different ChildrenShapes.
>
> Ok, that is it for the moment.
>
> Doru
>
>
> On Apr 10, 2013, at 4:30 PM, Tudor Girba <[hidden email]> wrote:
>
>> Thanks!
>>
>> Now, it will be easier to review :)
>>
>> Doru
>>
>>
>> On Wed, Apr 10, 2013 at 4:27 PM, Juraj Kubelka <[hidden email]> wrote:
>> Hi Doru,
>>
>> thank you for the navigation. There is the script:
>>
>> Gofer new
>> smalltalkhubUser: 'JurajKubelka' project: 'RoassalProposals';
>> package: 'Roassal';
>> load.
>>
>> ROGridBuilderTest browse.
>>
>> Cheers,
>> Jura
>>
>>
>> 2013/4/10 Tudor Girba <[hidden email]>
>> Hi Juraj,
>>
>> Great to see this starting.
>>
>> To make collaboration easier please do the following:
>> - create a separate repository on SmalltalkHub
>> - put your Roassal extensions there
>> - send a Gofer script to load this code easily in a Moose image.
>>
>> (ask specific questions if you do not find out how to do it)
>>
>> In the meantime, I will try like it is now.
>>
>> Cheers,
>> Doru
>>
>>
>>
>>
>> On Wed, Apr 10, 2013 at 4:03 AM, Juraj Kubelka <[hidden email]> wrote:
>> Hi all, Hi Doru!
>>
>> There is the kick-off of ComplexShape implementation in Roassal. If you file-in the attached code into https://ci.inria.fr/moose/job/moose-latest-dev-4.8/, you will be able to play with it a bit. There is ROGridBuilderTest test class with two examples.
>>
>> Doru, I suppose you are almost only one who manage Mondrian's complex shapes. Would you please examine the code and give me your opinion? Thank you a lot. … Of course any one can give me some feedback :-) I would appreciate it.
>>
>> For now I focused to do UML Class diagram. I know about blue-prints which can be done similar way. I have not seen other complex shapes. So there is an open space for other requirements which can impact interface and design.
>>
>> Implementation breaks several tests because of change in ROContainer>>encompassingNestedRectangle. I removed a default extent (5@5) which is not wanted. I will fix the tests later when the implementation will be accepted.
>>
>> Thank you for any response or question,
>> Jura
>>
>>
>>
>>
>> <roassal-complexshape-export-of-roshape.png>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>
> --
> www.tudorgirba.com
>
> "Every now and then stop and ask yourself if the war you're fighting is the right one."
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

Juraj Kubelka-5
In reply to this post by Tudor Girba-2
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

stephane ducasse
In reply to this post by Juraj Kubelka-5
Juraj

publish your code on a project, and provide a gofer script.
 loading st files is not fun at all.

Stef

On Apr 10, 2013, at 4:03 AM, Juraj Kubelka <[hidden email]> wrote:

Hi all, Hi Doru!

There is the kick-off of ComplexShape implementation in Roassal. If you file-in the attached code into https://ci.inria.fr/moose/job/moose-latest-dev-4.8/, you will be able to play with it a bit. There is ROGridBuilderTest test class with two examples. 

Doru, I suppose you are almost only one who manage Mondrian's complex shapes. Would you please examine the code and give me your opinion? Thank you a lot. … Of course any one can give me some feedback :-) I would appreciate it.

For now I focused to do UML Class diagram. I know about blue-prints which can be done similar way. I have not seen other complex shapes. So there is an open space for other requirements which can impact interface and design.

Implementation breaks several tests because of change in ROContainer>>encompassingNestedRectangle. I removed a default extent (5@5) which is not wanted. I will fix the tests later when the implementation will be accepted.

Thank you for any response or question,
Jura




<roassal-complexshape-export-of-roshape.png>
<Roassal-ComplexShape-Tests.st><Roassal-ComplexShape.st><ROContainer-encompassingNestedRectangle.st><ROGridLayout class-onwithGapwithLineItemsCount.st><ROMondrianViewBuilder-nodesusing.st><ROMondrianViewBuilder-nodeusing.st><ROShape class-chainedCopy.st>_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

Juraj Kubelka-5
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Roassal-ComplexShape kick-off

stephane ducasse
thanks!
You can read the gofer chapter that we wrote.

Stef

On Apr 13, 2013, at 2:43 PM, Juraj Kubelka <[hidden email]> wrote:

Hi Stef,

Thank you, Doru already teached me about it. Here it is:

Gofer new 
smalltalkhubUser: 'JurajKubelka' project: 'RoassalProposals'; 
package: 'Roassal'; 
load. 
ROGridBuilderTest browse.


Cheers,
Jura



2013/4/13 stephane ducasse <[hidden email]>
Juraj

publish your code on a project, and provide a gofer script.
 loading st files is not fun at all.

Stef

On Apr 10, 2013, at 4:03 AM, Juraj Kubelka <[hidden email]> wrote:

Hi all, Hi Doru!

There is the kick-off of ComplexShape implementation in Roassal. If you file-in the attached code into https://ci.inria.fr/moose/job/moose-latest-dev-4.8/, you will be able to play with it a bit. There is ROGridBuilderTest test class with two examples. 

Doru, I suppose you are almost only one who manage Mondrian's complex shapes. Would you please examine the code and give me your opinion? Thank you a lot. … Of course any one can give me some feedback :-) I would appreciate it.

For now I focused to do UML Class diagram. I know about blue-prints which can be done similar way. I have not seen other complex shapes. So there is an open space for other requirements which can impact interface and design.

Implementation breaks several tests because of change in ROContainer>>encompassingNestedRectangle. I removed a default extent (5@5) which is not wanted. I will fix the tests later when the implementation will be accepted.

Thank you for any response or question,
Jura




<roassal-complexshape-export-of-roshape.png>
<Roassal-ComplexShape-Tests.st><Roassal-ComplexShape.st><ROContainer-encompassingNestedRectangle.st><ROGridLayout class-onwithGapwithLineItemsCount.st><ROMondrianViewBuilder-nodesusing.st><ROMondrianViewBuilder-nodeusing.st><ROShape class-chainedCopy.st>_______________________________________________


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev