Supporting incremental and experimental software evolution by runtime method transformations
نویسنده
چکیده
Transformations of object-oriented methods are a prevalent object-oriented programming technique, but in many languages they are not supported at runtime. Therefore it can be hard to apply method transformations for incremental or experimental software evolution, or other problems that require runtime software behavior adaptation. The goal of the work presented in this paper is to provide a better conceptual and technical support for runtime method transformations. A non-intrusive model for method transformations and a set of runtime method transformation primitives are presented. We also present a pattern language for implementing dynamic method abstractions and combining them with languages that do not support dynamic methods natively. As a case study we introduce a runtime transformation framework for the dynamic configuration and composition language Frag, its connection to Java, and an end user programming example.
منابع مشابه
OPTIMAL DESIGN OF WATER DISTRIBUTION SYSTEM USING CENTRAL FORCE OPTIMIZATION AND DIFFERENTIAL EVOLUTION
For any agency dealing with the design of the water distribution network, an economic design will be an objective. In this research, Central Force Optimization (CFO) and Differential Evolution (DE) algorithm were used to optimize Ismail Abad water Distribution network. Optimization of the network has been evaluated by developing an optimization model based on CFO and DE algorithm in MATLAB and ...
متن کاملModelling the Asynchronous Dynamic Evolution of Architectural Types
Self-adaptability is a feature that has been proposed to deal with the increasing management and maintenance efforts required by large software systems. However this feature is not enough to deal with the longevity usually these systems exhibit. Although selfadaptive systems allow the adaptation or reorganization of the system structure, they generally do not allow introducing unforeseen change...
متن کاملA Framework for Agile Development of Component-Based Applications
Agile development processes and component-based software architectures are two software engineering approaches that contribute to enable the rapid building and evolution of applications. Nevertheless, few approaches have proposed a framework to combine agile and component-based development, allowing an application to be tested throughout the entire development cycle. To address this problematic...
متن کاملSupporting Software Evolution in a Distributed, Persistent System
Current enterprise infrastructures based on CORBA have to rely on ad-hoc mechanisms for system software evolution. The CORBA services speci cations do not address the problems associated with evolving modern software systems, leaving the programmer to manage the complexity. The DRASTIC system provides a run-time environment in which the evolution of software is directly supported. With referenc...
متن کاملComputation of evolutionary change
A key issue in software evolution analysis is being able to compute evolutionary change accurately and with rich semantics. This dissertation describes a mathematical framework for enabling accurate computation of semantic evolutionary change. It is based on graphs for representing software semantics, graph transformations for modeling evolution, and effects of graph transformations for capturi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Sci. Comput. Program.
دوره 52 شماره
صفحات -
تاریخ انتشار 2004