Method shells: controlling a scope of destructive class extensions by context switches

Wakana Takeshita
{"title":"Method shells: controlling a scope of destructive class extensions by context switches","authors":"Wakana Takeshita","doi":"10.1145/2457392.2457410","DOIUrl":null,"url":null,"abstract":"We propose Method Shells, which is a module system for switching a set of destructive class extensions at runtime. Destructive class extensions are getting popular and supported by a number of languages. By using destructive class extensions, you can add new methods to existing classes and redefine existing methods without rewriting the original source code by only writing differences in a separate file. For this reason, destructive class extensons are suitable for reusing an entire program, such as libraries. However, difference destructive class extensions redefining the same method in the same class may conflict. Our module system can switch sets of destructive class extensions activated and deactivated at runtime. Futhermore, we defined the formal semantics of our module system and proposed a way to impliment methodshells without runtime overheads.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"56 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Aspect-Oriented Software Development","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2457392.2457410","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

We propose Method Shells, which is a module system for switching a set of destructive class extensions at runtime. Destructive class extensions are getting popular and supported by a number of languages. By using destructive class extensions, you can add new methods to existing classes and redefine existing methods without rewriting the original source code by only writing differences in a separate file. For this reason, destructive class extensons are suitable for reusing an entire program, such as libraries. However, difference destructive class extensions redefining the same method in the same class may conflict. Our module system can switch sets of destructive class extensions activated and deactivated at runtime. Futhermore, we defined the formal semantics of our module system and proposed a way to impliment methodshells without runtime overheads.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
方法外壳:通过上下文切换控制破坏性类扩展的作用域
我们提出了方法外壳,它是一个模块系统,用于在运行时切换一组破坏性的类扩展。破坏性类扩展正变得越来越流行,并得到许多语言的支持。通过使用破坏性类扩展,您可以向现有类添加新方法并重新定义现有方法,而无需在单独的文件中编写差异来重写原始源代码。由于这个原因,破坏性类扩展适合于重用整个程序,比如库。但是,在同一类中重新定义相同方法的不同破坏性类扩展可能会发生冲突。我们的模块系统可以在运行时切换破坏性类扩展的激活和不激活。此外,我们定义了模块系统的形式化语义,并提出了一种没有运行时开销的实现方法壳的方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Modularity in the context of product line variability Model-driven adaptive delegation Reactive behavior in object-oriented applications: an analysis and a research roadmap On exceptions, events and observer chains Enhancing design models with composition properties: a software maintenance study
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1