On Wed, Jun 8, 2011 at 5:16 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
Hi,
On 8 Jun 2011, at 17:07, Usman Bhatti wrote:
On Wed, Jun 8, 2011 at 3:54 PM, Tudor Girba
<tudor(a)tudorgirba.com>
wrote:
Hi,
On 8 Jun 2011, at 15:45, Usman Bhatti wrote:
> On Wed, Jun 8, 2011 at 3:10 PM, Tudor Girba <tudor(a)tudorgirba.com>
wrote:
> Hi,
>
> On 8 Jun 2011, at 14:21, Simon Denier wrote:
>
> >
> > On 8 juin 2011, at 11:52, Usman Bhatti wrote:
> >
> >> I am looking to understand what mse entities are created for
associations (except inheritance i.e. invocations, access, refs) in code and
how to exactly treat the duplicates. I have seen a reference of it in a bug
reported for VerveineJ but I am not sure if this issue has been discussed
elsewhere.
> >>
> >> For example,
> >>
> >> A a;
> >> M()
> >> {
> >> a = new A();
> >> a = new A();
> >> a.CallAMethod();
> >> a.CallAMethod();
> >>
> >> }
> >>
> >> The above code creates these associations (with Verveinesharp) ..
> >> 1. An invocations to A's constructor (duplicate constructor
invocation is ignored).
> >> 2. A field access to the field a
(only one instance is recorded, the
others are just ignored).
> >> 3. An invocation to CallAMethod
(field access is already recorded so
this one is not considered).
> >> 4. A reference from method M() to
type A (Duplicate reference is
ignored).
> >
> >
> > To me it seems like there are:
> > - 2 invocations to A constructor
> > - 2 field accesses to a
> > - 2 invocations to CallAMethod
> >
> > There is no direct reference to class A, only indirect references
through the constructor/method calls.
>
> Yes! This is the correct interpretation.
>
> Usman, please do it like suggested by Simon.
>
> So, we keep the duplicates in MSE. Ok I'll change VerveineSharp to
implement this interpretation. But I do not understand what is mean by
direct and indirect references because as I understand the meta-model
provides only one type i.e. a Reference class to instantiate references. How
do we do the different between direct and indirect?
What Simon meant is that in the code there is no Reference to class A.
There are
only calls to the constructor A. And a call to a constructor can
be considered an indirect reference. But, the model should only represent
what is found in the code.
Is direct reference = static reference?
Pretty much.
Because we can only refer to an object of a class
through a field or
through a constructor. Static references refer to the class
directly.Sorry
for insisting on that but I want to implement this thing correctly.
Well, this is an unclear territory, so do not feel bad for insisting :).
The thing is like this. If you would manipulate the class as a variable,
this would be a reference to that class. For example:
- if you pass the class as a parameter to a function, or
just a final clarification (I hope :-)
m (A a)
{
//do square brackets provide correct interpretation?
a.CallAmethod(); [not a reference, access and invocation only]
A b = new A();
a = b; [reference to A + 2 accesses to A]
}
Yep, much better :-).. thanx
Cheers,
Doru
Cheers,
Doru
Cheers,
Doru
>
> Please let me know if there an anomaly.
>
> thanx,
>
> Usman
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
Simon Denier
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Every thing has its own flow."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Don't give to get. Just give."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Live like you mean it."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev