| K. J. Lieberherr, Adaptive Object-Oriented Software: The Demeter method with propagation patterns, PWS Publishing Company, 1996. 26 |
....of reuse, 2) aspect types could then be defined to provide a means to characterize the intended behavior of aspects, and (3) at the moment technologies that support AOSD provide mechanisms to group (and or organise) aspects depending on the concern that is addressed. For instance, in AspectJ [11] one can define abstract aspects from which new aspects can then be defined through inheritance, thus providing programmers with an aspect hierarchy that holds aspects of similar or sharing behavior. One would argue that the principle of substitutability should apply to aspects. The hierarchy of ....
....a (preliminary) non formal classification of tangled code. In the fundamental paper on aspect oriented programming (AOP) Kiczales et al. argue that tangled code is extremely difficult to maintain, since small changes to the functionality require mentally untangling and then retangling it [11] and propose aspect oriented programming to solve the problem of tangled code. The problem of tangled code means that within software systems code exists, which is one the one hand redundant but on the other hand cannot be encapsulated by separate modules using regular techniques. There are a lot ....
[Article contains additional citation context not shown here]
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
....language and is intended to include a set of exemplars of different approaches to AOP. The work reported here is a model of one of those exemplars, namely dynamic join points and advice with dynamic weaving. We hope to extend this work to other AOP models, including static join points, Demeter [Lie96] and Hyper J [OT00] and to both interpreter like and compilerlike implementation models. For more motivation for AOP, see [KLM 97] or the articles in [CAC01] For more on AspectJ, see [KHH 01] 2 A Model We begin by presenting a conceptual model of aspect oriented programming with ....
....8. This completes the semantics of the core language. 5 Related Work Aspect oriented programming is presented in [KLM 97] which shows how several elements of prior work, including reflection [Smi84] metaobject protocols [KdR91] subject oriented programming [HO93] adaptive programming [Lie96] and composition filters [AWB 94] all enable better control over modularization 17 of crosscutting concerns. A variety of models of AOP are presented in [CAC01] AspectJ [KHH 01] is an effort to develop a Java based language explicitly driven by the principles of AOP. Flavors [WM81, ....
[Article contains additional citation context not shown here]
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
....and concluding remarks are presented in Section 5. 2 Related Work can be seen as an extension of object oriented design methods [15] 5] 6] where a problem do main model is developed from use cases and class diagram. However, their main goal is to develop good software models (e.g. as in [11]) Our goal is to develop rapid prototypes and early validation of user s requirements. Our work is closely related to the Grammar Oriented Object Design (GOOD) 1] 10] where all valid object interaction sequences of the cluster of objects are identified. Then a meta model is constructed and ....
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
....from the various aspect mechanisms . AOP [14] with AspectJ [2] focus on the supplementation of given base code with particular (non )functionality, for example; MDSOC [21] with Hyper J [13] aim at the composition of multiple independently developed concern models; and Adaptive Programming [16] with DemeterJ or DJ [1] seeks to implement collaborative behavior among classes in an arbitrary class hierarchy. Looking for appropriate UML representations, we decided in our AODM [18] 19] to represent AspectJ s aspect construct by stereotyped UML classes because we felt that AspectJ s aspects ....
Lieberherr, K., Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, PWS Publishing Company, Boston, 1996
....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 ....
K.J. Lieberherr, Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, PWS Publishing Company, Boston, 1996.
....could be used in a refactoring tool, which gives automatic assistance in factoring out aspects in legacy code. 2 Aspect oriented Programming Aspect oriented programming builds upon a long tradition of meta programming systems (especially [17] and there exist several variants of the same ideas [1, 15, 20]. The most widely adopted, however, is that in AspectJ [18] and therefore we follow the terminology of that exposition. Space does not allow an in depth review of the applications of aspects, and the reader is referred to [5] for a comprehensive overview. AJD is a much smaller aspect oriented ....
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
....The naive innermost and innermost combinators both implement the leftmost innermost evaluation strategy, but the second is more efficient than the first. The combinators beloweq and untileq take two argument strategies for some form of path traversal very much in the sense of adaptive programming [29]. The combinator beloweq searches for a component that can be successfully processed by the first argument nested inside a component for which the second argument succeeds. The combinator untileq searches for a path such that the first argument holds for every node down the path until eventually ....
....schemes one can define traversals by customisation, function composition, and nesting. In strategic programming, traversal schemes are programmable. Level 3 At this level, we require capabilities to compose generic traversals in a more general way. The traversal strategies in adaptive programming [29,33] correspond to descriptions of paths through object graphs that are composed from predicates for anchor nodes, end nodes, intermediate nodes, and disfavoured nodes and edges. There is no notion of a completely generic traversal scheme. Traversal control is limited by the bias towards paths and due ....
K. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
....simply written from scratch. DRADEL can be used to ensure that an adaptation can be used within the given system and thus provides us with an instanttype checking regiment for the adaptation techniques proposed in this paper so long as there is an architectural focus. Lieberherr s Demeter project [19] promotes adaptive programming as a technique for increasing the evolvabilityofaprogramby creating flexible interactions among objects. It is not specifically targeted towards adapting third party components, but it is clear that components developed using Demeter would have a greater chance of ....
K. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company,1996.
....other works which consider flexible composition schemes, but only in the context of object oriented programming languages [Prehofer01, Elrad01] but do not consider graphic modeling of components. Our composition methods whit layers resembles other layered architectures for feature composition [Batory97, Demeter96], which lack explicit support for interactions. 5. ....
K. Lieberherr, Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, PWS Publishing Company, Boston, 1996 7
....On the technological level is the actual implementation of the hypermedia information system. Adaptivity to change in technology refers to programming and computer platforms, which are outside our core focus. An interesting approach, however, is the Demeter method for adaptive programming [23]. Also regarding mobile computing, the constantly changing technologies (protocols etc. present challenges. Adapting to difference Another kind of adaptivity dealt with here is adapting to difference. Unlike adapting to change, adapting to difference is not (necessarily) related to time, but is ....
Lieberherr, K. (1996) Adaptive Object-Oriented Software: The Demeter Method. PWS Publishing Company.
....extensions. This problem arises often when users derive their own version of library classes (for instance, containers) and its critical influence has even forced library developers to deny inheritance from most of their classes (sealed classes, in the C# jargon) and some authors (see for example [6]) suggest to use always the delegation pattern when library classes are involved. Figure 10 shows a hypothetical library class with two methods with identical semantics. We imagine that an inheritor of the class derives a new class as shown in Figure 11. Class UserClass produces objects that are ....
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
....language and is intended to include a set of exemplars of different approaches to AOP. The work reported here is a model of one of those exemplars, namely dynamic join points and advice with dynamic weaving. We hope to extend this work to other AOP models, including static join points, Demeter [14], and Hyper J [16] and to both interpreter like and compiler like implementation models. For more motivation for AOP, see [12] or the articles in [4] For more on AspectJ, see [11] 2. A MODEL We begin by presenting a conceptual model of aspect oriented programming with dynamic join points as ....
....discussed on page . This completes the semantics of the core language. 5. RELATED WORK Aspect oriented programming is presented in [12] which shows how several elements of prior work, including reflection [17] metaobject protocols [10] subject oriented programming [9] adaptive programming [14], and composition filters [1] all enable better control over modularization of crosscutting concerns. A variety of models of AOP are presented in [4] AspectJ [11] is an effort to develop a Java based language explicitly driven by the principles of AOP. Flavors [19, 5] New Flavors [15] ....
[Article contains additional citation context not shown here]
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
.... may be the composition filter approach [5] adaptive component connectors [13] or AST manipulation approaches like [18] 4 Related Work Complementary work may be found in all aspect oriented and related approaches like ASPECTJ [10] subject oriented programming [9] adaptive programming [11] or also transformation systems [3] including the above mentioned adaptive plug plays [13] composition filters [1] or XML based AST manipulations [18] All these approaches may potentially be applied to realise the bottom up product line approach. They support the implementation of the ....
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
....of tangled code. Most of them mentioned in this context are AspectJ [2] implemented by those people who actuated the term aspect oriented programming [11] HyperJ [14] which is an offspring of subject oriented programming (SOP, 10] DemeterJ [6] whose foundation came from adaptive programming [12] and composition filters [1] More recent proposals include for example logical meta programming [16] or different mixin mechanisms like destructive mixins [15] or per object mixins [13] Although there are already some comparisons between different approaches like AspectJ and HyperJ (cf. e.g. ....
Karl J. Lieberherr, Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, PWS Publishing Company, Boston, 1996
....The demand for adaptable components, at the same time, describes a recent trend in software development, which comes in several varieties. Although we were mostly inspired by generic programming in the sense of STL and its successors, the methodologies of adaptive and aspect oriented programming [16] and intentional programming [29] bear resemblance to our goals but typically work neither with C nor with traditional (compilation) environments. Extensible compilers are another recent trend, along with performance tuning for selected types and the introduction of features that allow advanced ....
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-53494602 -X.
....is robustness with respect to structural changes. This is important when collaborations are connected together because each collaboration has its own idealized object model. Those structural models need to be fused together and traversal strategies from Adaptive Programming (AP) Lie92a, Lie96] are very useful for this purpose. 2 Programming with Connectors In this section, we link the work on connectors to two related programming techniques, namely aspect oriented programming (AOP) and Adaptive Programming (AP) 2.1 Aspect Oriented Programming and Connectors A fundamental problem ....
....methods of the same name (e.g. all traversal methods that bring us from a B object to a C object. In both cases, the modification consists of executing additional code before and or after the selected methods. An interesting discussion applies to the second case of connected traversal methods [Lie96] In complex systems, many aspects need to be implemented resulting in the need to manage many 4 subgraphs who are all linked to the same class graph. Should the class graph change, we would need to update many subgraphs manually. In other words, the subgraphs for the aspects are brittle with ....
[Article contains additional citation context not shown here]
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. 616 pages, ISBN 0-534-94602X, entire book at www.ccs.neu.edu/research/demeter.
....management systems. The term horizontal reuse is commonly used to refer to domain independent components. More recently, these issues have reached the programming level with the notion of adapters and aspect oriented programming as in AspecJ (from Xerox [29] Hyper J (from IBM [30] and Demeter [31]. Domain specific components have more limited applicability, and are especially reusable within a specific application domain. The term vertical reuse is commonly used to refer to these components. The semantics of the component are domain dependent, and hence have little or no use outside ....
Lieberherr, K. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. (Publisher: PWS Publishing Company, 1996.)
....a mapping between types. Moreover, the use of an adapter generates a intermediate data structure that could be discard. We hope to adapt functional deforestation methods [3, 15] to statically eliminate the adapter implementation. 4. 2 Default traversal Another approach, introduced by Lieberherr [9], as adaptive programming introduced the notion of default traversals on every structure subtypes which do not have a speci ed visit method. The writing is therefore more independent from the algorithm and the structure, if the structure is modi ed, the description of the algorithm remains the ....
.... public final void prefix(Item i) visit(i.getTail( 4 It has to be noted that the elds traversal order is not, a priori, the same than the Walkabout Pattern. The traversal executed by the Codec Pattern is quite close to the one executed by the treetraversal of Lieberherr [9]. The propagation during the visit is executed in a similar way. However, the Codec Pattern stays blind as for the direction it has to take, regarding the tree traversal which bene ts a static analysis of the class graph. Our actual implementation turns out to be much more complex than the simple ....
Karl J. Lieberherr. Adaptive Object-Oriented Software : The Demeter Method with Propagation Patterns PWS Publishing Company, Boston, 1996.
No context found.
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. 616 pages, ISBN 0-534-94602-X, entire book at www.ccs.neu.edu/research/demeter.
....uses re ection to compute the relevant FIRST sets. This has two advantages: rst, it allows the same code to be reused even if the class structure changes. Second, it allows the system to be implemented as a pure Java library rather than as a preprocessor. This is an example of adaptive behavior [8]. The code for this task is shown in gure 4. The static member cg is bound to a ClassGraph object that contains a representation of the current class diagram . The method collectVars takes a string travspec that speci es the traversal to be performed. It rst creates a visitor v to implement ....
.... pattern has been called Adaptive Visitor ( 7] pages 426 427) where an operation is de ned by the pair (where to go; what andwhen to do) The concept of automated traversal generation using succinct representation was introduced in [7] It was formalized in [14] and is extensively treated in [8], where it is the key idea of Adaptive Programming (AP) and is used to implement the Adaptive Visitor pattern [8, pages 426 427] Our most complex language of traversal speci cations, called strategy graphs, is introduced in [9] together with an ecient implementation. This paper provides a ....
K. J. Lieberherr, Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, PWS Publishing Company, Boston, 1996, 616 pages, ISBN 0-534-94602-X. URL http://www.ccs.neu.edu/research/demeter
....pointcuts are less structured than traversals, as the members of pointcuts are not ordered, while traversals impose a specific navigation sequence on its members. The concept of automated traversal generation using succinct representation was introduced in 5 [25] and is extensively treated in [18]. The traversals using the syntax of [25] essentially describe series parallel graphs, which seem to be an important special case in practice. However, the algorithm provided by [25] cannot be applied for a significant subset of combinations of class structures and traversal specifications. A ....
Karl Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, Massachusetts, 1995.
....by creating several instances of the map object. ffl Maps are specified in a small map specification language, falling back to the core language for complicated functionality. SOP provides a rich specification language for combining subjects. ffl Maps incorporate ideas from Adaptive Programming [9] that can significantly lower their maintenance costs in a wide range of situations. Ian Holland describes contracts and lenses in his thesis [5] Contracts and lens objects are even more closely related to our views than SOP, being analogous to view class graphs and map objects, respectively. ....
....Architecture is represented by a number of architectural views, that are meant to highlight important design decisions by omitting implementational details [2] Our concept of view has a similar intent as the architectural views of Objectory but at a much finergrained level. Adaptive programming [9] is another approach to writing robust software. It proposes that we write software using a version of the Visitor pattern [3] that is controlled by an external path description. AP tries to be as loosely coupled to the class graph as it can be without a translation layer. The path is ....
[Article contains additional citation context not shown here]
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-534-94602-X, entire book at www.ccs.neu.edu/research/demeter.
....find unnecessary or confusing, and which make maintenance, documentation and support for the API too costly. We present a solution to this dilemma that allows for convenient customized extension of a basic API. The solution is based on the program generation capabilities of the Demeter system [8]; hence we have chosen to call the API extension system Persephone. 1 The Demeter system allows a program to be specified in terms of traversal strategies and visitors. We apply this technique to the API by allowing the applications programmer to specify the particular higher level methods that ....
.... classes with the same name in a single class diagram, it would be an error to have two parameters with the same name (even in different methods) 3 GENERATION ALGORITHM Persephone s algorithm for generating the methods is a special case of the general traversal generation algorithm of Demeter [8]. Here we present a simplified version of the Demeter algorithm, which is sufficient for Persephone. Definitions A directed graph is a pair (V; E) where V is a finite set of nodes, and E V Theta V is a set of edges. Given a directed graph G = V; E) a path is a sequence p = hv 0 v 1 : v ....
[Article contains additional citation context not shown here]
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-534-94602-X.
....between generic programs leads to graph theoretic problems which have several applications. Refinement can be used to define subroutines in adaptive programs as well as to define common evolution relationships between class graphs. 1. 1 Adaptive Programming (AP) Adaptive Programming [Lie92,Lie96] is programming with traversal strategies. The programs use graphs which are referred to by traversal strategies. A traversal strategy defines traversals of graphs without referring to the details of the traversed graphs. AP is a special case of Aspect Oriented Programming [Kic96,KLM 97] AP ....
....Computer Science 3 Kind Algorithms Glue Graphs GP(STL) Algorithms Iterators Data Structures AP Adaptive Traversal Class Graphs Algorithms Strategies Table 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 ....
[Article contains additional citation context not shown here]
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-534-94602-X, entire book at www.ccs.neu.edu/research/demeter.
....nothing more than passing a call to a next object [PB92] These near trivial operations can be caught in higher level descriptions, which can be automatically translated into the low level code. The classes and relations involved form a set of paths (a subgraph) in the class graph. In Demeter [Lie95] two standard operations exist: message propagation and object transport. The subgraphs are succinctly specified by means of propagation directives. Keywords traverse and carry indicate whether respectively message propagation or object transport should be performed. So the following statement ....
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1995.
No context found.
K. J. Lieberherr, Adaptive Object-Oriented Software: The Demeter method with propagation patterns, PWS Publishing Company, 1996. 26
No context found.
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-534-94602-X.
No context found.
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-53494602 -X.
No context found.
Karl J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. Addison-Wesley,, 2000. ISBN 0534 -94602-X.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
No context found.
K. Lieberherr, Adaptive Object-Oriented Software The Demeter Method. PWS, 1996.
No context found.
K. Lieberherr, Adaptive Object-Oriented Software The Demeter Method. PWS Publishing Company, Boston, 1996. 21
No context found.
K. J. Lieberherr, Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-534-94602-X.
No context found.
K. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: the Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. ISBN 0-53494602 -X.
No context found.
K.J. Lieberherr. Adaptive Object-Oriented Software: the Demeter Method with Propagation Patterns. Boston: PWS Publishing Company, 1996.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
No context found.
K. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
No context found.
Lieberherr, K.: Adaptive Object-Oriented Software: The Demeter Method with Propagation Pattern. PWS, Boston (1996)
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software { The Demeter Method { with Propagation Pattern. The PWS Series in Computer Science. PWS Publishing
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
No context found.
Lieberherr, K.J. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
No context found.
K. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
No context found.
K. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
No context found.
K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996.
First 50 documents Next 50
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