17 citations found. Retrieving documents...
K. Lieberherr and B. Patt-Shamir. Traversals of object structures: Specification and e#cient implementation, 1997.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Mixin Layers: An Object-Oriented Implementation Technique.. - Smaragdakis, Batory   (15 citations)  (Correct)

....terminology as purely a matter of taste. Certainly, the cross cutting software development ideas pre date the introduction of aspect orientation . 5. 5 Adaptive OO Components Another approach to modular OO software development is Lieberherr s Demeter method and adaptive components [Lie96, LP97, ML98] Adaptive components specify functionality additions based on an abstract pattern of participating classes. The pattern can later be applied to actual classes of an application to extend their capabilities. This technique is analogous to identifying collaborations in an object oriented ....

K.J. Lieberherr and B. Patt-Shamir, "Traversals of Object Structures: Specification and Efficient Implementation", College of Computer Science, Northeastern University, Tech. Report NU-CCS-97-15, July 1997.


Building Program Understanding Tools Using Visitor Combinators - van Deursen, Visser (2002)   (Correct)

....on running the visitors on them) 7. Concluding Remarks Related work We refer to [14] for a full account of related work in the areas of design patterns and object navigation approaches: of particular interest are the extended [7] and staggered [15] visitor patterns, and adaptive programming [11] for expressing roadmaps through object structures. The origins of visitor combinators can furthermore be traced back to strategic term rewriting, in particular [13] Traversals in the context of reverse engineering tools are discussed by [3] who provide a top down analysis or transformation ....

K. J. Lieberherr and B. Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, July 1997.


Towards a New Component Composition Process - Vanderperren, Wydaeghe (2001)   (1 citation)  (Correct)

....pattern. The third step involves the translation of these NDFA s to deterministic finite automata (DFA) Finally, the product automaton of both DFA s is calculated. The calculation of the product automaton is a well known process. The interested reader can find efficient implementations in [4,18]. If this product automaton is non empty the MSC s have common behaviour. So, the component is compatible with the selected role of the composition pattern. Figure 4 illustrates the working of the local checking algorithm. The usage scenario of component C1 is shown on the left. The component is ....

....to perform component matching. His work is very similar to ours as far as the local check is involved. At the moment he does not perform a global check. He uses the incremental algorithm to generate adapters for mismatching components. Finally, we use parts of the adaptive programming library [18] for efficient implementations of the cross product. This library allows us to calculate the cross product of two non deterministic automata directly without the need for a (expensive) conversion to deterministic automata first. 8. Conclusions In the previous we introduce documentation and ....

Lieberherr, K.J. & Patt-Shamir, B. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, July 1997.


Software Connectors for Component Collaborations: project.. - Lieberherr, Lorenz (1999)   (Correct)

....strategies to Generic Programming. Traversal strategies have already been studied in several papers, but more work is needed to have a better foundation for robust connectors. We have studied how to translate traversal strategies into code that does the detailed object traversals [PXL95, PPL97, LPS97] We have also studied the navigation language, especially the notion of refinement of traversal strategies [LPS99] Below we give some of the details. The results are summarized in Table 1. 5 Relationship Complexity Symbol path set refinement co NP complete G 1 N G 2 expansion ....

....for software evolution. N is a mapping of nodes of G 2 to nodes of G 1 . G 1 N G 2 if and only if G 1 N G 2 . G 1 N G 2 implies G 1 N G 2 . 2.2.1 Traversal Strategies Traversal strategies (also called succinct traversal specifications) are a key concept of AP. They were introduced in [LPS97, PXL95] together with efficient compilation algorithms. The purpose of a traversal strategy is to succinctly define a set of paths in a graph and as such it is a purely graphtheoretic concept. Since there are several works which demonstrate the usefulness of traversal strategies to programming ....

[Article contains additional citation context not shown here]

Karl J. Lieberherr and Boaz Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997. http://www.ccs.neu.edu/research/demeter/AP-Library/.


Implementing Large-Scale Object-Oriented Components - Smaragdakis (1999)   (4 citations)  (Correct)

....invocation sites) Then arbitrary code can be executed to modify the program text according to the prescriptions of different aspects. 5.2. 4 Adaptive OO Components Another well known approach to modular OO software development is Lieberherr s Demeter method and adaptive components [Lie96, LP97, ML98] Adaptive components specify functionality additions based on an abstract pattern of participating classes. The pattern can later be applied to actual classes of an application, so that their functionality is enhanced. This technique is analogous to identifying collaborations in an ....

K.J. Lieberherr and B. Patt-Shamir, "Traversals of Object Structures: Specification and Efficient Implementation", College of Computer Science, Northeastern University, Tech. Report NU-CCS-97-15, July 1997.


Programming with Aspectual Components - Karl Lieberherr David (1999)   (34 citations)  Self-citation (Lieberherr)   (Correct)

No context found.

Karl J. Lieberherr and Boaz Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997. http://www.ccs.neu.edu/research/demeter/AP-Library/.


Softening Dependencies between Interfaces - Allemang, Lieberherr (1998)   (1 citation)  Self-citation (Lieberherr)   (Correct)

....and a strategy graph of that API graph. It produces compilable code implementing a high level API call specified by the strategy. We now sketch how to implement traversal strategies efficiently by compiling them into compilable programs. The details of the full Demeter algorithm can be found in [10]. We focus on the special case we need for Persephone: traversal strategies representable by chains. The compilation problem is defined as follows. Input: An API graph G = V; E) and a strategy graph S = V 0 ; E 0 ) of G where S is a chain. Output: The shortest path among all paths in G ....

K. J. Lieberherr and B. Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997.


The Refinement Relation of Graph-Based Generic Programs - Lieberherr, Patt-Shamir   Self-citation (Lieberherr Patt-shamir)   (Correct)

....2. Correspondence between GP and AP are more flexible than ordinary iterators. For details on the parameterization mechanism in AP, see [Lie96,ML98] 2 Traversal Strategies Traversal strategies (also called succinct traversal specifications) are a key concept of AP. They were introduced in [LPS97,PXL95] together with efficient compilation algorithms. The purpose of a traversal strategy is to succinctly define a set of paths in a graph and as such it is a purely graph theoretic concept. Since there are several works which demonstrate the usefulness of traversal strategies to programming ....

....strategies to programming [Lie96,PXL95,AL98,ML98] we are switching now to a mathematical presentation of the concepts underlying strategies without giving many connections to the practice of programming. There are different forms of traversal strategies the most general of which are described in [LPS97] In this paper we only consider a special case: positive strategy graphs. Positive strategy graphs express the path set only in a positive way without excluding nodes and edges. Positive strategies are defined in terms of graphs and interpreted in terms of expansions. 2.1 Definitions A ....

[Article contains additional citation context not shown here]

Karl J. Lieberherr and Boaz Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-9715, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997.


Annual Merit Report for 1997 - Karl Lieberherr March   Self-citation (Lieberherr)   (Correct)

....Lieberherr [PXL95] presented a fast compilation algorithm for a restricted set of propagation directive and class graph combinations. Palsberg, Patt Shamir, Lieberherr [PPL97] present a general compilation algorithm PPL which may be exponential for some inputs. Indeed, Lieberherr, Patt Shamir [LPS97] show that the PPL algorithm is exponential for certain inputs. Lieberherr, Patt Shamir [LPS97] also show a polynomial general compilation algorithm LP for any combination of strategy graphs and class graphs. Algorithm LP can be roughly summarized as follows. The summary is rough because it does ....

....directive and class graph combinations. Palsberg, Patt Shamir, Lieberherr [PPL97] present a general compilation algorithm PPL which may be exponential for some inputs. Indeed, Lieberherr, Patt Shamir [LPS97] show that the PPL algorithm is exponential for certain inputs. Lieberherr, Patt Shamir [LPS97] also show a polynomial general compilation algorithm LP for any combination of strategy graphs and class graphs. Algorithm LP can be roughly summarized as follows. The summary is rough because it does not deal with abstract classes and inheritance. The key subcomputation is the intersection of ....

Karl J. Lieberherr and Boaz Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997.


Adaptive Plug-and-Play Components for Evolutionary Software .. - Mezini, Lieberherr (1998)   (65 citations)  Self-citation (Lieberherr)   (Correct)

.... model, while being orthogonal to it, and is designed to satisfy the requirements (R1 and R2) listed above: ffl In achieving our goals regarding the adaptability of collaborative behavior, we borrow and further develop the traversal strategy graph technology from Adaptive Programming [16, 17]. ffl In achieving our goals regarding the composition of layers of reusable collaborations in a flexible way to built more complex collaborations, ideas from the Rondo [20] model have been borrowed and further developed. 3.1 Traversal Strategy Graphs Traversal strategies are an evolution of ....

....8 follow LoD, the situation is better but you get many small methods that refer to the details of the object structure. To build more maintainable systems, Adaptive Programming [16] introduces use case based abstractions of class graphs, called traversal strategy graphs, or strategies for short [22, 17]. Strategies have their origin in automata theory applied to structural architectures. A regular expression like A.any .B for a class graph means to take all paths from node A to node B and to view them as a group of collaborating classes. Strategies are a generalization of regular expressions for ....

[Article contains additional citation context not shown here]

K. J. Lieberherr and B. Patt-Shamir. Traversals of object structures: specification and efficient implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997.


The Refinement Relation of Graph-Based Generic Programs - Lieberherr, Patt-Shamir (1998)   Self-citation (Lieberherr Patt-shamir)   (Correct)

....are more flexible than ordinary iterators. For details on the parameterization mechanism in AP, see [Lie96,ML98] 4 Karl Lieberherr and Boaz Patt Shamir 2 Traversal Strategies Traversal strategies (also called succinct traversal specifications) are a key concept of AP. They were introduced in [LPS97,PXL95] together with efficient compilation algorithms. The purpose of a traversal strategy is to succinctly define a set of paths in a graph and as such it is a purely graph theoretic concept. Since there are several works which demonstrate the usefulness of traversal strategies to programming ....

....strategies to programming [Lie96,PXL95,AL98,ML98] we are switching now to a mathematical presentation of the concepts underlying strategies without giving many connections to the practice of programming. There are different forms of traversal strategies the most general of which are described in [LPS97] In this paper we only consider a special case: positive strategy graphs. Positive strategy graphs express the path set only in a positive way without excluding nodes and edges. Positive strategies are defined in terms of graphs and interpreted in terms of expansions. 2.1 Definitions A ....

[Article contains additional citation context not shown here]

Karl J. Lieberherr and Boaz Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-9715, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997.


Adaptive Plug-and-Play Components for Evolutionary Software .. - Mezini, Lieberherr (1998)   (65 citations)  Self-citation (Lieberherr)   (Correct)

....(classes) in an object oriented application domain. It extends the standard objectoriented model, while being orthogonal to it, and is designed to satisfy the requirements (R 1 and R 2 ) listed above: ffl In achieving structural genericity we borrow and further develop the Adaptive Programming [16, 17] technology for decoupling structure from behavior. ffl In achieving decoupled behavioral composition we partly reuse ideas from Rondo [20] and partly apply the technique of programming to interfaces. Because of its importance for understanding APPCs, in the following key ideas behind Adaptive ....

....for understanding APPCs, in the following key ideas behind Adaptive Programming will be first briefly outlined. 3. 1 Adaptive Programming One of the key elements of adaptive programming is the concept of a traversal strategy graph, also called traversal strategy, or strategy for short [22, 17]. The emergence of traversal strategies is the result of the Law of Demeter (LoD) 15] which says that a method should only talk to its direct friends : the argument objects, the part objects and the newly created objects. If you do not follow LoD, you get methods that contain too many details ....

[Article contains additional citation context not shown here]

K. J. Lieberherr and B. Patt-Shamir. Traversals of Object Structures: Specification and Efficient implementation. TR NU-CCS-97-15, College of Computer Science, Northeastern University, 1997.


Demeter and Aspect-Oriented Programming - Lieberherr   Self-citation (Lieberherr)   (Correct)

....is to make programs structure shy so that they can be used with many different object structures. RECENT WORK In the following we highlight recent developments. Demeter Java Demeter Java [LO97] is an implementation of AP for Java extended with an efficiently executable design language based on [SPL96 and LP97]. In Demeter Java we add several innovations to AP including an improved form of the Visitor pattern from [GANG4] provided by the design language. Fig. 1 summarizes the impact of AP on the coupling between aspects. We have four aspects: Functionality, Structure, Traversal and Object Description. ....

....of AP to the Visitor design pattern is the use of traversal strategies. In earlier papers traversal strategies were called propagation directives or traversal specifications. Traversal strategies improve on traversal specifications by a better, more general model and a better compilation algorithm [LP97]. USE AND AVAILABILITY Several companies view the benefit of both simpler and more maintainable programs as very important and have adopted AP for C . Some use our tools and others (for example, Hewlett Packard, see [DEMpage] use the ideas in a conventional C environment. Demeter Java makes ....

Karl J. Lieberherr and Boaz Patt-Shamir, Traversal of Object Structures: Specification and Efficient Implementation, submitted for publication, 1997.


Evolution of Object Behavior using Context Relations - Seiter, Palsberg, Lieberherr (1996)   (24 citations)  Self-citation (Lieberherr)   (Correct)

....strategy, which is a different concept than the strategy pattern. A traversal strategy consists of a strategy graph which describes the high level topology of a class graph traversal. The traversal strategy is translated automatically into a detailed traversal when the class graph is known [33]. Strategy graphs are a generalization of the adaptive traversal specifications proposed by [34] The key concepts used in adaptive programming are visitor classes, strategy graphs, class graphs and object graphs. Our experience with visitor classes has been two fold: On the significantly positive ....

Karl J. Lieberherr and Boaz Patt-Shamir, "Traversals of Object Structures: Specification and Efficient Implementation, " Tech. Rep. NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997, ftp://ftp.ccs.neu.edu/pub/people/lieber/strategies.ps.


Component-based DSL Development - Cleenewerck (2003)   (Correct)

No context found.

K. Lieberherr and B. Patt-Shamir. Traversals of object structures: Specification and e#cient implementation, 1997.


Component-based DSL Development - Cleenewerck (2003)   (Correct)

No context found.

K. Lieberherr and B. Patt-Shamir. Traversals of object structures: Specification and e#cient implementation, 1997.


Strategic Programming Meets Adaptive Programming - Lämmel, Visser, Visser (2003)   (Correct)

No context found.

K. Lieberherr and B. Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, Northeastern University, Boston, 1997.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC