issue with DSM

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

issue with DSM

Alexandre Bergel
Hi!

I bumped into this:
-=-=-=-=-=-=-=-=-=
DSMCell>>configurationForNamespace

        self accesses: (self from mooseModel sourceLanguage = #Smalltalk
        ...
-=-=-=-=-=-=-=-=-=

'self from mooseModel' may return nil.

This happens when I open a DSM on the following object:
        group := FAMIXNamespaceGroup new.
        group
                add: (FAMIXNamespace new name: 'name1');
                add: (FAMIXNamespace new name: 'name2');
                add: (FAMIXNamespace new name: 'name3').

DSM is apparently making an assumptions on the object it gets.

Cheers,
Alexandre

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
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: issue with DSM

Simon Denier-3

On 6 oct. 2010, at 23:28, Alexandre Bergel wrote:

> Hi!
>
> I bumped into this:
> -=-=-=-=-=-=-=-=-=
> DSMCell>>configurationForNamespace
>
> self accesses: (self from mooseModel sourceLanguage = #Smalltalk
> ...
> -=-=-=-=-=-=-=-=-=
>
> 'self from mooseModel' may return nil.
>
> This happens when I open a DSM on the following object:
> group := FAMIXNamespaceGroup new.
> group
> add: (FAMIXNamespace new name: 'name1');
> add: (FAMIXNamespace new name: 'name2');
> add: (FAMIXNamespace new name: 'name3').
>
> DSM is apparently making an assumptions on the object it gets.


Well, all tools make such assumptions, especially that they have some non-empty models. The problem here is that we expect to have a moosemodel. I changed the test to create a moosemodel instead of a group.

Next failure comes from the DistributionMap wizard: same thing, it assumes that the model is not "empty" as it is above so it works fine in real cases.

#possibleElementSelectors returns an empty collection in this case. Cyrille, could you just add check for non-empty collection?


>
> Cheers,
> Alexandre
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
 Simon




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

Re: issue with DSM

cdelaunay
I don't understand where I should put this check ?

2010/10/7 Simon Denier <[hidden email]>

On 6 oct. 2010, at 23:28, Alexandre Bergel wrote:

> Hi!
>
> I bumped into this:
> -=-=-=-=-=-=-=-=-=
> DSMCell>>configurationForNamespace
>
>       self accesses: (self from mooseModel sourceLanguage = #Smalltalk
>       ...
> -=-=-=-=-=-=-=-=-=
>
> 'self from mooseModel' may return nil.
>
> This happens when I open a DSM on the following object:
>       group := FAMIXNamespaceGroup new.
>       group
>               add: (FAMIXNamespace new name: 'name1');
>               add: (FAMIXNamespace new name: 'name2');
>               add: (FAMIXNamespace new name: 'name3').
>
> DSM is apparently making an assumptions on the object it gets.


Well, all tools make such assumptions, especially that they have some non-empty models. The problem here is that we expect to have a moosemodel. I changed the test to create a moosemodel instead of a group.

Next failure comes from the DistributionMap wizard: same thing, it assumes that the model is not "empty" as it is above so it works fine in real cases.

#possibleElementSelectors returns an empty collection in this case. Cyrille, could you just add check for non-empty collection?


>
> Cheers,
> Alexandre
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
 Simon




_______________________________________________
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: issue with DSM

Simon Denier-3
In reply to this post by Simon Denier-3

On 7 oct. 2010, at 16:29, Cyrille Delaunay wrote:

I don't understand where I should put this check ?


Can you try again with the fix of Alex? You might run into the problem now (if not, please go beyond the first popups until you get a failed assertion, that's the DM wizard which is failing)



2010/10/7 Simon Denier <[hidden email]>

On 6 oct. 2010, at 23:28, Alexandre Bergel wrote:

> Hi!
>
> I bumped into this:
> -=-=-=-=-=-=-=-=-=
> DSMCell>>configurationForNamespace
>
>       self accesses: (self from mooseModel sourceLanguage = #Smalltalk
>       ...
> -=-=-=-=-=-=-=-=-=
>
> 'self from mooseModel' may return nil.
>
> This happens when I open a DSM on the following object:
>       group := FAMIXNamespaceGroup new.
>       group
>               add: (FAMIXNamespace new name: 'name1');
>               add: (FAMIXNamespace new name: 'name2');
>               add: (FAMIXNamespace new name: 'name3').
>
> DSM is apparently making an assumptions on the object it gets.


Well, all tools make such assumptions, especially that they have some non-empty models. The problem here is that we expect to have a moosemodel. I changed the test to create a moosemodel instead of a group.

Next failure comes from the DistributionMap wizard: same thing, it assumes that the model is not "empty" as it is above so it works fine in real cases.

#possibleElementSelectors returns an empty collection in this case. Cyrille, could you just add check for non-empty collection?


>
> Cheers,
> Alexandre
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
 Simon




_______________________________________________
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

--
 Simon




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

Re: issue with DSM

Alexandre Bergel
Ok, now I see the popup.
I asked the pharo mailing list. I have no idea how to shortcut the model popup from opening.

Alexandre


On 13 Oct 2010, at 04:39, Simon Denier wrote:

>
> On 7 oct. 2010, at 16:29, Cyrille Delaunay wrote:
>
>> I don't understand where I should put this check ?
>
>
> Can you try again with the fix of Alex? You might run into the problem now (if not, please go beyond the first popups until you get a failed assertion, that's the DM wizard which is failing)
>
>
>>
>> 2010/10/7 Simon Denier <[hidden email]>
>>
>> On 6 oct. 2010, at 23:28, Alexandre Bergel wrote:
>>
>> > Hi!
>> >
>> > I bumped into this:
>> > -=-=-=-=-=-=-=-=-=
>> > DSMCell>>configurationForNamespace
>> >
>> >       self accesses: (self from mooseModel sourceLanguage = #Smalltalk
>> >       ...
>> > -=-=-=-=-=-=-=-=-=
>> >
>> > 'self from mooseModel' may return nil.
>> >
>> > This happens when I open a DSM on the following object:
>> >       group := FAMIXNamespaceGroup new.
>> >       group
>> >               add: (FAMIXNamespace new name: 'name1');
>> >               add: (FAMIXNamespace new name: 'name2');
>> >               add: (FAMIXNamespace new name: 'name3').
>> >
>> > DSM is apparently making an assumptions on the object it gets.
>>
>>
>> Well, all tools make such assumptions, especially that they have some non-empty models. The problem here is that we expect to have a moosemodel. I changed the test to create a moosemodel instead of a group.
>>
>> Next failure comes from the DistributionMap wizard: same thing, it assumes that the model is not "empty" as it is above so it works fine in real cases.
>>
>> #possibleElementSelectors returns an empty collection in this case. Cyrille, could you just add check for non-empty collection?
>>
>>
>> >
>> > Cheers,
>> > Alexandre
>> >
>> > --
>> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> > Alexandre Bergel  http://www.bergel.eu
>> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>> >
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > Moose-dev mailing list
>> > [hidden email]
>> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>>  Simon
>>
>>
>>
>>
>> _______________________________________________
>> 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
>
> --
>  Simon
>
>
>
> _______________________________________________
> 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: issue with DSM

Simon Denier-3
In reply to this post by Simon Denier-3

On 13 oct. 2010, at 14:12, Alexandre Bergel wrote:

> Ok, now I see the popup.
> I asked the pharo mailing list. I have no idea how to shortcut the model popup from opening.


Maybe we can change the behavior to use some notification instead of directly opening a pop-up.

Now we will have a similar problem with the wizards. The wizard opens and expects the user to do something. Maybe we should always use some kind of notification for such request. I think that OB does that, can someone confirm?



>
> Alexandre
>
>
> On 13 Oct 2010, at 04:39, Simon Denier wrote:
>
>>
>> On 7 oct. 2010, at 16:29, Cyrille Delaunay wrote:
>>
>>> I don't understand where I should put this check ?
>>
>>
>> Can you try again with the fix of Alex? You might run into the problem now (if not, please go beyond the first popups until you get a failed assertion, that's the DM wizard which is failing)
>>
>>
>>>
>>> 2010/10/7 Simon Denier <[hidden email]>
>>>
>>> On 6 oct. 2010, at 23:28, Alexandre Bergel wrote:
>>>
>>>> Hi!
>>>>
>>>> I bumped into this:
>>>> -=-=-=-=-=-=-=-=-=
>>>> DSMCell>>configurationForNamespace
>>>>
>>>>      self accesses: (self from mooseModel sourceLanguage = #Smalltalk
>>>>      ...
>>>> -=-=-=-=-=-=-=-=-=
>>>>
>>>> 'self from mooseModel' may return nil.
>>>>
>>>> This happens when I open a DSM on the following object:
>>>>      group := FAMIXNamespaceGroup new.
>>>>      group
>>>>              add: (FAMIXNamespace new name: 'name1');
>>>>              add: (FAMIXNamespace new name: 'name2');
>>>>              add: (FAMIXNamespace new name: 'name3').
>>>>
>>>> DSM is apparently making an assumptions on the object it gets.
>>>
>>>
>>> Well, all tools make such assumptions, especially that they have some non-empty models. The problem here is that we expect to have a moosemodel. I changed the test to create a moosemodel instead of a group.
>>>
>>> Next failure comes from the DistributionMap wizard: same thing, it assumes that the model is not "empty" as it is above so it works fine in real cases.
>>>
>>> #possibleElementSelectors returns an empty collection in this case. Cyrille, could you just add check for non-empty collection?
>>>
>>>
>>>>
>>>> Cheers,
>>>> Alexandre
>>>>
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> [hidden email]
>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>> --
>>> Simon
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>> --
>> Simon
>>
>>
>>
>> _______________________________________________
>> 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

--
 Simon




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

Re: issue with DSM

Alexandre Bergel
>> Ok, now I see the popup.
>> I asked the pharo mailing list. I have no idea how to shortcut the model popup from opening.
>
>
> Maybe we can change the behavior to use some notification instead of directly opening a pop-up.
>
> Now we will have a similar problem with the wizards. The wizard opens and expects the user to do something. Maybe we should always use some kind of notification for such request. I think that OB does that, can someone confirm?

Wizard works in a different way than OB. OB uses notification when the user is expected to press or enter something.
For some reason, Modal windows (which are used in Wizard) use a different mechanism. No exception or notification are raised. Strange.

Apparently, there is not an easy solution. What I have done so far, is to mark in my test the menu item to exclude:

MooseFinderTest>>itemsToExclude
        ^ #('Distribution Map for these parts' 'Distribution Map for these elements')

Cheers,
Alexandre


>>
>>
>> On 13 Oct 2010, at 04:39, Simon Denier wrote:
>>
>>>
>>> On 7 oct. 2010, at 16:29, Cyrille Delaunay wrote:
>>>
>>>> I don't understand where I should put this check ?
>>>
>>>
>>> Can you try again with the fix of Alex? You might run into the problem now (if not, please go beyond the first popups until you get a failed assertion, that's the DM wizard which is failing)
>>>
>>>
>>>>
>>>> 2010/10/7 Simon Denier <[hidden email]>
>>>>
>>>> On 6 oct. 2010, at 23:28, Alexandre Bergel wrote:
>>>>
>>>>> Hi!
>>>>>
>>>>> I bumped into this:
>>>>> -=-=-=-=-=-=-=-=-=
>>>>> DSMCell>>configurationForNamespace
>>>>>
>>>>>     self accesses: (self from mooseModel sourceLanguage = #Smalltalk
>>>>>     ...
>>>>> -=-=-=-=-=-=-=-=-=
>>>>>
>>>>> 'self from mooseModel' may return nil.
>>>>>
>>>>> This happens when I open a DSM on the following object:
>>>>>     group := FAMIXNamespaceGroup new.
>>>>>     group
>>>>>             add: (FAMIXNamespace new name: 'name1');
>>>>>             add: (FAMIXNamespace new name: 'name2');
>>>>>             add: (FAMIXNamespace new name: 'name3').
>>>>>
>>>>> DSM is apparently making an assumptions on the object it gets.
>>>>
>>>>
>>>> Well, all tools make such assumptions, especially that they have some non-empty models. The problem here is that we expect to have a moosemodel. I changed the test to create a moosemodel instead of a group.
>>>>
>>>> Next failure comes from the DistributionMap wizard: same thing, it assumes that the model is not "empty" as it is above so it works fine in real cases.
>>>>
>>>> #possibleElementSelectors returns an empty collection in this case. Cyrille, could you just add check for non-empty collection?
>>>>
>>>>
>>>>>
>>>>> Cheers,
>>>>> Alexandre
>>>>>
>>>>> --
>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>> Alexandre Bergel  http://www.bergel.eu
>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Moose-dev mailing list
>>>>> [hidden email]
>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>> --
>>>> Simon
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>> --
>>> Simon
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>
> --
> Simon
>
>
>
>
> _______________________________________________
> 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: issue with DSM

jannik laval
In reply to this post by cdelaunay
I change the strategy.

Instead of ConfigurationForPackage, I created configurationForSmalltalkPackage, where we consider that we have a Smalltalk architecture.
-> this is necessary for cook.
And, instead of configurationForNamespace, I created configurationForJavaNamespace, where we consider the namespaces come from java.

Now, you can compute a DSM on packages or Namespaces without model.

Cheers,
Jannik

On Oct 7, 2010, at 16:29 , Cyrille Delaunay wrote:

I don't understand where I should put this check ?

2010/10/7 Simon Denier <[hidden email]>

On 6 oct. 2010, at 23:28, Alexandre Bergel wrote:

> Hi!
>
> I bumped into this:
> -=-=-=-=-=-=-=-=-=
> DSMCell>>configurationForNamespace
>
>       self accesses: (self from mooseModel sourceLanguage = #Smalltalk
>       ...
> -=-=-=-=-=-=-=-=-=
>
> 'self from mooseModel' may return nil.
>
> This happens when I open a DSM on the following object:
>       group := FAMIXNamespaceGroup new.
>       group
>               add: (FAMIXNamespace new name: 'name1');
>               add: (FAMIXNamespace new name: 'name2');
>               add: (FAMIXNamespace new name: 'name3').
>
> DSM is apparently making an assumptions on the object it gets.


Well, all tools make such assumptions, especially that they have some non-empty models. The problem here is that we expect to have a moosemodel. I changed the test to create a moosemodel instead of a group.

Next failure comes from the DistributionMap wizard: same thing, it assumes that the model is not "empty" as it is above so it works fine in real cases.

#possibleElementSelectors returns an empty collection in this case. Cyrille, could you just add check for non-empty collection?


>
> Cheers,
> Alexandre
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
 Simon




_______________________________________________
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

---
Jannik Laval


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