<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="cid:filelist.xml@01C5F677.DCD847F0">
<link rel=Edit-Time-Data href="cid:editdata.mso@01C5F677.DCD847F0">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="time"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="date"/>
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.SHAPE
        {behavior:url(#default#VML);}
st1\:*{behavior:url(#default#ieooui) }

 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;
        mso-font-charset:0;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;
        mso-font-charset:0;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:536871559 0 0 0 415 0;}
@font-face
        {font-family:"Tahom a";
        panose-1:0 0 0 0 0 0 0 0 0 0;
        mso-font-alt:"Times New Roman";
        mso-font-charset:0;
        mso-generic-font-family:roman;
        mso-font-format:other;
        mso-font-pitch:auto;
        mso-font-signature:0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal;
        mso-style-noshow:yes;
        font-family:Arial;
        mso-ascii-font-family:Arial;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:navy;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        mso-style-noshow:yes;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;
        font-family:Arial;
        mso-ascii-font-family:Arial;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:navy;}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */ 
 table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0in 5.4pt 0in 5.4pt;
        mso-para-margin:0in;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi <span class=SpellE>Arda</span>,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>It is still not clear for me what is the
problem you are having. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I have looked at your example. You have a
Java and a UML <span class=SpellE>metamodel</span>, and a UML model which
contains two groups of classes, each representing a diamond multiple
inheritance scenario.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>You specify the inputs of Rule2 to be the UML
and Java container objects, and because you have one of each of these in the corresponding
input models, there is one packet passed to Rule2: P1( UML, Java)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The pattern in Rule2 specifies the diamond
multiple inheritance pattern, and there are two possible matches for each such
scenario, totaling a number of 4 matches.<o:p></o:p></span></font></p>

<p class=MsoNormal><span class=SpellE><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>E.g</span></font></span><font
size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:navy'> for one group of classes A, B, C, G, the two matches are:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><span style='mso-tab-count:1'>            </span><span
class=GramE>{ {</span><span class=SpellE>GrandParentClass,A</span>}, {<span
class=SpellE>ParentClass,B</span>}, {<span class=SpellE>MyParentClass,C</span>},
{<span class=SpellE>ChildClass,G</span>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><span style='mso-tab-count:1'>            </span><span
class=GramE>{ {</span><span class=SpellE>GrandParentClass,A</span>}, {<span
class=SpellE>ParentClass,C</span>}, {<span class=SpellE>MyParentClass,B</span>},
{<span class=SpellE>ChildClass,G</span>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>In accordance with this, there are 4 <span
class=GramE>group</span> of output objects going to be created in the output
model.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Very likely you want one match for classes
A, B, C, <span class=GramE>G</span> and on match for classes D, E, F, H, a total
of 2 matches.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>What you need to do is set the For All attribute
of Rule2 to false.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>If you do so, the rule will find only one
match for your input model, because you start the pattern matching from the
singleton instance of UML container.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>To make this work, you will need to pass the
child classes as inputs to Rule2.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>If you pass class G, and class H to Rule2,
then the pattern matching will stop after it has found one match for each,
resulting in a total of 2 matches.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Take a closer look at the example I sent
earlier. In your example to find class G and class H, a child class is one with
no derived classes.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>HTH,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Attila<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma'>-----Original Message-----<br>
<b><span style='font-weight:bold'>From:</span></b>
great-users-bounces@list.isis.vanderbilt.edu [mailto:great-users-bounces@list.isis.vanderbilt.edu]
<b><span style='font-weight:bold'>On Behalf Of </span></b>Arda Göknil<br>
<b><span style='font-weight:bold'>Sent:</span></b> </span></font><st1:date
Month="12" Day="1" Year="2005"><font size=2 face=Tahoma><span style='font-size:
 10.0pt;font-family:Tahoma'>Thursday, December 01, 2005</span></font></st1:date><font
size=2 face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> </span></font><st1:time
Hour="7" Minute="24"><font size=2 face=Tahoma><span style='font-size:10.0pt;
 font-family:Tahoma'>7:24 AM</span></font></st1:time><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma'><br>
<b><span style='font-weight:bold'>To:</span></b> great-users<br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: [great-users] Re:
problem about running the transformation</span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div id=RTEContent>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Hi Aditya,<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I got your example. It all works fine but I still
could not find what is wrong in my example. In fact, I am trying to transform
diamond multiple inheritance to single inheritance by using role aggregation
(changing inheritance with aggregation). I am sending my&nbsp;simple
transformation and I will be pleased if&nbsp;you&nbsp;can give an idea about my
mistake in the transformation. (The transformation file is MI2SI.mga)<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>In my example I have three rules and in the second and
third rules I detect the multiple inheritance in UML model and constitue an
aggregation structure in the Java model.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>In the second rule I have two classes Parent Class and
MyParent class. The Pattern cardinality of Parent class is 1..*. Attila said
that the current version does not support the variable pattern cardinality but
I have still problems when the cardinality of Parent class is '1' althought I
suppose that the number of paren t classes in the diamond multiple inheritance
is only 2. If you look at my input model and output model in the 'model'&nbsp;
directory, you will see my problem.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Thanks,<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Arda<br>
<br>
<b><i><span style='font-weight:bold;font-style:italic'>Aditya Agrawal
&lt;aditya.agrawal@gmail.com&gt;</span></i></b> wrote:<o:p></o:p></span></font></p>

</div>

<blockquote style='border:none;border-left:solid #1010FF 1.5pt;padding:0in 0in 0in 4.0pt;
margin-left:3.75pt;margin-top:5.0pt;margin-bottom:5.0pt'>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Hi </span></font>Arda,<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I am attaching a great transform that will append
&#8220;_HasMultipleParents&#8221; to all the classes that have multiple
inheritance. <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>The transformation file is SimpleUML_umt.mga. &nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Please let me know if it helps.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Thanks,<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Adi</span></font><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<div class=MsoNormal align=center style='margin-left:.5in;text-align:center'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

<div>

<p class=MsoNormal style='margin-left:.5in'><b><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span></font></b><font
size=2 face="Tahom a"><span style='font-size:10.0pt;font-family:"Tahom a";
mso-bidi-font-family:Tahoma'> great-users-bounces@list.isis.vanderbilt.edu
[mailto:great-users-bounces@list.isis.vanderbilt.edu] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Arda Göknil<br>
<b><span style='font-weight:bold'>Sent:</span></b> Tuesday, November 29, 2005
4:25 AM<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName u1:st="on">A
list for GReAT users to share bugs, fixes and ideas</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [great-users] Re:
problem about running the transformation</span></font><o:p></o:p></p>

</div>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&gt;&gt;For example, if you want to find out if a
class 'Derived' has multiple <br>
&gt;&gt;base classes, then you will specify one Derived pattern object,
Derived, <br>
&gt;&gt;and two Base pattern objects: Base1, and Base2. Next connect Base1 and <br>
&gt;&gt;Derived, Base2 and Derived with pattern association representing the <br>
&gt;&gt;inheritance association. Finally, set the 'for all' attribute to false.<br>
&gt;&gt;This rule will find one match if class Derived has multiple base
classes <br>
&gt;&gt;of type Base, because each Base pattern object gets bound to a separate
<br>
&gt;&gt;unique Base class object in your input model. If Derived has 0 or 1
base <br>
&gt;&gt;class, the rule will find no match.<o:p></o:p></span></font></p>

</div>

</div>

<div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

</div>

<div>

<div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I set the ForAll attribute to false. But when I have
two or more multiple inheritance cases, it still returns one match. I wa nt to
get only one match in one case. For example&nbsp;If I have two cases, I want to
get two matches. But if I set this attribute to false, I always get one
match&nbsp;although I get more than one multiple inheritance cases.<o:p></o:p></span></font></p>

</div>

</div>

<div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

</div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I think in the second match base2 object pattern binds
the base class which is binded by the base1 object pattern in the first match.
And also in the second match base1 object pattern binds the base class which is
binded by the base2 object pattern in the first match. Does the GReAt allows
cross binding in multiple matches???<br>
<br>
<br>
<b><i><span style='font-weight:bold;font-style:italic'>Attila Vizhanyo
&lt;viza@isis.vanderbilt.edu&gt;</span></i></b> wrote:<o:p></o:p></span></font></p>

</div>

</div>

<blockquote style='border:none;border-left:solid #1010FF 1.5pt;padding:0in 0in 0in 4.0pt;
margin-left:3.75pt;margin-top:5.0pt;margin-bottom:5.0pt'>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>The myHouse1.mga model contains 6 Room-s and 7
AdjacentTo connections, 5 <br>
of which has doors.<br>
The rule effectively counts the number of AdjacentTo connections, and <br>
discards those with attribute 'hasDoor' set to false (see the HasDoor <br>
guard). Then for each match, the rule increments the Quantity counter in <br>
OrderItem.<br>
<br>
GReAT does not have any support for variable pattern cardinality, currently.<br>
But you can get the effect of fixed multiple pattern cardinality by <br>
using multiple pattern objects to specify the cardinality.<br>
The GReAT execution engine binds each pattern variable to a unique <br>
obj ect in the input model.<br>
<br>
For example, if you want to find out if a class 'Derived' has multiple <br>
base classes, then you will specify one Derived pattern object, Derived, <br>
and two Base pattern objects: Base1, and Base2. Next connect Base1 and <br>
Derived, Base2 and Derived with pattern association representing the <br>
inheritance association. Finally, set the 'for all' attribute to false.<br>
This rule will find one match if class Derived has multiple base classes <br>
of type Base, because each Base pattern object gets bound to a separate <br>
unique Base class object in your input model. If Derived has 0 or 1 base <br>
class, the rule will find no match.<br>
<br>
The limitation of this solution is that you cannot refer to the base <br>
classes using pattern objects, except Base1 and Base2, which two are <br>
selected in a non-deterministic manner.<br>
However, you can write UDM code to fetch all bases of class Derived in <br>
an Attribute Mapping block, eg:<br>
set&lt; Base&gt; b ases= Derived.super_classes();<br>
subsitute super_classes with the role name of the inheritance association.<br>
<br>
--Attila<br>
<br>
<br>
<br>
Arda Göknil wrote:<br>
<br>
&gt; &gt;&gt;In the house2order example the MakeOrder3/MakeOrder rule has its<br>
&gt; &gt;&gt;attribute &quot;For All?&quot; set to false, which means that the
pattern <br>
&gt; matching<br>
&gt; &gt;&gt;stops after it found the first match. This is why the MakeOrder
rule<br>
&gt; &gt;&gt;will find only one room.<br>
&gt; I mean the third rule in the House2Order example. In the second rule <br>
&gt; the 'ForAll' attribute is set to false as you said. But in the third <br>
&gt; rule, the ForAll attribute is not set to fal se and the quantitiy <br>
&gt; attribute of Order is calculated according to the number of the <br>
&gt; matches and the attribute is five, not ten.<br>
&gt; In my model, I have one parent class and two sub classes. When I run <br>
&gt; my multiple inheritance pattern, I expected only one match but there <br>
&gt; are two different matches. When I specify the pattern cardinality of <br>
&gt; child classes as 2..* and the pattern cardinality of parent classes as <br>
&gt; 1, I expect one parent class and at least two child class in one <br>
&gt; match. If there is a second multiple inheritance case in the model, it <br>
&gt; will return in the second match. And in my case when the number of the <br>
&gt; child classes which are inherited from the same class increases, I <br>
&gt; expect the number of the matches not to increase but it also increases.<br>
&gt; Am I missing something?<br>
&gt;<br>
&gt; */Attila Vizhanyo <VIZA@ISIS.VANDERBILT.EDU>/* wrote:<br>
&gt;<br>
&gt; The pattern cardinality att ribute of pattern objects in GReAT has the<br>
&gt; following semantics:<br>
&gt; - the cardinality attribute set to 0 means negative application<br>
&gt; condition, that is, the pattern matching returns true, if the<br>
&gt; specified<br>
&gt; pattern could not be found in the input graph.<br>
&gt; - any other valu e than 0 corresponds to 'positive' application<br>
&gt; condition, with no regard to pattern cardinality. The pattern<br>
&gt; matching<br>
&gt; returns true, if the specified pattern can be fou nd in the input<br>
&gt; graph.<br>
&gt;<br>
&gt; Therefore if you specify any non-zero pattern cardinality, the<br>
&gt; pattern<br>
&gt; matching will return with as many matches as many exists for the<br>
&gt; given<br>
&gt; input and pattern graph.<br>
&gt;<br>
&gt; In the house2order example the MakeOrder3/MakeOrder rule has its<br>
&gt; attribute &quot;For All?&quot; set to false, which means that the pattern<br>
&gt; matching<br>
&gt; stops after it found the first match. This is why the MakeOrder rule&lt;
BR&gt;&gt; will find only one room.<br>
&gt;<br>
&gt; HTH,<br>
&gt; Attila<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Arda Göknil wrote:<br>
&gt;<br>
&gt; &gt; Hi Daniel,<br>
&gt; &gt; It helped me to fix my problem but now I have another problem. I am<br>
&gt; &gt; trying to implement a basic transformation between UML and Java<br>
&gt; models<br>
&gt; &gt; based on very simple UML and Java meta models. In one of my<br>
&gt; rules, I<br>
&gt; &gt; want to define the pattern of multiple inheritance. In my<br>
&gt; structure, I<br>
&gt; &gt; have one class called parent class whose cardinality pattern is<br>
&gt; 2..*<br>
&gt; &gt; and one class called child class whose cardinality pattern is 1.<br>
&gt; These<br>
&gt; &gt; two classes are connected each other via an connection named<br>
&gt; &gt; Inheritance. But in the match of the rule, I have two matches<br>
&gt; instead<br>
&gt; &gt; of one appropriate match for only one multiple inheritance case.<br>
&gt; For<br>
&gt; &gt; example if the model has a parent class and two subclasses, the<br>
&gt; engine<br>
&gt; &gt; returns two matches.<br>
&gt; &gt; I am not sure about the use of cardinality patterns but when I read<br>
&gt; &gt; the Great User Manual, It does not include anything about the<br>
&gt; use of<br>
&gt; &gt; cardinality patterns. In the House2Order example, there is two Room<br>
&gt; &gt; class in the House2Order example and there is only one match<br>
&gt; insted of<br>
&gt; &gt; two matches if there is two room which have a room. Is it abour the<br>
&gt; &gt; cross productions or something else?<br>
&gt; &gt;<br>
&gt; &gt; */Daniel Balasubramanian /* wrote:<br>
&gt; &gt;<br>
&gt; &gt; Hi Arda,<br>
&gt; &gt;<br>
&gt; &gt; That exception means that one of your input models cannot be<br>
&gt; &gt; opened properly, perhap s because you created it with a certain<br>
&gt; &gt; paradigm, and then somehow modified that paradigm. To correct the<br>
&gt; &gt; error, simply open both of the input models in GME, and it will<br>
&gt; &gt; give you a message s aying something like, &quot;The model is not in
the<br>
&gt; &gt; current paradigm, would you like to upgrade?&quot; - say
&quot;Yes&quot;, and the<br>
&gt; &gt; model will be upgraded to the current paradigm. Save the model,<br>
&gt; &gt; then close GME, and try re-running your transformation. (Be sure<br>
&gt; &gt; to do this for all of your input models)<br>
&gt; &gt;<br>
&gt; &gt; Please let me know if this does not f ix the problem.<br>
&gt; &gt;<br>
&gt; &gt; Thanks,<br>
&gt; &gt; Daniel<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; -----Original Message-----<br>
&gt; &gt; From: great-users-bounces@list.isis.vanderbilt.edu on behalf of<br>
&gt; &gt; Arda Göknil<br>
&gt; &gt; Sent: Thu 11/24/2005 6:27 AM<br>
&gt; &gt; To: great-users<br>
&gt; &gt; Cc:<br>
&gt; &gt; Subject: [great-users] Re: problem about running the transformation<br>
&gt; &gt; Hi,<br>
&gt; &gt; I configure the path (&quot;C:\Progra m Files\Microsoft Visual<br>
&gt; &gt; Studio\VC98\Bin&quot;). And I can run the samples in GREAT but when I<br>
&gt; &amp; gt; try to invoke my example, I get an exception (Exception: Com<br>
&gt; &gt; Exception: The paradigm is not registered). Now what should I do???<br>
&gt; &gt;<br>
&gt; &gt; Attila Vizhanyo wrote:<br>
&gt; &gt;<br>
&gt; &gt; Hi Arda,<br>
&gt; &gt;<br>
&gt; &gt; We have a great-users list, so please direct your great-related<br>
&gt; &gt; questions to great-users@list.isis.vanderbilt.edu.<br>
&gt; &gt;<br>
&gt; &gt; When you run the GReAT Master Interpreter make sure you have a<br>
&gt; &gt; valid config file name (with absolute path) specified in the top<br>
&gt; &gt; of the dialog.<br>
&gt; &gt; Use the &#8220;R&#8221; button to generate a config file path that
points to<br>
&gt; &gt; the transformation folder.<br>
&gt; &gt; &lt; BR&gt;The problem is not necessarily related to the config file<br>
&gt; &gt; opening process.<br>
&gt; &gt; If you use GReAT with VC6, make sure that the location of<br>
&gt; &gt; vcvars32.bat is in path. (e.g. &quot;C:\Program Files\Microsoft
Visual<br>
&gt; &gt; Studio\VC98\Bin&quot;)<br>
&gt; &gt; If you use GReAT with VC71, make sure that the location of<br>
&gt; &gt; vcvars32.bat is in path. (e.g. &quot;C:\Program Files\Microsoft
Visual<br>
&gt; &gt; Studio .NET 2003\Common7\Tools&#8221;)<br>
&gt; &gt;<br>
&gt; &gt; HTH,<br>
&gt; &gt; Attila<br>
&gt; &gt;<br>
&gt; &gt; -----Original Message-----<br>
&gt; &gt; From: gme-users-bounces@list.isis.vanderbilt.edu<br>
&gt; &gt; [mailto:gme-users-bounces@list.isis.vanderbilt.edu] On Behalf Of<br>
&gt; &gt; Arda Göknil<br>
&gt; &gt; Sent: Wednesday, November 23, 2005 3:34 AM<br>
&gt; &gt; To: gme-users<br>
&gt; &gt; Subject: [gme-users] problem about running the transformation<br>
&gt; &gt;<br>
&gt; &gt; Hi,<br>
&gt; &gt; I am trying to develop a transformation from UML models to Java<br>
&gt; &gt; models by using Great. (It is my first experience in GREAT.)<br>
&gt; &gt; When I interpret the transformation by using GreAt Master<br>
&gt; &gt; Interpreter, there is no problem. But when I try to invoke the<br>
&gt; &gt; Graph Rewrite Engine, a message box appe ars and throws an<br>
&gt; &gt; exception. (Exception: Com Exception: File co uld not be opened).<br>
&gt; &gt; This exception is thrown when the engine is trying to load the<br>
&gt; &gt; NewConfiguration.mga. How can I solve this problem?<br>
&gt; &gt; And also when I try to to invoke the engine on the House2Order<br>
&gt; &gt; sample of Great, there is an error which tells to add /Vc98/bin<br>
&gt; &gt; directory to system path while the engine is trying to load the<br>
&gt; &gt; config.mga file.<br>
&gt; &gt;<br>
&gt; &gt; Arda Goknil<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; _____<br>
&gt; &gt;<br>
&gt; &gt; To help you stay safe and secure online, we've developed the all<br>
&gt; &gt; new Yahoo! Security Centre.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; _____<br>
&gt; &gt;<br>
&gt; &gt; Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide<br>
&gt; &gt; with voicemail<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; great-us ers mailing list<br>
&gt; &gt; great-users@list.isis.vanderbilt.edu<br>
&gt; &gt; http://list.isis.vanderbilt.edu/mailman/listinfo/great-users<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt; &gt; Yahoo! Model Search<br>
&gt; &gt;<br>
&gt; &gt; - Could you be the next catwalk superstar? Check out the<br>
&gt; competition<br>
&gt; &gt;<br>
&gt; &gt; now<br>
&gt; &gt;<br>
&gt;
&gt;------------------------------------------------------------------------<br>
&gt; &gt;<br>
&gt; &gt;_______________________________________________<br>
&gt; &gt;great-users mailing list<br>
&gt; &gt;great-users@list.isis.vanderbilt.edu<br>
&gt; &gt;http://list.isis.vanderbilt.edu/mailman/listinfo/great-users<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; _______________________________________________<br>
&gt; great-users mailing list<br>
&gt; great-users@list.isis.vanderbilt.edu<br>
&gt; http://list.isis.vanderbilt.edu/mailman/listinfo/great-users<br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt; How much free photo storage do you get? Store your holiday snaps for <br>
&gt; FREE with Yahoo! Photos. *Get Yahoo! Photos* <br>
&gt; <br>
<HTTP: us.rd.yahoo.com mail uk tagli nes default photos _x002a_http: uk.photos.yahoo.com/>&gt;<br>
&gt;<br>
&gt;------------------------------------------------------------------------<br>
&gt;<br>
&gt;_______________________________________________<br>
&gt;great-users mailing list<br>
&gt;great-users@list.isis.vanderbilt.edu<br>
&gt;http://list.isis.vanderbilt.edu/mailman/listinfo/great-users<br>
&gt; <br>
&gt;<br>
_______________________________________________<br>
great-users mailing list<br>
great-users@list.isis.vanderbilt.edu<br>
http://list.isis.vanderbilt.edu/mailman/listinfo/great-users<o:p></o:p></span></font></p>

</div>

</blockquote>

<div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</div>

<div class=MsoNormal align=center style='margin-left:.5in;text-align:center'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=1 width="100%" align=center>

</span></font></div>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Verdana><span
style='FONT-
 SIZE:
 10pt'><span style='font-size:10.0pt;font-family:Verdana'><a
href="http://us.rd.yahoo.com/mail/uk/taglines/default/messenger/*http:/uk.messenger.yahoo.com%20%0d%0a">Yahoo!
Messenger</a> <font color=red><span style='color:red'>NEW</span></font> -
crystal clear PC to PC <a
href="http://us.rd.yahoo.com/mail/uk/taglines/default/messenger/*http:/uk.messenger.yahoo.com%20%0d%0a">calling
worldwide with voicemail </a></span></span></font><o:p></o:p></p>

</div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>_______________________________________________<br>
great-users mailing list<br>
great-users@list.isis.vanderbilt.edu<br>
http://list.isis.vanderbilt.edu/mailman/listinfo/great-users<o:p></o:p></span></font></p>

</blockquote>

<div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</div>

<div class=MsoNormal align=center style='margin-left:.5in;text-align:center'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=1 width="100%" align=center>

</span></font></div>

<p class=MsoNormal style='margin-left:.5in'><font size=2 face=Verdana><span
style='font-size:10.0pt;font-family:Verdana'><a
href="http://us.rd.yahoo.com/mail/uk/taglines/default/modelsearch/*http:/uk.news.yahoo.com/hot/model-search/">Yahoo!
Model Search</a> - Could you be the next <font color=red><span
style='color:red'>catwalk superstar?</span></font> Check out the <a
href="http://us.rd.yahoo.com/mail/uk/taglines/default/modelsearch/*http:/uk.news.yahoo.com/hot/model-search/">competition</a>
now </span></font><o:p></o:p></p>

</div>

</body>

</html>