<br><font size=2 face="sans-serif">If the rule is only creating the object
and setting some associations there is no reason why it should take so
long. We should spend some time with the example on a profiles to see where
the bottleneck is.</font>
<br>
<br><font size=2 face="sans-serif">Thanks,</font>
<br><font size=2 face="sans-serif">Adi</font>
<br>
<br><font size=2 face="sans-serif">-----------------------------------<br>
Aditya Agrawal<br>
Researcher<br>
IBM T. J. Watson<br>
mailto:aagrawa@us.ibm.com<br>
+1 (914) 784-6068 (TL 863)<br>
</font>
<br>
<br><font size=2><tt>great-users-bounces@list.isis.vanderbilt.edu wrote
on 10/08/2004 11:44:11 AM:<br>
<br>
&gt; Adi,</tt></font>
<br><font size=2><tt>&gt; That rule is not trying to find anything. There
are three bound <br>
&gt; objects coming in, and the rule is creating the Integer object along<br>
&gt; with the two associations. The screenshot perhaps did not reveal the<br>
&gt; color distinction clearly.</tt></font>
<br><font size=2><tt>&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; Sandeep</tt></font>
<br><font size=2><tt>&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; --</tt></font>
<br><font size=2><tt>&gt; Sandeep Neema</tt></font>
<br><font size=2><tt>&gt; Research Scientist,</tt></font>
<br><font size=2><tt>&gt; Institute of Software Integrated Systems, Vanderbilt
University</tt></font>
<br><font size=2><tt>&gt; Phone: 615-343-9996</tt></font>
<br><font size=2><tt>&gt; Email: sandeep.k.neema@vanderbilt.edu</tt></font>
<br><font size=2><tt>&gt; -----Original Message-----<br>
&gt; From: great-users-bounces@list.isis.vanderbilt.edu [mailto:great-<br>
&gt; users-bounces@list.isis.vanderbilt.edu] On Behalf Of Aditya Agrawal<br>
&gt; Sent: Friday, October 08, 2004 9:58 AM<br>
&gt; To: great-users<br>
&gt; Subject: RE: [great-users] (very high) Complexity of pattern matching</tt></font>
<br><font size=2><tt>&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; Feng, the pattern matcher in GRE. Does it search for composition <br>
&gt; associations before association class associations? <br>
&gt; <br>
&gt; If not I would suggest Sandeep to find the child object integer in
<br>
&gt; one rule and that in a subsequent rule find the associations. <br>
&gt; <br>
&gt; Thanks, <br>
&gt; Adi <br>
&gt; <br>
&gt; -----------------------------------<br>
&gt; Aditya Agrawal<br>
&gt; Researcher<br>
&gt; IBM T. J. Watson<br>
&gt; mailto:aagrawa@us.ibm.com<br>
&gt; +1 (914) 784-6068 (TL 863)<br>
&gt; <br>
</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; &quot;Feng Shi&quot; &lt;fengshi@isis.vanderbilt.edu&gt; <br>
&gt; Sent by: great-users-bounces@list.isis.vanderbilt.edu </tt></font>
<br><font size=2><tt>&gt; 10/08/2004 10:50 AM </tt></font>
<br><font size=2><tt>&gt; <br>
&gt; Please respond to<br>
&gt; &quot;A list for GReAT users to share bugs, fixes and ideas&quot;</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; To</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; &quot;great-users&quot; &lt;great-users@list.isis.vanderbilt.edu&gt;
</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; cc</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; Subject</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; RE: [great-users] (very high) Complexity of pattern matching</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; The pattern match algorithm in GRE is exponential. For ~1200 input
<br>
&gt; packets, it could take a quite number of time even for a simple <br>
&gt; rule. I suggest you removing the two associations from the rule, <br>
&gt; like following: <br>
&gt; [image removed] <br>
&gt; &nbsp; <br>
&gt; and use Guard to determine whether the Integer object is the real
<br>
&gt; one. The guard code should look like: <br>
&gt; &nbsp; <br>
&gt; If both mr end and mc end have cardinality 0..1 <br>
&gt; return (Integer.mr() == SpeciesP &amp;&amp; Integer.mc() == Itentifier);
<br>
&gt; Or the cardinality is 0..* <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set&lt;SpeciesP&gt; mrs
= Integer.mr(); <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set&lt;Identifies&gt; mcs
= Integer.mc(); <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return (mrs.find(SpeciesP)!=mrs.end()
&amp;&amp; mcs.<br>
&gt; find(Identifier)!=mcs.end()); <br>
&gt; &nbsp; <br>
&gt; Hope this helps, <br>
&gt; &nbsp; <br>
&gt; Thanks, <br>
&gt; Feng <br>
&gt; -----Original Message-----<br>
&gt; From: great-users-bounces@list.isis.vanderbilt.edu [mailto:great-<br>
&gt; users-bounces@list.isis.vanderbilt.edu] On Behalf Of Sandeep Neema<br>
&gt; Sent: Friday, October 08, 2004 9:34 AM<br>
&gt; To: great-users<br>
&gt; Subject: [great-users] (very high) Complexity of pattern matching
<br>
&gt; &nbsp; <br>
&gt; Here is a simple rule: <br>
&gt; &nbsp; <br>
&gt; [image removed] <br>
&gt; &nbsp; <br>
&gt; I have a (relatively) large number of packets going into this rule
<br>
&gt; ~1200. However, the matching in this rule is not much. All the <br>
&gt; objects are bound, a new object, some associations, and a trivial
<br>
&gt; amount of code in an attribute map. The execution of this rule takes<br>
&gt; ~375 seconds on a 3 GHz P4/HT. Can’t blame it on the XML backend
<br>
&gt; because I am running the transformation in memory (Configuration <br>
&gt; attribute “Run Transform in Memory” is set to True). This numbers
<br>
&gt; are from GRE. I don’t have the exact time for the Code-Generated
<br>
&gt; version but that is crunching for a long time (on the same time-<br>
&gt; scale) as well. Any thoughts? <br>
&gt; &nbsp; <br>
&gt; If anybody cares to profile, I can make the transformation and input<br>
&gt; data set available – <br>
&gt; &nbsp; <br>
&gt; Cheers, <br>
&gt; Sandeep <br>
&gt; &nbsp; <br>
&gt; -- <br>
&gt; Sandeep Neema <br>
&gt; Research Scientist, <br>
&gt; Institute of Software Integrated Systems, Vanderbilt University <br>
&gt; Phone: 615-343-9996 <br>
&gt; Email: sandeep.k.neema@vanderbilt.edu <br>
&gt; -----Original Message-----<br>
&gt; From: great-users-bounces@list.isis.vanderbilt.edu [mailto:great-<br>
&gt; users-bounces@list.isis.vanderbilt.edu] On Behalf Of Feng Shi<br>
&gt; Sent: Friday, October 08, 2004 9:03 AM<br>
&gt; To: great-users<br>
&gt; Subject: RE: [great-users] Creating new classes in the Crosslinks
folder <br>
&gt; &nbsp; <br>
&gt; Matt, <br>
&gt; &nbsp; <br>
&gt; The composition relationship between two classes of two different
<br>
&gt; meta is illegal. You can do in the following way: <br>
&gt; &nbsp; <br>
&gt; In your CrossLink UML diagram, create a new class Root as the <br>
&gt; container of class ExceptionRegistryEntry, and then set the <br>
&gt; association between Exception and ExceptionRegistryEntry. It should
<br>
&gt; be dealt with as same as other metas, say that you need to initiate
<br>
&gt; the datanetwork of this crosslink meta in the configuration model.
<br>
&gt; Our great-dev team are now working on automatic initiation of such
<br>
&gt; temporary datanetwork with the attribute “temporary” as true value,
<br>
&gt; and it will work in the next release. <br>
&gt; &nbsp; <br>
&gt; [image removed] <br>
&gt; &nbsp; <br>
&gt; Please let us know any further question. <br>
&gt; &nbsp; <br>
&gt; Thanks, <br>
&gt; Feng <br>
&gt; &nbsp; <br>
&gt; -----Original Message-----<br>
&gt; From: great-users-bounces@list.isis.vanderbilt.edu [mailto:great-<br>
&gt; users-bounces@list.isis.vanderbilt.edu] On Behalf Of Matthew J. Emerson<br>
&gt; Sent: Thursday, October 07, 2004 6:06 PM<br>
&gt; To: great-users<br>
&gt; Subject: [great-users] Creating new classes in the Crosslinks folder
<br>
&gt; &nbsp; <br>
&gt; I need to declare some special “bookkeeping” classes which are not
a<br>
&gt; part of either my source metamodel or my destination metamodel to
<br>
&gt; cludge some information around between rules. &nbsp;So, what is the
trick<br>
&gt; to doing this? &nbsp;I tried to simply define the new class in the
<br>
&gt; Crosslinks folder of my transformation and relate to one of the <br>
&gt; existing classes in my source metamodel through containment, but <br>
&gt; this results in a Master General Exception. &nbsp;Just so you understand
<br>
&gt; what I’m trying to do, here are some pictures: <br>
&gt; &nbsp; <br>
&gt; Here’s what I’m putting in the Crosslinks folder. &nbsp;<br>
&gt; ExceptionRegistryEntry is my cludge class. <br>
&gt; &nbsp; <br>
&gt; [image removed] <br>
&gt; &nbsp; <br>
&gt; Here’s how I’m trying to use it in my transformation: <br>
&gt; &nbsp; <br>
&gt; [image removed] <br>
&gt; &nbsp; <br>
&gt; Later on, I want to get out some information I stuck in value using
<br>
&gt; an AttributeMapping. &nbsp; Any ideas about what I’m missing or doing
wrong?<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; great-users mailing list<br>
&gt; great-users@list.isis.vanderbilt.edu<br>
&gt; http://list.isis.vanderbilt.edu/mailman/listinfo/great-users<br>
</tt></font>