From mira@informatik.uni-siegen.de Thu Dec 3 09:31:50 1998 Received: from aretha.informatik.uni-siegen.de (aretha.informatik.uni-siegen.de [141.99.92.8]) by amber.ccs.neu.edu (8.9.1a/8.9.1) with ESMTP id JAA29573; Thu, 3 Dec 1998 09:27:47 -0500 (EST) Received: from doors.informatik.uni-siegen.de (doors [141.99.92.1]) by aretha.informatik.uni-siegen.de (Mailhost) with ESMTP id PAA31963; Thu, 3 Dec 1998 15:27:33 +0100 (MET) Received: (from mira@localhost) by doors.informatik.uni-siegen.de (Mailhost) id PAA10872; Thu, 3 Dec 1998 15:27:23 +0100 (MET) Message-Id: <199812031427.PAA10872@doors.informatik.uni-siegen.de> Subject: Re: Questions To: ichenp@ccs.neu.edu (I-Chen Pan) Date: Thu, 3 Dec 1998 15:27:22 +0100 (MET) From: "Mira Mezini" Cc: mira@informatik.uni-siegen.de, lieber@ccs.neu.edu, bdelav@hotmail.com, jayantha@ccs.neu.edu, lorenz@ccs.neu.edu In-Reply-To: from "I-Chen Pan" at Dec 3, 98 03:12:46 am X-Mailer: ELM [version 2.4 PL23] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Status: R > On Wed, 2 Dec 1998, Mira Mezini wrote: > .... > > > 1- Complete my code. > > > > Why? > > In order to get e2 events for edges such as e.g., ``before ->D,Z'' > > we cannot simply ignore s1 node events such as ``before G'' (for nodes > > that are not in s2), as I do. > > Indeed, we don't generate output events in this case, but > > we need to somehow store nodes in the s1's path from A to D so that we can > > generate ``before/after ->A,D'' events for s2. > > One way I can think of implementing this, is to have a stack > > as the storage medium. E.g., for the input ``before G'' we would simply > > push G on the stack. Note that also nodes like A that are both in > > s1 and s2 should be stored in the stack. In a similar way, after > > node events we would pop from the corresponding node from the stack. > > Q1 : The algorithm below doesn't seem to work if the traversal strategy is > like A-> {B C}. The traversal will be > S2 > before A > before -> A, D > .... > before -> A, C > > I mean, if we just check whether the source matches or not in the stack. > Or the situation will not happen in a refined strategy. Please note that what I have written is only an idea. Don't take it as the given algorithm. It is a skeleton of what I think the algorithm would loook like (more or less). I haven't worked out details. It was intended to give you an idea of what is required to do. You can think of a another better algorithm if you want, or work out the details of this skeleton if you think that the main idea seems to work. > > Q2 : Just want to make sure that the stack you mentioned > above in traversalEvent(NodeEvent) and the one below in > traversalEvent(EdgeEvent) are the same stack. > Yes it will be the same -- the stack would be a private instance variable of in the class APPCBean. - Mira