Programmable environment calculus as theory of dynamic software evolution

S. Nishizaki
{"title":"Programmable environment calculus as theory of dynamic software evolution","authors":"S. Nishizaki","doi":"10.1109/ISPSE.2000.913242","DOIUrl":null,"url":null,"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.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"201 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings International Symposium on Principles of Software Evolution","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISPSE.2000.913242","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

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.
动态软件进化的可编程环境演算理论
软件进化是先进计算机系统最重要的特征之一,其理论研究的意义已得到公认。软件进化分为静态进化和动态进化两类。静态演化涉及软件系统在编译之前发生的变化;一个典型的例子是软件更新。另一方面,动态演化涉及到软件系统执行时间的变化。操作系统中的动态库机制和Java中的动态类加载都是动态演化的类型。环境表示变量到值的映射。我们已经研究了一级环境中的λ演算(称为环境演算)。这样,我们就可以将环境视为一等公民:环境值可以作为参数传递,并作为结果值返回。一级环境是根据显式替换的思想形式化的。本文提出了可编程环境,作为一级环境的进一步扩展,它提供了一种计算机制,允许将一级环境视为将变量映射到其绑定值的函数。相反,这样的函数也可以被视为一等环境。可编程环境允许我们直接操作元级名称空间,并且使我们能够对动态演化机制进行建模。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信