论文标题

探索自动创建和重新配置基于组件的软件系统的可行算法选项:计算复杂性方法(完整版)

Exploring Viable Algorithmic Options for Automatically Creating and Reconfiguring Component-based Software Systems: A Computational Complexity Approach (Full Version)

论文作者

Wareham, Todd, Sweers, Marieke

论文摘要

基于组件的开发(CBD)是减轻创建软件系统成本的流行方法。但是,尚不清楚可以在多大程度上实施CBD的核心组件选择和适应性活动以自动以有效且可靠的方式自动运行,或者在哪种情况下(如果有)CBD比其他软件开发方法更可取。在本文中,我们使用计算复杂性分析来确定和比较基于自动组件的软件系统创建和通过从头设计,组件选择以及与适应性的组件选择的计算特性。我们的结果表明,这些方法都无法实施以完全自动或相对于软件系统,系统需求,组件和组件适应的许多限制,以完全自动的方式有效地运行。我们还提供限制,所有这些方法都可以实施,以有效而可靠地运行。因此,本文说明了如何使用不同类型的计算复杂性分析(尤其是参数化的复杂性分析)来系统地探索用于在软件工程中实施自动活动的算法选项。

Component-Based Development (CBD) is a popular approach to mitigating the costs of creating software systems. However, it is not clear to what extent the core component selection and adaptation activities of CBD can be implemented to operate automatically in an efficient and reliable manner or in what situations (if any) CBD is preferable to other approaches to software development. In this paper, we use computational complexity analysis to determine and compare the computational characteristics of fully automatic component-based software system creation and reconfiguration by de novo design, component selection, and component selection with adaptation. Our results show that none of these approaches can be implemented to operate both efficiently and reliably in a fully automatic manner either in general or relative to a number of restrictions on software systems, system requirements, components, and component adaptation. We also give restrictions under which all of these approaches can be implemented to operate both efficiently and reliably. As such, this paper illustrates how different types of computational complexity analysis (in particular, parameterized complexity analysis) can be used to systematically explore the algorithmic options for implementing automatic activities in software engineering.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源