| J. Palsberg, K. Lieberherr, and C. Xiao, "Efficient Implementation of Adaptive Software," ACM Trans. Programming Languages and Systems, to appear 1995. |
....problems enhance the productivity of complex software programmers. These tools should detect the problems automatically without requiring programmers to specify the problems, e.g. in temporal logic, or to analyze some problems manually. Several approaches to adaptable software are wellknown [5, 6]. However, this paper focuses on an approach to a scalable development environment with automatic tools for enforcing correctness and consistency of adaptation of software components. The analytical methods exploit the underlying state machine formalism with compositional and abstraction ....
Palsberg, J., C. Xiao, K. Lieberherr, "Efficient Implementation of Adaptive Software," ACM TOPLAS, V. 17, N. 2, March 95, pp. 264-292.
....systems that distinguish a distributed system of other types of systems. Next the DADL language will be defined. DADL will then be used to specify several key architectures. Other related work includes Rapide [LV96] UniCon [SDK 94] ArTek [HRCP94] Wright [AG94] Code [NB92] Demeter [PXL95] Modechart [JM94] PSDL CAPS [LSBH93] Resolve [EHL 94] and Meta H [Ves94a] 10 3 Distributed Architecture Description Language 3.1 Overview There are two main, tightly coupled concepts in DADL which are the conversation and the participants. The conversation has an identity independent ....
Palsberg, Xiao, and Lieberherr. Efficient implementation of adaptive software (summary of demeter theory). Northeastern University, Boxton, 10, January 1995. 90
....This allows for succinct path description, one can simply specify the source and target classes. Furthermore, a succinct path description remains valid under certain kinds of change to some of the intermediate classes and edges. At Northeastern University the Demeter group, led by Karl Lieberherr [LSLX94, PXL94] has developed a system called Adaptive Programming. Functions are written as propagation patterns and later customized with a specific class dictionary. As an example consider the propagation pattern below which defines a function classList( classList( provides a professor with a list of ....
Jens Palsberg, Cun Xiao, and Karl Lieberherr. Efficient implementation of adaptive software. 1994. Submitted to TOPLAS. 18
....specification. A traversal specification is a way to identify a set of paths between a pair of classes by means of a succinct subgraph specification. Palsberg, Xiao, and Lieberherr have given a sufficient set of conditions for a traversal specification to be provably consistent with its schema [PXL94] This result guarantees that an efficient depth first graph traversal algorithm is available to traverse all the paths in the subgraph, and that the paths generated by the algorithm are in fact the set of paths between the source and target nodes represented by the traversal specification. AQL ....
....generated by the algorithm are in fact the set of paths between the source and target nodes represented by the traversal specification. AQL consists essentially of generalizing the object traversal concept of OQL [Cat94] substituting for it a concept of traversal specification related to that of [PXL94] 3 AQL Core Syntax 3.1 Informal discussion For purposes of simplicity, I will at first consider only the subset of AQL consisting of select from where queries, but the main concepts apply to other statements as well. Extensions to this core definition of AQL are found in Section 5. A core ....
[Article contains additional citation context not shown here]
Jens Palsberg, Cun Xiao, and Karl Lieberherr. Efficient implementation of adaptive software. 1994. Submitted to TOPLAS.
....A polytypic program is obtained by embedding second level type declarations as values in first level computations. The two level language is more powerful than our language, but it is also a much larger extension of common functional programming languages. Adaptive object oriented programming [57, 73] is a programming style similar to polytypic programming. In adaptive OOP methods (corresponding to our polytypic functions) are attached to groups of classes (types) that usually satisfy certain constraints (such as being regular) In adaptive OOP one abstracts from constructor names instead of ....
....and Nelson [80] and Jansson and Jeuring [39] Our extension of Haskell is based on the type system described in [39] In object oriented programming polytypic programming appears under the names 3.2. DATATYPES AND FUNCTORS 39 design patterns [30] and adaptive object oriented programming [57, 73]. In adaptive object oriented programming methods are attached to groups of classes that usually satisfy certain constraints. The adaptive object oriented programming style is very different from polytypic programming, but the resulting programs have very similar behaviour. 3.1.6 Overview This ....
[Article contains additional citation context not shown here]
J. Palsberg, C. Xiao, and K. Lieberherr. Efficient implementation of adaptive software. TOPLAS, 1995.
.... by Jay [17] Ruehr [38, 39] Sheard and Nelson [41] and Jansson and Jeuring [16] Our extension of Haskell is based on the type system described in [16] In object oriented programming polytypic programming appears under the names design patterns [12] and adaptive object oriented programming [27, 36]. In adaptive object oriented programming methods are attached to groups of classes that usually satisfy certain constraints. The adaptive object oriented programming style is very different from polytypic programming, but the resulting programs have very similar behaviour. 1.6 Overview This ....
....many more applications than we have described in this paper. A whole range of applications can be found in adaptive object oriented programming. Adaptive object oriented programming is a kind of polytypic programming, in which constructor names play an important role. For example, Palsberg et al. [36] give a program that for an arbitrary datatype that contains the constructor names Bind and Use, checks that no variable is used before it is bound. This program is easily translated into a polytypic function, but we have yet to investigate the precise relation between polytypic programming and ....
J. Palsberg, C. Xiao, and K. Lieberherr. Efficient implementation of adaptive software. TOPLAS, 1995.
....A polytypic program is obtained by embedding second level type declarations as values in first level computations. The two level language is more powerful than our language, but it is also a much larger extension of common functional programming languages. Adaptive object oriented programming [23, 29] is a programming style similar to polytypic programming. In adaptive OOP methods (corresponding to our polytypic functions) are attached to groups of classes (types) that usually satisfy certain constraints (such as being regular) In adaptive OOP one abstracts from constructor names instead of ....
J. Palsberg, C. Xiao, and K. Lieberherr. Efficient implementation of adaptive software. TOPLAS, 1995.
No context found.
J. Palsberg, K. Lieberherr, and C. Xiao, "Efficient Implementation of Adaptive Software," ACM Trans. Programming Languages and Systems, to appear 1995.
....of the Thesis The contribution of my thesis is the design of a succinct specification language for describing adaptive software, which flexibly represents human intent at a higher level than traditional object oriented software. Results of the research on adaptive software have been published in [56, 50, 47, 55, 51, 44, 63, 48, 40]. Adaptive software consists of a collection of propagation patterns. Each propagation pattern has two parts: 1) a succinct object traversal specification based on a partial class structure, that is a partial structure of potentially many complete class structures, and CHAPTER 1. INTRODUCTION 5 ....
Jens Palsberg, Cun Xiao, and Karl Lieberherr. Efficient implementation of adaptive software. Technical Report Submitted to TOPLAS, Northeastern University, June 1994.
....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 side: They allow an easier way to define adaptive programming than previous approaches using ....
Jens Palsberg, Cun Xiao, and Karl Lieberherr, "Efficient Implementation of Adaptive Software," ACM Transactions on Programming Languages and Systems, vol. 17, no. 2, pp. 264--292, Mar. 1995.
....and testing of an application. While class evolution has been well researched, the focus has been on maintaining the structural consistency of objects existing in a database. The impact of class adaptation on maintenance and testing of behavior remains to be analyzed. Adaptive software [10], 16] refers to a model of software development in which program components are designed to be flexible to changes in class structure. Behavior is implemented based on a set of constraints that define minimal requirements of class structure. The class constraints define a language of compatible ....
Jens Palsberg, Cun Xiao, and Karl Lieberherr. Efficient implementation of adaptive software. Technical Report 94-09, Northeastern University, Feb. 1994. to appear in TOPLAS.
No context found.
J. Palsberg, C. Xiao, and K. J. Lieberherr. Efficient implementation of adaptive software. ACM Trans. Prog. Lang. Syst., 17(2):264--292, Mar. 1995.
No context found.
Palsberg, J., Xiao, C., Lieberherr, K., "Efficient implementation of adaptive software, " ACM Transactions on Programming Languages and Systems, vol. 17, no. 2, pp. 264-292, March 1995.
No context found.
J. Palsberg, C. Xiao, K. Lieberherr, "Efficient Implementation of Adaptive Software," ACM Transactions on Programming Languages and Systems, Volume 17, Number 2, March 1995.
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