Efficient Implementation of Adaptive Software

26Citations
Citations of this article
17Readers
Mendeley users who have this article in their library.

Abstract

Adaptive programs compute with objects, just like object-oriented programs. Each task to be accomplished is specified by a so-called propagation pattern which traverses the receiver object. The object traversal is a recursive descent via the instance variables where information is collected or propagated along the way. A propagation pattern consists of (1) a name for the task, (2) a succinct specification of the parts of the receiver object that should be traversed, and (3) code fragments to be executed when specific object types are encountered The propagation patterns need to be complemented by a class graph which defines the detailed object structure. The separation of structure and behavior yields a degree of flexibility and understandability not present in traditional object-oriented languages For example, the class graph can be changed without changing the adaptive program at all. We present an efficient, implementation of adaptive programs. Given an adaptive program and a class graph, we generate an efficient object-oriented program, for example, in C++. Moreover, we prove the correctness of the core of this translation. A key assumption m the theorem is that the traversal specifications are consistent with the class graph. We prove the soundness of a proof system for conservatively checking consistency, and we show how to implement it efficiently. © 1995, ACM. All rights reserved.

Cite

CITATION STYLE

APA

Palsberg, J., Xiao, C., & Lieberherr, K. (1995). Efficient Implementation of Adaptive Software. ACM Transactions on Programming Languages and Systems (TOPLAS), 17(2), 264–292. https://doi.org/10.1145/201059.201066

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free