首页> 外文期刊>Software and systems modeling >Extraction and evolution of architectural variability models in plugin-based systems
【24h】

Extraction and evolution of architectural variability models in plugin-based systems

机译:基于插件的系统中体系结构可变性模型的提取和演化

获取原文
获取原文并翻译 | 示例
       

摘要

Variability management is a key issue when building and evolving software-intensive systems, making it possible to extend, configure, customize and adapt such systems to customers' needs and specific deployment contexts. A wide form of variability can be found in extensible software systems, typically built on top of plugin-based architectures that offer a (large) number of configuration options through plugins. In an ideal world, a software architect should be able to generate a system variant on-demand, corresponding to a particular assembly of plugins. To this end, the variation points and constraints between architectural elements should be properly modeled and maintained over time (i.e., for each version of an architecture). A crucial, yet error-prone and time-consuming, task for a software architect is to build an accurate representation of the variability of an architec- ture, in order to prevent unsafe architectural variants and reach the highest possible level of flexibility. In this article, we propose a reverse engineering process for producing a variability model (i.e., a feature model) of a plugin-based architecture. We develop automated techniques to extract and combine different variability descriptions, including a hierarchical software architecture model, a plugin dependency model and the software architect knowledge. By computing and reasoning about differences between versions of architectural feature models, software architect can control both the variability extraction and evolution processes. The proposed approach has been applied to a representative, large-scale plugin-based system (FraSCAti), considering different versions of its architecture. We report on our experience in this context.
机译:在构建和发展软件密集型系统时,可变性管理是一个关键问题,它使得可以根据客户的需求和特定的部署上下文扩展,配置,定制和调整此类系统。广泛的可变性可以在可扩展的软件系统中找到,这些系统通常建立在基于插件的体系结构之上,该体系结构通过插件提供(大量)配置选项。在理想的情况下,软件架构师应该能够按需生成与插件的特定组装相对应的系统变体。为此,应适当地对架构元素之间的变化点和约束进行建模并随时间进行维护(即针对架构的每个版本)。对于软件架构师而言,一项至关重要的,但容易出错且耗时的任务是建立对架构可变性的准确表示,以防止出现不安全的架构变体并达到最高的灵活性水平。在本文中,我们提出了一种逆向工程流程,用于生成基于插件的体系结构的可变性模型(即功能模型)。我们开发了自动化技术来提取和组合不同的可变性描述,包括分层软件体系结构模型,插件依赖模型和软件架构师知识。通过计算和推理架构特征模型的版本之间的差异,软件架构师可以控制可变性提取和演化过程。考虑到其体系结构的不同版本,建议的方法已应用于具有代表性的大规模基于插件的系统(FraSCAti)。我们在此情况下报告我们的经验。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号