调整我们对软件适应性的看法:一个架构的视角(主题演讲)

N. Medvidović
{"title":"调整我们对软件适应性的看法:一个架构的视角(主题演讲)","authors":"N. Medvidović","doi":"10.1145/2593929.2593949","DOIUrl":null,"url":null,"abstract":"Engineers frequently neglect to carefully consider the impact of adaptation on a software system. As a result, the software system's architectural design sooner, rather than later, begins to deviate from the original designers' intent and to decay through unplanned introduction of new and/or invalidation of existing design decisions. For systems that are intended to be (self-)adaptive, this problem can be even more pronounced. A solution that was proposed over a decade ago was to keep the architectures of (self-)adaptive systems in sync with their implementations through carefully engineered implementation frameworks, and to allow implementation-level adaptations only via carefully controlled architecture-level operations. However, many approaches to (self-)adaptive software do not explicitly consider the system's architecture as the starting point for adaptation and, more generally, developers change systems in seemingly arbitrary ways all the time. This begs the question: What is the impact of system changes on a system's architecture in a general case? This keynote talk presents the results of an on-going study that has tried to shed light on this question. To date, the study has involved around 30 open-source systems and, in several cases, large numbers of versions of a given system. The keynote discusses and illustrates the challenges in extracting the architecture of a system from its implementation artifacts, the concrete problems posed by architectural decay, the difficulties of tracking the architectural impact of implementation-level changes, and the occasional arbitrariness with which the adaptation of real, widely-used software systems is approached. The keynote then identifies several promising research opportunities that present themselves for dealing with these problems in (self-)adaptive systems.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Adapting our view of software adaptation: an architectural perspective (keynote)\",\"authors\":\"N. Medvidović\",\"doi\":\"10.1145/2593929.2593949\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Engineers frequently neglect to carefully consider the impact of adaptation on a software system. As a result, the software system's architectural design sooner, rather than later, begins to deviate from the original designers' intent and to decay through unplanned introduction of new and/or invalidation of existing design decisions. For systems that are intended to be (self-)adaptive, this problem can be even more pronounced. A solution that was proposed over a decade ago was to keep the architectures of (self-)adaptive systems in sync with their implementations through carefully engineered implementation frameworks, and to allow implementation-level adaptations only via carefully controlled architecture-level operations. However, many approaches to (self-)adaptive software do not explicitly consider the system's architecture as the starting point for adaptation and, more generally, developers change systems in seemingly arbitrary ways all the time. This begs the question: What is the impact of system changes on a system's architecture in a general case? This keynote talk presents the results of an on-going study that has tried to shed light on this question. To date, the study has involved around 30 open-source systems and, in several cases, large numbers of versions of a given system. The keynote discusses and illustrates the challenges in extracting the architecture of a system from its implementation artifacts, the concrete problems posed by architectural decay, the difficulties of tracking the architectural impact of implementation-level changes, and the occasional arbitrariness with which the adaptation of real, widely-used software systems is approached. The keynote then identifies several promising research opportunities that present themselves for dealing with these problems in (self-)adaptive systems.\",\"PeriodicalId\":168314,\"journal\":{\"name\":\"International Symposium on Software Engineering for Adaptive and Self-Managing Systems\",\"volume\":\"10 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-06-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Symposium on Software Engineering for Adaptive and Self-Managing Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2593929.2593949\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2593929.2593949","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

工程师经常忽略仔细考虑软件系统的适应性影响。结果,软件系统的体系结构设计很快就会开始偏离最初设计者的意图,并通过计划外的新引入和/或现有设计决策的失效而衰退。对于打算(自)适应的系统,这个问题可能更加明显。十多年前提出的一个解决方案是,通过精心设计的实现框架,使(自)适应系统的体系结构与它们的实现保持同步,并且仅通过精心控制的体系结构级操作来允许实现级的适应。然而,许多(自)适应软件的方法并没有明确地将系统架构作为适应的起点,更普遍的是,开发人员总是以看似任意的方式更改系统。这就引出了一个问题:在一般情况下,系统更改对系统架构的影响是什么?本次主题演讲将介绍一项正在进行的研究的结果,该研究试图阐明这个问题。到目前为止,这项研究已经涉及了大约30个开源系统,在一些情况下,一个给定系统的大量版本。主题讨论并说明了从实现工件中提取系统体系结构的挑战、体系结构衰退带来的具体问题、跟踪实现级更改的体系结构影响的困难,以及接近真实的、广泛使用的软件系统的适应时的偶然性。然后,主题演讲确定了几个有前途的研究机会,这些机会为处理(自)适应系统中的这些问题提供了机会。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Adapting our view of software adaptation: an architectural perspective (keynote)
Engineers frequently neglect to carefully consider the impact of adaptation on a software system. As a result, the software system's architectural design sooner, rather than later, begins to deviate from the original designers' intent and to decay through unplanned introduction of new and/or invalidation of existing design decisions. For systems that are intended to be (self-)adaptive, this problem can be even more pronounced. A solution that was proposed over a decade ago was to keep the architectures of (self-)adaptive systems in sync with their implementations through carefully engineered implementation frameworks, and to allow implementation-level adaptations only via carefully controlled architecture-level operations. However, many approaches to (self-)adaptive software do not explicitly consider the system's architecture as the starting point for adaptation and, more generally, developers change systems in seemingly arbitrary ways all the time. This begs the question: What is the impact of system changes on a system's architecture in a general case? This keynote talk presents the results of an on-going study that has tried to shed light on this question. To date, the study has involved around 30 open-source systems and, in several cases, large numbers of versions of a given system. The keynote discusses and illustrates the challenges in extracting the architecture of a system from its implementation artifacts, the concrete problems posed by architectural decay, the difficulties of tracking the architectural impact of implementation-level changes, and the occasional arbitrariness with which the adaptation of real, widely-used software systems is approached. The keynote then identifies several promising research opportunities that present themselves for dealing with these problems in (self-)adaptive systems.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信