首页 > 最新文献

Proceedings International Symposium on Principles of Software Evolution最新文献

英文 中文
Evolutionary patterns of design and design patterns 设计的进化模式和设计模式
Pub Date : 2000-11-01 DOI: 10.1109/ISPSE.2000.913228
M. Aoyama
Design patterns are considered well-formed language to represent software design. We propose several notions of design evolution and discuss the patterns of design evolution in terms of design patterns. First, we propose a classification of design patterns into pattern families. To model the design patterns and the evolutionary relationship between them, we propose a set of graphical notations of design patterns and their evolution, namely pattern type diagrams and pattern evolution diagrams. Then, we analyze evolutionary patterns of design within a family and across multiple families of design patterns. Based on the patterns of design evolution, we can navigate designers to select and compose design patterns for solving complex problems with design patterns. An example illustrates evolutionary design of the framework by composing design patterns.
设计模式被认为是表示软件设计的格式良好的语言。我们提出了设计进化的几个概念,并从设计模式的角度讨论了设计进化的模式。首先,我们提出将设计模式划分为模式族。为了对设计模式及其演化关系进行建模,我们提出了一套设计模式及其演化的图形化符号,即模式类型图和模式演化图。然后,我们分析了一个家族和多个家族的设计模式的进化模式。基于设计演化的模式,我们可以引导设计者选择和组合设计模式,用设计模式来解决复杂的问题。一个示例通过组合设计模式说明了框架的进化设计。
{"title":"Evolutionary patterns of design and design patterns","authors":"M. Aoyama","doi":"10.1109/ISPSE.2000.913228","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913228","url":null,"abstract":"Design patterns are considered well-formed language to represent software design. We propose several notions of design evolution and discuss the patterns of design evolution in terms of design patterns. First, we propose a classification of design patterns into pattern families. To model the design patterns and the evolutionary relationship between them, we propose a set of graphical notations of design patterns and their evolution, namely pattern type diagrams and pattern evolution diagrams. Then, we analyze evolutionary patterns of design within a family and across multiple families of design patterns. Based on the patterns of design evolution, we can navigate designers to select and compose design patterns for solving complex problems with design patterns. An example illustrates evolutionary design of the framework by composing design patterns.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"99 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131629369","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
Programmable environment calculus as theory of dynamic software evolution 动态软件进化的可编程环境演算理论
Pub Date : 2000-11-01 DOI: 10.1109/ISPSE.2000.913242
S. Nishizaki
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中的动态类加载都是动态演化的类型。环境表示变量到值的映射。我们已经研究了一级环境中的λ演算(称为环境演算)。这样,我们就可以将环境视为一等公民:环境值可以作为参数传递,并作为结果值返回。一级环境是根据显式替换的思想形式化的。本文提出了可编程环境,作为一级环境的进一步扩展,它提供了一种计算机制,允许将一级环境视为将变量映射到其绑定值的函数。相反,这样的函数也可以被视为一等环境。可编程环境允许我们直接操作元级名称空间,并且使我们能够对动态演化机制进行建模。
{"title":"Programmable environment calculus as theory of dynamic software evolution","authors":"S. Nishizaki","doi":"10.1109/ISPSE.2000.913242","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913242","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.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132855635","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Dynamic compilation of a reflective language using run-time specialization 使用运行时专门化对反射语言进行动态编译
Pub Date : 2000-11-01 DOI: 10.1109/ISPSE.2000.913230
H. Masuhara, Y. Sugita, A. Yonezawa
In reflective languages, application programs can customize a language system that executes the application programs. Our premise is that this customizability of reflective languages can be a basic mechanism of software evolution. We present a simple architecture of a reflective language that can dynamically select meta-interpreters, and a dynamic compilation scheme by using run-time specialization (RTS) techniques, which could also be useful to dynamically optimize systems with mechanisms of dynamic software evolution. Our prototype system showed that dynamically compiled reflective programs run more than four times faster than the interpreted ones, and that compilation processes are fast enough to be invoked at runtime. Compared to statically compiled programs, however, dynamically compiled ones yet have 20-30% overheads. We also discuss this problem.
在反射语言中,应用程序可以自定义一个执行应用程序的语言系统。我们的前提是,这种反射语言的可定制性可以成为软件进化的基本机制。我们提出了一个可以动态选择元解释器的反射语言的简单架构,以及一个使用运行时专门化(RTS)技术的动态编译方案,该方案也可以用于动态优化具有动态软件进化机制的系统。我们的原型系统表明,动态编译的反射程序运行速度比解释程序快四倍以上,并且编译过程足够快,可以在运行时调用。然而,与静态编译的程序相比,动态编译的程序仍然有20-30%的开销。我们也讨论了这个问题。
{"title":"Dynamic compilation of a reflective language using run-time specialization","authors":"H. Masuhara, Y. Sugita, A. Yonezawa","doi":"10.1109/ISPSE.2000.913230","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913230","url":null,"abstract":"In reflective languages, application programs can customize a language system that executes the application programs. Our premise is that this customizability of reflective languages can be a basic mechanism of software evolution. We present a simple architecture of a reflective language that can dynamically select meta-interpreters, and a dynamic compilation scheme by using run-time specialization (RTS) techniques, which could also be useful to dynamically optimize systems with mechanisms of dynamic software evolution. Our prototype system showed that dynamically compiled reflective programs run more than four times faster than the interpreted ones, and that compilation processes are fast enough to be invoked at runtime. Compared to statically compiled programs, however, dynamically compiled ones yet have 20-30% overheads. We also discuss this problem.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114180533","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Evolutional tableau method for temporal logic specifications 时序逻辑规范的演化表法
Pub Date : 2000-11-01 DOI: 10.1109/ISPSE.2000.913236
M. Tomoishi, N. Yonezaki
Presents a new consistency checking method for temporal logic specifications. The new method verifies the consistency of a whole specification by using a tableau graph constructed from tableau graphs obtained in the verifications of partial specifications. The new method is applicable not only to on-the-fly verification but also to compositional verification. On-the-fly verification is verification that proceeds as a specification is evolved; compositional verification is verification constructed by merging modular verifications. By verifying a specification at each step of its refinement, we can make the specification evolution process efficient. A tableau graph constructed by a traditional tableau method does not suit reuse. The traditional tableau method has two phases: a tableau graph construction phase and an eventuality checking phase. It is difficult to reflect the results of the eventuality checking on the tableau graph because there is no suitable substructure which can store the results. For that reason, it is necessary to check eventuality formulae repeatedly on the reuse of the tableau graphs. A new tableau graph introduced in this paper has a new structure and is obtained by piling up tableau graphs of subformulae. In this new structure, the checked results of eventuality checking are encoded. Therefore, all the results of the verification in each step can be reused for constructing the verification for a whole specification.
提出了一种新的时序逻辑规范一致性检验方法。该方法利用在部分规范验证中得到的表格图构造一个表格图来验证整个规范的一致性。该方法不仅适用于动态验证,也适用于成分验证。即时验证是随着规范的发展而进行的验证;组合验证是通过合并模块验证构造的验证。通过在规范细化的每一步验证规范,我们可以使规范演进过程变得高效。用传统的表格方法构造的表格图不适合重用。传统的表法分为两个阶段:表图构造阶段和可能性检验阶段。由于没有合适的子结构来存储结果,因此难以将偶然性检验的结果反映在表图上。因此,有必要在图表的重用上反复检查可能性公式。本文介绍了一种新的表格图,它具有新的结构,是由子公式的表格图叠加而成的。在这种新结构中,对偶然性检查的检查结果进行编码。因此,每个步骤中的所有验证结果都可以被重用,以构建整个规范的验证。
{"title":"Evolutional tableau method for temporal logic specifications","authors":"M. Tomoishi, N. Yonezaki","doi":"10.1109/ISPSE.2000.913236","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913236","url":null,"abstract":"Presents a new consistency checking method for temporal logic specifications. The new method verifies the consistency of a whole specification by using a tableau graph constructed from tableau graphs obtained in the verifications of partial specifications. The new method is applicable not only to on-the-fly verification but also to compositional verification. On-the-fly verification is verification that proceeds as a specification is evolved; compositional verification is verification constructed by merging modular verifications. By verifying a specification at each step of its refinement, we can make the specification evolution process efficient. A tableau graph constructed by a traditional tableau method does not suit reuse. The traditional tableau method has two phases: a tableau graph construction phase and an eventuality checking phase. It is difficult to reflect the results of the eventuality checking on the tableau graph because there is no suitable substructure which can store the results. For that reason, it is necessary to check eventuality formulae repeatedly on the reuse of the tableau graphs. A new tableau graph introduced in this paper has a new structure and is obtained by piling up tableau graphs of subformulae. In this new structure, the checked results of eventuality checking are encoded. Therefore, all the results of the verification in each step can be reused for constructing the verification for a whole specification.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124817201","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Evolutionary development of object behaviors 对象行为的进化发展
Pub Date : 2000-11-01 DOI: 10.1109/ISPSE.2000.913223
K. Itou, T. Katayama
In object-oriented development methodologies, behavior of the system to be developed is usually specified as a collection of state diagrams for the objects involved in the system. We need to describe them so that each individual object reacts correctly to the events it receives. Also, we have to consider the entire system behaves properly as the result of the collective behavior of each object and this is usually done by the help of interaction or collaboration diagrams. We propose an evolutionary development method which allows to describe the system looking over its entire behavior, while it could be executed and tested at any stage of its development. It is based on the concept of stepwise reification and abstract execution. In this method, the system behavior is constructed by starting from its very abstract initial form and then gradually evolving it until its ultimate form is obtained. The evolution is done by executing and testing its abstract intermediate description and by reifying it to the next step. Execution of the abstract intermediate objects are done symbolically. We firstly formalize behaviors of object systems by the collection of regular expressions which are executed in parallel and by the concept of their collaboration. Next, on the foundation, we formalize the idea of evolutionary development of objects behavior in terms of rewriting behavior identifiers. Finally, we give an example to illustrate our method.
在面向对象的开发方法中,要开发的系统的行为通常被指定为系统中涉及的对象的状态图的集合。我们需要描述它们,以便每个单独的对象对它接收到的事件做出正确的反应。此外,我们必须考虑整个系统的行为是每个对象的集体行为的结果,这通常是通过交互或协作图的帮助来完成的。我们提出了一种进化开发方法,它允许描述系统的整个行为,同时它可以在其开发的任何阶段执行和测试。它基于逐步具体化和抽象执行的概念。在这种方法中,系统行为是从非常抽象的初始形式开始构建,然后逐渐演化,直到得到最终形式。进化是通过执行和测试其抽象中间描述并将其具体化到下一步来完成的。抽象中间对象的执行以符号方式完成。我们首先通过并行执行的正则表达式集合和它们的协作概念来形式化对象系统的行为。接下来,在此基础上,我们从重写行为标识符的角度形式化了对象行为进化发展的思想。最后,给出了一个实例来说明我们的方法。
{"title":"Evolutionary development of object behaviors","authors":"K. Itou, T. Katayama","doi":"10.1109/ISPSE.2000.913223","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913223","url":null,"abstract":"In object-oriented development methodologies, behavior of the system to be developed is usually specified as a collection of state diagrams for the objects involved in the system. We need to describe them so that each individual object reacts correctly to the events it receives. Also, we have to consider the entire system behaves properly as the result of the collective behavior of each object and this is usually done by the help of interaction or collaboration diagrams. We propose an evolutionary development method which allows to describe the system looking over its entire behavior, while it could be executed and tested at any stage of its development. It is based on the concept of stepwise reification and abstract execution. In this method, the system behavior is constructed by starting from its very abstract initial form and then gradually evolving it until its ultimate form is obtained. The evolution is done by executing and testing its abstract intermediate description and by reifying it to the next step. Execution of the abstract intermediate objects are done symbolically. We firstly formalize behaviors of object systems by the collection of regular expressions which are executed in parallel and by the concept of their collaboration. Next, on the foundation, we formalize the idea of evolutionary development of objects behavior in terms of rewriting behavior identifiers. Finally, we give an example to illustrate our method.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122187768","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Redesigning of an existing software using design patterns 使用设计模式对现有软件进行重新设计
Pub Date : 2000-11-01 DOI: 10.1109/ISPSE.2000.913234
G. Masuda, N. Sakamoto, K. Ushijima
We describe a case study on redesigning of existing software using design patterns. Although design patterns have spread widely in object-oriented software design, the disordered application of them often makes the design more complicated or worsens performance. In the case study, we introduce a hot-spot based approach to apply design patterns effectively. Then we quantitatively evaluate the effectiveness of applying design patterns to the redesigning. The C&K metrics suite is used for the evaluation. We collect C&K metrics values for two versions of the decision tree learning system. One is a prototype version designed without using design patterns while the other is redesigned using design patterns. We conduct the Mann-Whitny U-test, one of the nonparametric statistics for testing hypotheses about whether two sample values differ. As a result, we find significant differences between the C&K metrics values of the two versions. Finally we discuss the applicability of the C&K metrics to criterion for evaluation of the flexibility and extensibility of software.
我们描述了一个使用设计模式重新设计现有软件的案例研究。虽然设计模式在面向对象软件设计中得到了广泛的应用,但设计模式的无序应用往往会使设计变得更加复杂或降低性能。在案例研究中,我们介绍了一种基于热点的方法来有效地应用设计模式。然后定量评价了设计模式应用于再设计的有效性。C&K度量套件用于评估。我们收集了决策树学习系统的两个版本的C&K度量值。一个是在没有使用设计模式的情况下设计的原型版本,另一个是使用设计模式重新设计的。我们进行了mann - whitney u检验,这是一种非参数统计,用于检验两个样本值是否不同的假设。因此,我们发现两个版本的C&K度量值之间存在显著差异。最后讨论了C&K指标在软件灵活性和可扩展性评价标准中的适用性。
{"title":"Redesigning of an existing software using design patterns","authors":"G. Masuda, N. Sakamoto, K. Ushijima","doi":"10.1109/ISPSE.2000.913234","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913234","url":null,"abstract":"We describe a case study on redesigning of existing software using design patterns. Although design patterns have spread widely in object-oriented software design, the disordered application of them often makes the design more complicated or worsens performance. In the case study, we introduce a hot-spot based approach to apply design patterns effectively. Then we quantitatively evaluate the effectiveness of applying design patterns to the redesigning. The C&K metrics suite is used for the evaluation. We collect C&K metrics values for two versions of the decision tree learning system. One is a prototype version designed without using design patterns while the other is redesigned using design patterns. We conduct the Mann-Whitny U-test, one of the nonparametric statistics for testing hypotheses about whether two sample values differ. As a result, we find significant differences between the C&K metrics values of the two versions. Finally we discuss the applicability of the C&K metrics to criterion for evaluation of the flexibility and extensibility of software.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125594227","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
Formal approach for handling software evolution in component-based software developments 在基于组件的软件开发中处理软件演进的正式方法
Pub Date : 2000-11-01 DOI: 10.1109/ISPSE.2000.913247
S. Ida, K. Futatsugi
Analyses software evolution in component-based software developments. We adopt two aspects (functional and non-functional aspects) to characterize software evolution. These two aspects construct a 2D evolution space which can be nicely handled by component-based algebraic specification (CBAS). CBAS is based on the algebraic specification technique (a kind of formal specification) combined with the idea of behavioural specification. We discuss several typical examples to show how each evolution step can be explained by using formal specification techniques.
分析基于组件的软件开发中的软件演化。我们采用两个方面(功能方面和非功能方面)来描述软件的演化。这两个方面构成了一个二维演化空间,可以很好地由基于组件的代数规范(CBAS)处理。CBAS是基于代数规范技术(一种形式规范)与行为规范思想相结合的产物。我们将讨论几个典型的示例,以展示如何使用形式化规范技术来解释每个演进步骤。
{"title":"Formal approach for handling software evolution in component-based software developments","authors":"S. Ida, K. Futatsugi","doi":"10.1109/ISPSE.2000.913247","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913247","url":null,"abstract":"Analyses software evolution in component-based software developments. We adopt two aspects (functional and non-functional aspects) to characterize software evolution. These two aspects construct a 2D evolution space which can be nicely handled by component-based algebraic specification (CBAS). CBAS is based on the algebraic specification technique (a kind of formal specification) combined with the idea of behavioural specification. We discuss several typical examples to show how each evolution step can be explained by using formal specification techniques.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"347 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125805686","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Specifying runtime environments and functionalities of downloadable components under the sandbox model 在沙箱模型下指定可下载组件的运行时环境和功能
Pub Date : 2000-11-01 DOI: 10.1109/ISPSE.2000.913231
H. Kaiya, K. Kaijiri
We propose a specification of both runtime environments and software components which can be loaded not only from your local system but also from the other systems over the computer network. Because components from the other system are not always reliable or safe enough to act freely in your own system, you should limit their activities to a certain context. Such assumption is based on the sandbox security model. As such components are largely influenced by the runtime environments, users sometimes lose sight of the abilities and limitations of such components. Therefore, they fail to reuse the components in the right way. We provide a way to specify such properties, so that component users can precisely understand the abilities and limitations.
我们提出了运行时环境和软件组件的规范,这些组件不仅可以从您的本地系统加载,也可以从计算机网络上的其他系统加载。由于来自其他系统的组件并不总是足够可靠或安全,无法在您自己的系统中自由运行,因此您应该将它们的活动限制在特定的上下文中。这种假设是基于沙盒安全模型的。由于这些组件在很大程度上受运行时环境的影响,因此用户有时会忽略这些组件的功能和限制。因此,它们无法以正确的方式重用组件。我们提供了一种指定这些属性的方法,以便组件用户可以准确地理解功能和限制。
{"title":"Specifying runtime environments and functionalities of downloadable components under the sandbox model","authors":"H. Kaiya, K. Kaijiri","doi":"10.1109/ISPSE.2000.913231","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913231","url":null,"abstract":"We propose a specification of both runtime environments and software components which can be loaded not only from your local system but also from the other systems over the computer network. Because components from the other system are not always reliable or safe enough to act freely in your own system, you should limit their activities to a certain context. Such assumption is based on the sandbox security model. As such components are largely influenced by the runtime environments, users sometimes lose sight of the abilities and limitations of such components. Therefore, they fail to reuse the components in the right way. We provide a way to specify such properties, so that component users can precisely understand the abilities and limitations.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129929693","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
RoleEP: role based evolutionary programming for cooperative mobile agent applications 基于角色的协同移动代理应用进化规划
Pub Date : 1900-01-01 DOI: 10.1109/ISPSE.2000.913244
Naoyasu Ubayashi, T. Tamai
Using mobile agent systems, cooperative distributed applications that run over the Internet can be constructed flexibly. However, there are some problems: it is difficult to understand collaborations among the agents as a whole, and it is difficult to define the behaviors of agents because they are dynamically influenced by their external context. So, in general, constructions of cooperative distributed applications based on mobile agent systems are considered as very hard and difficult works. In this paper, the concept of RoleEP (Role-based Evolutionary Programming) is proposed in order to alleviate these problems. RoleEP provides a systematic evolutionary programming style. In RoleEP, a field where a group of agents collaborate with each other is regarded as an environment, and a function that an agent assumes in an environment is defined as a role. Descriptions only concerning the collaborations among agents can be abstracted by environments. An object becomes an agent by binding itself with a role that is defined in an environment, and it then acquires the functions needed for collaborating with other agents that exist in the same environment. Distributed applications based on mobile agent systems, which may change their functions dynamically in order to adapt themselves to their external context, can be constructed by synthesizing environments dynamically.
利用移动代理系统,可以灵活地构建运行在Internet上的协作式分布式应用程序。然而,也存在一些问题:难以从整体上理解智能体之间的协作,由于智能体受其外部环境的动态影响,难以定义智能体的行为。因此,基于移动代理系统的协作式分布式应用的构建被认为是一项非常困难的工作。为了解决这些问题,本文提出了基于角色的进化规划(RoleEP)的概念。RoleEP提供了一种系统的进化编程风格。在RoleEP中,一组代理相互协作的领域被视为环境,代理在环境中承担的功能被定义为角色。仅涉及代理之间协作的描述可以通过环境抽象出来。对象通过将自身与环境中定义的角色绑定而成为代理,然后它获得与同一环境中存在的其他代理协作所需的功能。基于移动代理系统的分布式应用程序可以通过动态合成环境来构建,这些应用程序可以动态地改变其功能以适应其外部环境。
{"title":"RoleEP: role based evolutionary programming for cooperative mobile agent applications","authors":"Naoyasu Ubayashi, T. Tamai","doi":"10.1109/ISPSE.2000.913244","DOIUrl":"https://doi.org/10.1109/ISPSE.2000.913244","url":null,"abstract":"Using mobile agent systems, cooperative distributed applications that run over the Internet can be constructed flexibly. However, there are some problems: it is difficult to understand collaborations among the agents as a whole, and it is difficult to define the behaviors of agents because they are dynamically influenced by their external context. So, in general, constructions of cooperative distributed applications based on mobile agent systems are considered as very hard and difficult works. In this paper, the concept of RoleEP (Role-based Evolutionary Programming) is proposed in order to alleviate these problems. RoleEP provides a systematic evolutionary programming style. In RoleEP, a field where a group of agents collaborate with each other is regarded as an environment, and a function that an agent assumes in an environment is defined as a role. Descriptions only concerning the collaborations among agents can be abstracted by environments. An object becomes an agent by binding itself with a role that is defined in an environment, and it then acquires the functions needed for collaborating with other agents that exist in the same environment. Distributed applications based on mobile agent systems, which may change their functions dynamically in order to adapt themselves to their external context, can be constructed by synthesizing environments dynamically.","PeriodicalId":170375,"journal":{"name":"Proceedings International Symposium on Principles of Software Evolution","volume":"210 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115724106","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 36
期刊
Proceedings International Symposium on Principles of Software Evolution
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1