Font Size: a A A

ASAP for developing adaptive software within dynamic heterogeneous environments

Posted on:2004-05-01Degree:Ph.DType:Dissertation
University:Michigan State UniversityCandidate:Ko, Ren-SongFull Text:PDF
GTID:1468390011466254Subject:Computer Science
Abstract/Summary:
As the improvement of hardware technology and increased deployment of wireless infrastructures, computer systems are increasingly heterogeneous and dynamic. Heterogeneity and dynamic raise several challenges for software developers and users. Such challenges are software portability, software or computing environments configuration, unexpected environments, and platforms with limited resources. A feasible approach for these challenges is to develop adaptive software that may be aware of environments and adapt itself.; We propose and implement the adaptive software architecture project (ASAP), which includes the software framework (FRAME), Component/Constraint Markup Language (CSML), and on-line adaptation, for the challenges under dynamic heterogeneous environments. Software may have a list of constraints for the environment. During execution, software may use the list to determine whether the environmental changes, and then the software responds accordingly. ASAP may support applications in different domains, including ad hoc systems that are temporarily organized.; FRAME provides the APIs for adding adaptation to software. The adaptation and functionality of software are separately specified and implemented under FRAME, and hence, lessen development complexity. To further alleviate the complexity of developing adaptive software under FRAME, a high-level adaptive software specification language, CSML, may be used to specify the architecture of the software system and the constraints. The code for adaptation will be automatically generated by CSML. Then, developers only need to inherit the generated code to implement the functionality. To avoid an unnecessary performance impact, ASAP uses two different on-line adaptation schemes, Brew and component reassembly, to let software respond to different scales of environmental changes. For small environmental changes, people may use Brew to repair the affected software without terminating the software. Otherwise, the execution of the software will be temporarily suspended to invoke the component reassembly, and then resumed with appropriate implementations of the components. Also, two approaches, partial reassembly and caching, are proposed to further reduce the performance impact of reassembly.; Three different applications are used to evaluate various features of ASAP. The GO game demonstrate the basic features of ASAP, including distributed component assembly. The Java MPEG Player has time constraints, which may not be satisfied under certain conditions and may be repaired by Brew. The last application demonstrates how ASAP may be used to realize behavior-based approach for the adaptive robotic control systems. Different performance results are also presented and discussed.
Keywords/Search Tags:Software, Adaptive, ASAP, Dynamic, Heterogeneous, Systems, Environments, Different
Related items