DocumentCode :
820845
Title :
Reflective designs
Author :
Hirschfeld, R. ; Lämmel, R.
Author_Institution :
DoCoMo Commun. Labs. Eur., Munich, Germany
Volume :
152
Issue :
1
fYear :
2005
Firstpage :
38
Lastpage :
51
Abstract :
The authors render runtime system adaptations by design-level concepts such that running systems can be adapted and examined at a higher level of abstraction. The overall idea is to express design decisions as applications of design operators to be carried out at runtime. Design operators can implement design patterns for use at runtime. Applications of design operators are made explicit as design elements in the running system such that they can be traced, reconfigured, and made undone. This approach enables reflective designs: on one side, design operators employ reflection to perform runtime adaptations; on the other side, design elements provide an additional reflection protocol to examine and configure performed adaptations. The approach helps understanding the development and the maintenance of the class of software systems that cannot tolerate downtime or frequent shutdown-revise-startup cycles. The authors have designed and implemented a class library for programming with reflective designs in Squeak/Smalltalk. The library employs reflection and dynamic aspect-oriented programming. In addition to that, the authors have implemented tool support for versatile navigation in a system that is adapted continuously at runtime.
Keywords :
Smalltalk; abstract data types; decision making; object-oriented programming; software libraries; software maintenance; software prototyping; Smalltalk; Squeak; aspect-oriented programming; class library; design operators; design patterns; reflective design decisions; software systems;
fLanguage :
English
Journal_Title :
Software, IEE Proceedings -
Publisher :
iet
ISSN :
1462-5970
Type :
jour
DOI :
10.1049/ip-sen:20041097
Filename :
1433663
Link To Document :
بازگشت