Title :
Programmable environment calculus as theory of dynamic software evolution
Author :
Nishizaki, Shin-ya
Author_Institution :
Dept. of Comput. Sci., Tokyo Inst. of Technol., Japan
Abstract :
Software evolution is one of the most important features in advanced computer systems, and the significance of its theoretical study is acknowledged. Software evolution is divided into two categories: static and dynamic evolution. Static evolution involves changes in a software system that occur before compilation; a typical example is a software update. On the other hand, dynamic evolution involves changes in the execution time of a software system. The dynamic library mechanism in operating systems and dynamic class loading in Java are types of dynamic evolution. An environment represents a mapping of variables onto values. We have studied the lambda calculus with first-class environments (called the environment calculus). With this, we can treat environments as first-class citizens: environment values can be passed as parameters and returned as resultant values. The first-class environments are formalized according to the idea of explicit substitutions. This paper proposes programmable environments, as a further extension of first-class environments, which provide a computational mechanism allowing first-class environments to be treated as functions mapping variables onto their bound values. Conversely, such functions can also be treated as first-class environments. Programmable environments allow us to operate meta-level name spaces directly, and they enable us to model the dynamic evolution mechanism
Keywords :
lambda calculus; programming theory; software maintenance; Java; bound values; computational mechanism; dynamic class loading; dynamic library mechanism; dynamic software evolution; environment values; execution time changes; explicit substitutions; first-class environments; lambda calculus; meta-level name spaces; operating systems; parameter passing; programmable environment calculus; static evolution; variables mapping; Calculus; Computer science; Java; Operating systems; Reflection; Runtime environment; Software libraries; Software systems;
Conference_Titel :
Principles of Software Evolution, 2000. Proceedings. International Symposium on
Conference_Location :
Kanazawa
Print_ISBN :
0-7695-0906-1
DOI :
10.1109/ISPSE.2000.913242