DocumentCode
2992390
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
fYear
2000
fDate
2000
Firstpage
221
Lastpage
225
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Principles of Software Evolution, 2000. Proceedings. International Symposium on
Conference_Location
Kanazawa
Print_ISBN
0-7695-0906-1
Type
conf
DOI
10.1109/ISPSE.2000.913242
Filename
913242
Link To Document