My Research

in Japanese

Theme Keywords Abstract My Papers Related Links

Theme
A Liguistic Approarch for Dynamically Adaptable Software Model.

Keywords
Dynamic Adaptation, Reflection, Meta-level Architecture, Metaobject Protocol, Generic Function, Method, Extension, Shared, Reusability, Readability, Maintainability, Mobile Computing, Mobile Agent, Object Migration

Abstract
Nowadays open-ended distributed systems and mobile computing systems have come into wide use. When we design software for such systems, we cannot obtain accurate information of dynamically changing runtime environments beforehand; e.g., logical/physical location, hardware configurations (esp. including PC card devices), software configurations, etc. The changes of runtime environments have given a strong influence on the execution of the programs, which we cannot ignore. We give two typical situations as examples. 1) Although we can use the large & luxurious application such as Netscape Communicator on desk-top computers comfortably, we cannot use it small personal digital assistants (PDAs) well. 2) Applications such as tele-conference systems which always need to connect with the network do not work well, when the network connectivity is changed from wired to wireless.
To handle these situations, it is an effective way to change those applications' behaviors depending on the states of runtime environments. However it is nearly impossible to develop such specific applications individually. Moreover we cannot predict the states beforehand. Thus the software must have the ability which can adapt itself to the states in runtime. We call the ability dynamic adaptability. Dynamically adaptable software can change its own functionalities flexibly to make full use of the runtime environments' properties such as the computing power, hardware & software resources, etc.
Since we cannot obtain accurate information of runtime environments and their states beforehand, there is limitation on dynamic adaptability that we can give to the software beforehand. Thus, dynamically adaptable software also must have the mechanism which can extend itself easily and safely. By using the mechanism, the users can improve the dynamic adaptability of the software afterward. We aim the dynamic adaptability which includes such extensible mechanism.
To realize the dynamically adaptable software, we propose a software model and its description language. The model of dynamically adaptable software is based on procedures and meta-level architecture. It can change procedure invocations dynamically depending on the states of runtime environments. The base-level consists of the codes of primary subject domain (domain codes) and the dynamically changeable procedures (adaptable procedures). The meta-level also consists of the codes of dynamic adaptability (adaptation codes) which control adaptable procedures in the base-level.
We had designed & implemented the language LEAD to construct our model. Then, we are currently working on the language LEAD++ which is a successor of LEAD with object oriented concepts similar to CLOS. LEAD and LEAD++ support adaptable procedures. By using them, we can describe the dynamically adaptable software easily and systematically.

My Papers
Please send your some questions, comments and suggestions to n-amano@jaist.ac.jp

Related Links

Return