Abstract

Nowadays open-ended distributed systems and mobile computing systems have come into wide use. In such systems, we cannot obtain accurate information of dynamically changing runtime environments beforehand. The changes of runtime environments have given a strong in uence on the execution of programs, which we cannot ignore. Thus, the software systems that can adapt themselves to dynamically changing runtime environments are required. We call such software systems dynamically adaptable software systems. In this work, we propose a software model called DAS [1] and its description languages LEAD++ for dynamically adaptable software systems. The DAS model has the mechanism to adapt software systems to dynamically changing runtime environments. We had designed & implemented the language LEAD 1 [2] based on the DAS model. We are currently working on object-oriented reective language LEAD++. Its prototype is a pre-processor of Java. By using them, we can systematically describe dynamically adaptable software systems. To realize dynamically adaptable software systems, it is an e ective way to change the behaviors of each software system depending on the states of runtime environments. However, it is not practical to develop several versions of the same software system depending on each runtime environment and/or its states. Moreover, such behaviors of each software system depending on the states are related with any other parts of it. Thus, it is diAEcult to control such behaviors of each software system from its outside. From such reasons, each software system should have the ability that can adapt itself to dynamically changing runtime environments. We call such ability of software systems dynamic adaptability. The dynamically adaptable software systems (namely, software systems with dynamic adaptability) not only adapt themselves to dynamically changing runtime environments, but also change their own functionalities exibly to make full use of the properties in the runtime environments. However, there is a limitation on runtime environments and their states that software engineers can anticipate beforehand. Thus, there is also a limitation on the dynamic adaptability that the software engineers can give to software systems beforehand. From the reason, the mechanism of dynamic adaptability must be extensible. Namely, the mechanism must be able to change depending on various runtime environments and their states afterward.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call