首页 > 最新文献

International ACM SIGSOFT Conference on Quality of Software Architectures最新文献

英文 中文
Architectural flexibility in a software-system's life-cycle: systematic construction and exploitation of flexibility 软件系统生命周期中的架构灵活性:系统的构建和灵活性的利用
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304701
Matthias Naab, J. Stammel
Software evolution is omnipresent and only with adequate flexibility it can be mastered in time and budget. Flexibility is supported by many architectural mechanisms, but more methodological support for a life-cycle-phases bridging approach of flexibility is still desirable. Therefore, in this paper we contribute a life-cycle-phases bridging approach for flexibility. Our approach supports architects during system design to achieve flexibility and during system evolution to exploit flexibility. We build on existing flexibility analysis techniques and extend them to give architects specific guidance and tool-support. For architecture design, we introduce an automated flexibility analysis with real-time feedback in architecture tools. For software evolution we provide a flexibility exploitation analysis which builds up on the results of the design time analysis and enables effective utilization of provided flexibility by deriving flexibility-aware work-plans. We demonstrate our approach by applying it to a checkin system, report first validation results from an empirical study and propose further validation activities.
软件进化是无所不在的,只有具有足够的灵活性,才能在时间和预算内掌握它。许多体系结构机制都支持灵活性,但是仍然需要对灵活性的生命周期阶段桥接方法提供更多的方法支持。因此,在本文中,我们为灵活性提供了一个生命周期阶段桥接方法。我们的方法支持架构师在系统设计期间实现灵活性,并在系统演化期间利用灵活性。我们以现有的灵活性分析技术为基础,并对其进行扩展,从而为架构师提供特定的指导和工具支持。对于架构设计,我们在架构工具中引入了具有实时反馈的自动化灵活性分析。对于软件进化,我们提供了一种基于设计时分析结果的灵活性开发分析,并通过派生具有灵活性意识的工作计划来有效地利用所提供的灵活性。我们通过将其应用于签入系统来演示我们的方法,报告来自实证研究的第一个验证结果,并提出进一步的验证活动。
{"title":"Architectural flexibility in a software-system's life-cycle: systematic construction and exploitation of flexibility","authors":"Matthias Naab, J. Stammel","doi":"10.1145/2304696.2304701","DOIUrl":"https://doi.org/10.1145/2304696.2304701","url":null,"abstract":"Software evolution is omnipresent and only with adequate flexibility it can be mastered in time and budget. Flexibility is supported by many architectural mechanisms, but more methodological support for a life-cycle-phases bridging approach of flexibility is still desirable. Therefore, in this paper we contribute a life-cycle-phases bridging approach for flexibility. Our approach supports architects during system design to achieve flexibility and during system evolution to exploit flexibility. We build on existing flexibility analysis techniques and extend them to give architects specific guidance and tool-support. For architecture design, we introduce an automated flexibility analysis with real-time feedback in architecture tools. For software evolution we provide a flexibility exploitation analysis which builds up on the results of the design time analysis and enables effective utilization of provided flexibility by deriving flexibility-aware work-plans. We demonstrate our approach by applying it to a checkin system, report first validation results from an empirical study and propose further validation activities.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129735348","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
Optimizing the energy consumption of large-scale applications 优化大规模应用的能耗
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304718
M. Marzolla
The energy consumption of large IT infrastructures is becoming a major concern, since it represents one of the principal operation costs. While modern devices (e.g., processors, disks) have the capability of reducing their power consumption by running at lower speed, this feature must be used with care, as slowing down devices may increase the execution time of the applications beyond acceptable limits. In this paper we propose the qoS AWare energY managER (SAWYER), a framework for dynamically reducing the energy requirement of large-scale applications subject to response time constraints. SAWYER identifies the optimal performance/power consumption tradeoff such that the overall energy requirement is minimized and the application response time is kept below a pre-defined maximum value. This is achieved using a control loop based on a greedy optimization strategy which uses a Queueing Network performance model to quickly evaluate different power settings, ensuring that the expected system response time is kept below the threshold. SAWYER is completely transparent and does not require any modification of the application itself.
大型IT基础设施的能源消耗正在成为一个主要问题,因为它代表了主要的操作成本之一。虽然现代设备(例如处理器、磁盘)能够通过以较低的速度运行来降低功耗,但必须谨慎使用此特性,因为减慢速度的设备可能会使应用程序的执行时间增加到超出可接受范围的程度。本文提出了qoS AWare energY managER (SAWYER)框架,用于动态降低受响应时间限制的大规模应用的能量需求。SAWYER识别最佳的性能/功耗权衡,使总体能源需求最小化,应用程序响应时间保持在预定义的最大值以下。这是通过基于贪婪优化策略的控制回路实现的,该策略使用排队网络性能模型快速评估不同的电源设置,确保预期的系统响应时间保持在阈值以下。SAWYER是完全透明的,不需要对应用程序本身进行任何修改。
{"title":"Optimizing the energy consumption of large-scale applications","authors":"M. Marzolla","doi":"10.1145/2304696.2304718","DOIUrl":"https://doi.org/10.1145/2304696.2304718","url":null,"abstract":"The energy consumption of large IT infrastructures is becoming a major concern, since it represents one of the principal operation costs. While modern devices (e.g., processors, disks) have the capability of reducing their power consumption by running at lower speed, this feature must be used with care, as slowing down devices may increase the execution time of the applications beyond acceptable limits. In this paper we propose the qoS AWare energY managER (SAWYER), a framework for dynamically reducing the energy requirement of large-scale applications subject to response time constraints. SAWYER identifies the optimal performance/power consumption tradeoff such that the overall energy requirement is minimized and the application response time is kept below a pre-defined maximum value. This is achieved using a control loop based on a greedy optimization strategy which uses a Queueing Network performance model to quickly evaluate different power settings, ensuring that the expected system response time is kept below the threshold. SAWYER is completely transparent and does not require any modification of the application itself.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"137 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133177554","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}
引用次数: 3
A virtual deployment testing environment for enterprise software systems 企业软件系统的虚拟部署测试环境
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304714
Jian Yu, Jun Han, Jean-Guy Schneider, Cameron M. Hine, Steven Versteeg
Modern enterprise software systems often need to interact with a large number of heterogeneous systems in an enterprise IT environment. The distributedness, large-scale-ness, and heterogeneity of such environment makes it difficult to test a system's quality attributes such as performance and scalability before it is actually deployed in the environment. In this paper, we present a Coloured Petri nets (CPN) based system behaviour emulation approach and a lightweight virtual testing framework for provisioning the deployment testing environment of an enterprise system so that its quality attributes, especially scalability, can be evaluated without physically connecting to the real production environment. This testing environment is scalable and has a flexible pluggable architecture to support the emulation of the behaviour of heterogeneous systems in the environment. To validate the feasibility of this approach, a CPN emulation model for LDAP has been developed and applied in testing the scalability of a real-life identity management system. An in-lab performance study has been conducted to demonstrate the effectiveness of this approach.
现代企业软件系统经常需要与企业IT环境中的大量异构系统进行交互。这种环境的分布性、大规模性和异构性使得在实际部署到环境中之前很难测试系统的质量属性,例如性能和可伸缩性。在本文中,我们提出了一种基于彩色Petri网(CPN)的系统行为仿真方法和一个轻量级的虚拟测试框架,用于提供企业系统的部署测试环境,以便可以在不物理连接到实际生产环境的情况下评估其质量属性,特别是可扩展性。该测试环境是可伸缩的,并且具有灵活的可插拔架构,以支持模拟环境中异构系统的行为。为了验证这种方法的可行性,开发了一个LDAP的CPN仿真模型,并将其应用于测试实际身份管理系统的可伸缩性。已经进行了一项实验室性能研究来证明这种方法的有效性。
{"title":"A virtual deployment testing environment for enterprise software systems","authors":"Jian Yu, Jun Han, Jean-Guy Schneider, Cameron M. Hine, Steven Versteeg","doi":"10.1145/2304696.2304714","DOIUrl":"https://doi.org/10.1145/2304696.2304714","url":null,"abstract":"Modern enterprise software systems often need to interact with a large number of heterogeneous systems in an enterprise IT environment. The distributedness, large-scale-ness, and heterogeneity of such environment makes it difficult to test a system's quality attributes such as performance and scalability before it is actually deployed in the environment. In this paper, we present a Coloured Petri nets (CPN) based system behaviour emulation approach and a lightweight virtual testing framework for provisioning the deployment testing environment of an enterprise system so that its quality attributes, especially scalability, can be evaluated without physically connecting to the real production environment. This testing environment is scalable and has a flexible pluggable architecture to support the emulation of the behaviour of heterogeneous systems in the environment. To validate the feasibility of this approach, a CPN emulation model for LDAP has been developed and applied in testing the scalability of a real-life identity management system. An in-lab performance study has been conducted to demonstrate the effectiveness of this approach.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124292008","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}
引用次数: 8
Extraction of ownership object graphs from object-oriented code: an experience report 从面向对象代码中提取所有权对象图:一个经验报告
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304719
Marwan Abi-Antoun, Nariman Ammar, Zeyad Hailat
Despite receiving much research attention, the extraction of runtime architecture remains hard. One approach, SCHOLIA, relies on adding typecheckable annotations to the code, and uses static analysis to extract a global, hierarchical Ownership Object Graph (OOG). The OOG provides architectural abstraction by ownership hierarchy and by types, and can be abstracted into a run-time architecture represented in an architectural description language, for documentation or conformance analysis. We report on our experience in analyzing a medium-sized object-oriented system undergoing maintenance to: (1) extract an OOG; and (2) refine the OOG based on the maintainers' feedback. We evaluate the effectiveness of abstraction by ownership hierarchy and by types to extract an OOG that the system maintainers understand. We measure the extraction effort to be about 1~hour/KLOC. An evaluation with the lead maintainer confirms that he understands abstraction by ownership hierarchy and by types. Finally, we illustrate how to incrementally refine an extracted OOG (without starting all over) to better match the maintainer's mental model.
尽管得到了很多研究的关注,但运行时架构的提取仍然很困难。其中一种方法是SCHOLIA,它依赖于向代码中添加可类型检查的注释,并使用静态分析来提取全局的、分层的所有权对象图(OOG)。OOG通过所有权层次和类型提供了体系结构抽象,并且可以抽象为用体系结构描述语言表示的运行时体系结构,用于文档编制或一致性分析。我们报告了我们在分析一个正在维护的中型面向对象系统方面的经验:(1)提取OOG;(2)根据维护人员的反馈对OOG进行细化。我们通过所有权层次和类型来评估抽象的有效性,以提取系统维护者理解的OOG。我们测量的萃取时间约为1~小时/KLOC。与主要维护者的评估确认他理解通过所有权层次和类型进行的抽象。最后,我们将说明如何增量地改进提取的OOG(无需从头开始),以更好地匹配维护人员的心智模型。
{"title":"Extraction of ownership object graphs from object-oriented code: an experience report","authors":"Marwan Abi-Antoun, Nariman Ammar, Zeyad Hailat","doi":"10.1145/2304696.2304719","DOIUrl":"https://doi.org/10.1145/2304696.2304719","url":null,"abstract":"Despite receiving much research attention, the extraction of runtime architecture remains hard. One approach, SCHOLIA, relies on adding typecheckable annotations to the code, and uses static analysis to extract a global, hierarchical Ownership Object Graph (OOG). The OOG provides architectural abstraction by ownership hierarchy and by types, and can be abstracted into a run-time architecture represented in an architectural description language, for documentation or conformance analysis.\u0000 We report on our experience in analyzing a medium-sized object-oriented system undergoing maintenance to: (1) extract an OOG; and (2) refine the OOG based on the maintainers' feedback.\u0000 We evaluate the effectiveness of abstraction by ownership hierarchy and by types to extract an OOG that the system maintainers understand. We measure the extraction effort to be about 1~hour/KLOC. An evaluation with the lead maintainer confirms that he understands abstraction by ownership hierarchy and by types. Finally, we illustrate how to incrementally refine an extracted OOG (without starting all over) to better match the maintainer's mental model.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"321 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133836831","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}
引用次数: 12
Characterizing real-time reflexion-based architecture recovery: an in-vivo multi-case study 表征基于实时反射的架构恢复:一项体内多案例研究
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304702
Nour Ali, Jacek Rosik, J. Buckley
Architecting software systems is an integral part of the software development lifecycle. However, often the implementation of the resultant software ends up diverging from the designed architecture due to factors such as time pressures on the development team during implementation/evolution, or the lack of architectural awareness on the part of (possibly new) programmers. In such circumstances, the quality requirements addressed by the as-designed architecture are likely to be unaddressed by the as-implemented system. This paper reports on in-vivo case studies of the ACTool, a tool which supports real-time Reflexion Modeling for architecture recovery and on-going consistency. It describes our experience conducting architectural recovery sessions on three deployed, commercial software systems in two companies with the tool, as a first step towards ongoing architecture consistency in these systems. Our findings provide the first in-depth characterization of real-time Reflexion-based architectural recovery in practice, highlighting the architectural recovery agendas at play, the modeling approaches employed, the mapping approaches employed and characterizing the inconsistencies encountered. Our findings also discuss the usefulness of the ACTool for these companies.
架构软件系统是软件开发生命周期的一个组成部分。然而,由于开发团队在实现/演进过程中的时间压力,或者部分(可能是新的)程序员缺乏体系结构意识等因素,最终软件的实现往往会偏离设计的体系结构。在这种情况下,由已设计的体系结构处理的质量需求很可能没有由已实现的系统处理。本文报告了ACTool的活体案例研究,ACTool是一个支持实时反射建模的工具,用于架构恢复和持续一致性。它描述了我们使用该工具在两个公司的三个已部署的商业软件系统上进行架构恢复会议的经验,作为在这些系统中实现持续架构一致性的第一步。我们的发现提供了实践中基于实时反射的架构恢复的第一个深入特征,突出了正在发挥作用的架构恢复议程、所采用的建模方法、所采用的映射方法以及所遇到的不一致的特征。我们的研究结果还讨论了ACTool对这些公司的有用性。
{"title":"Characterizing real-time reflexion-based architecture recovery: an in-vivo multi-case study","authors":"Nour Ali, Jacek Rosik, J. Buckley","doi":"10.1145/2304696.2304702","DOIUrl":"https://doi.org/10.1145/2304696.2304702","url":null,"abstract":"Architecting software systems is an integral part of the software development lifecycle. However, often the implementation of the resultant software ends up diverging from the designed architecture due to factors such as time pressures on the development team during implementation/evolution, or the lack of architectural awareness on the part of (possibly new) programmers. In such circumstances, the quality requirements addressed by the as-designed architecture are likely to be unaddressed by the as-implemented system.\u0000 This paper reports on in-vivo case studies of the ACTool, a tool which supports real-time Reflexion Modeling for architecture recovery and on-going consistency. It describes our experience conducting architectural recovery sessions on three deployed, commercial software systems in two companies with the tool, as a first step towards ongoing architecture consistency in these systems. Our findings provide the first in-depth characterization of real-time Reflexion-based architectural recovery in practice, highlighting the architectural recovery agendas at play, the modeling approaches employed, the mapping approaches employed and characterizing the inconsistencies encountered. Our findings also discuss the usefulness of the ACTool for these companies.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126750535","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}
引用次数: 19
Antipattern-based model refactoring for software performance improvement 用于软件性能改进的基于反模式的模型重构
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304704
Davide Arcelli, V. Cortellessa, Catia Trubiani
Identifying and removing the causes of poor performance in software systems are complex problems due to a variety of factors to take into account. Nowadays these problems are usually tackled after the software deployment only with human-based means, which frequently boil down to developer skills and previous experiences. Performance antipatterns can be used to cope with these problems since they capture typical design patterns that are known leading to performance problems, as well as refactoring actions that can be taken to remove them. The goal of this paper is to introduce an approach that allows the refactoring of architectural models, based on antipatterns, that aims at providing performance improvement. To this end, we use a Role-Based Modeling Language to represent: (i) antipattern problems as Source Role Models (SRMs), and (ii) antipattern solutions as Target Role Models (TRMs). Hence, SRM-TRM pairs represent new instruments in the hands of developers to achieve architectural model refactorings aimed at removing sources of performance problems. Model refactoring for antipattern removal can be in fact obtained by replacing an SRM with the corresponding TRM. This approach has been applied to a case study in the e-commerce domain, whose experimental results demonstrate its effectiveness.
识别和消除软件系统中性能差的原因是一个复杂的问题,因为需要考虑各种因素。如今,这些问题通常是在软件部署之后通过基于人的方法来解决的,这往往归结为开发人员的技能和以前的经验。性能反模式可用于处理这些问题,因为它们捕获了已知会导致性能问题的典型设计模式,以及可用于消除这些问题的重构操作。本文的目标是介绍一种方法,该方法允许基于反模式重构体系结构模型,旨在提供性能改进。为此,我们使用基于角色的建模语言来表示:(i)反模式问题作为源角色模型(srm), (ii)反模式解决方案作为目标角色模型(trm)。因此,SRM-TRM对代表了开发人员手中实现旨在消除性能问题来源的体系结构模型重构的新工具。实际上,可以通过用相应的TRM替换SRM来实现反模式移除的模型重构。将该方法应用于电子商务领域的一个案例研究,实验结果表明了该方法的有效性。
{"title":"Antipattern-based model refactoring for software performance improvement","authors":"Davide Arcelli, V. Cortellessa, Catia Trubiani","doi":"10.1145/2304696.2304704","DOIUrl":"https://doi.org/10.1145/2304696.2304704","url":null,"abstract":"Identifying and removing the causes of poor performance in software systems are complex problems due to a variety of factors to take into account. Nowadays these problems are usually tackled after the software deployment only with human-based means, which frequently boil down to developer skills and previous experiences. Performance antipatterns can be used to cope with these problems since they capture typical design patterns that are known leading to performance problems, as well as refactoring actions that can be taken to remove them.\u0000 The goal of this paper is to introduce an approach that allows the refactoring of architectural models, based on antipatterns, that aims at providing performance improvement. To this end, we use a Role-Based Modeling Language to represent: (i) antipattern problems as Source Role Models (SRMs), and (ii) antipattern solutions as Target Role Models (TRMs). Hence, SRM-TRM pairs represent new instruments in the hands of developers to achieve architectural model refactorings aimed at removing sources of performance problems. Model refactoring for antipattern removal can be in fact obtained by replacing an SRM with the corresponding TRM. This approach has been applied to a case study in the e-commerce domain, whose experimental results demonstrate its effectiveness.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117302765","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}
引用次数: 50
Performance-driven architectural refactoring through bidirectional model transformations 通过双向模型转换进行性能驱动的体系结构重构
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304707
Romina Eramo, V. Cortellessa, A. Pierantonio, Michele Tucci
The generation of performance models from architectural models has been tackled with well-founded approaches in the last decade, whereas there is a clear lack of automation in the backward path that brings the analysis results back to the software architecture. It is common to iteratively modify a (generated) performance model until performance indices meet the requirements. However, propagating the performance model modifications back to the original architectural model is a complex problem. In this paper we make a first step in this direction, in that we use the JTL language for specifying a bidirectional model transformation between UML models and Queueing Networks, so working towards an automated round-trip process between software architectural models and performance models.
在过去的十年中,从体系结构模型中生成性能模型的方法已经得到了很好的解决,然而,在将分析结果带回软件体系结构的逆向路径中,显然缺乏自动化。迭代地修改(生成的)性能模型直到性能指标满足需求是很常见的。然而,将性能模型修改传播回原始体系结构模型是一个复杂的问题。在本文中,我们在这个方向上迈出了第一步,因为我们使用JTL语言来指定UML模型和排队网络之间的双向模型转换,从而在软件体系结构模型和性能模型之间实现自动往返过程。
{"title":"Performance-driven architectural refactoring through bidirectional model transformations","authors":"Romina Eramo, V. Cortellessa, A. Pierantonio, Michele Tucci","doi":"10.1145/2304696.2304707","DOIUrl":"https://doi.org/10.1145/2304696.2304707","url":null,"abstract":"The generation of performance models from architectural models has been tackled with well-founded approaches in the last decade, whereas there is a clear lack of automation in the backward path that brings the analysis results back to the software architecture. It is common to iteratively modify a (generated) performance model until performance indices meet the requirements. However, propagating the performance model modifications back to the original architectural model is a complex problem. In this paper we make a first step in this direction, in that we use the JTL language for specifying a bidirectional model transformation between UML models and Queueing Networks, so working towards an automated round-trip process between software architectural models and performance models.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131834865","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}
引用次数: 15
DSL-based support for semi-automated architectural component model abstraction throughout the software lifecycle 在整个软件生命周期中,对半自动化架构组件模型抽象的基于dsl的支持
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304709
Thomas Haitzer, Uwe Zdun
In this paper we present an approach for supporting the semi-automated abstraction of architectural models throughout the software lifecycle. It addresses the problem that the design and the implementation of a software system often drift apart as software systems evolve, leading to architectural knowledge evaporation. Our approach provides concepts and tool support for the semi-automatic abstraction of architectural knowledge from implemented systems and keeping the abstracted architectural knowledge up-to-date. In particular, we propose architecture abstraction concepts that are supported through a domain-specific language (DSL). Our main focus is on providing architectural abstraction specifications in the DSL that only need to be changed, if the architecture changes, but can tolerate non-architectural changes in the underlying source code. The DSL and its tools support abstracting the source code into UML component models for describing the architecture. Once the software architect has defined an architectural abstraction in the DSL, we can automatically generate UML component models from the source code and check whether the architectural design constraints are fulfilled by the models. Our approach supports full traceability between source code elements and architectural abstractions, and allows software architects to compare different versions of the generated UML component model with each other. We evaluate our research results by studying the evolution of architectural abstractions in different consecutive versions and the execution times for five existing open source systems.
在本文中,我们提出了一种在整个软件生命周期中支持架构模型的半自动化抽象的方法。它解决的问题是,随着软件系统的发展,软件系统的设计和实现经常偏离,导致架构知识蒸发。我们的方法为从已实现系统中对架构知识的半自动抽象提供了概念和工具支持,并使抽象的架构知识保持最新状态。特别地,我们提出了通过领域特定语言(DSL)支持的体系结构抽象概念。我们的主要焦点是在DSL中提供体系结构抽象规范,这些规范只需要在体系结构更改时进行更改,但可以容忍底层源代码中的非体系结构更改。DSL及其工具支持将源代码抽象为用于描述体系结构的UML组件模型。一旦软件架构师在DSL中定义了体系结构抽象,我们就可以从源代码自动生成UML组件模型,并检查模型是否满足了体系结构设计约束。我们的方法支持源代码元素和架构抽象之间的完全可追溯性,并允许软件架构师相互比较生成的UML组件模型的不同版本。我们通过研究架构抽象在不同连续版本中的演变和五个现有开源系统的执行时间来评估我们的研究结果。
{"title":"DSL-based support for semi-automated architectural component model abstraction throughout the software lifecycle","authors":"Thomas Haitzer, Uwe Zdun","doi":"10.1145/2304696.2304709","DOIUrl":"https://doi.org/10.1145/2304696.2304709","url":null,"abstract":"In this paper we present an approach for supporting the semi-automated abstraction of architectural models throughout the software lifecycle. It addresses the problem that the design and the implementation of a software system often drift apart as software systems evolve, leading to architectural knowledge evaporation. Our approach provides concepts and tool support for the semi-automatic abstraction of architectural knowledge from implemented systems and keeping the abstracted architectural knowledge up-to-date. In particular, we propose architecture abstraction concepts that are supported through a domain-specific language (DSL). Our main focus is on providing architectural abstraction specifications in the DSL that only need to be changed, if the architecture changes, but can tolerate non-architectural changes in the underlying source code. The DSL and its tools support abstracting the source code into UML component models for describing the architecture. Once the software architect has defined an architectural abstraction in the DSL, we can automatically generate UML component models from the source code and check whether the architectural design constraints are fulfilled by the models. Our approach supports full traceability between source code elements and architectural abstractions, and allows software architects to compare different versions of the generated UML component model with each other. We evaluate our research results by studying the evolution of architectural abstractions in different consecutive versions and the execution times for five existing open source systems.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123955895","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}
引用次数: 18
NASA's advanced multimission operations system: a case study in software architecture evolution NASA先进的多任务操作系统:软件架构演变的案例研究
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304700
Jeffrey M. Barnes
Virtually all software systems of significant size and longevity eventually undergo changes to their basic architectural structure. Such changes may be prompted by new feature requests, new quality attribute requirements, changing technology, or other reasons. Whatever the cause, software architecture evolution is commonplace in real-world software projects. However, research in this area has suffered from problems of validation; previous work has tended to make heavy use of toy examples and hypothetical scenarios and has not been well supported by real-world examples. To help address this problem, this paper presents a case study of an ongoing effort at the Jet Propulsion Laboratory to rearchitect the Advanced Multimission Operations System used to operate NASA's deep-space and astrophysics missions. Based on examination of project documents and interviews with project personnel, I describe the goals and approach of this evolution effort, then demonstrate how approaches and formal methods from previous research in architecture evolution may be applied to this evolution while using languages and tools already in place at the Jet Propulsion Laboratory.
实际上,所有具有重要规模和寿命的软件系统最终都会对其基本架构结构进行更改。这些变更可能是由新的特性请求、新的质量属性需求、不断变化的技术或其他原因引起的。无论原因是什么,软件架构演变在现实世界的软件项目中是司空见惯的。然而,这一领域的研究一直受到验证问题的困扰;以前的工作倾向于大量使用玩具示例和假设场景,并且没有得到现实世界示例的很好支持。为了帮助解决这个问题,本文介绍了喷气推进实验室正在进行的一项工作的案例研究,该工作旨在重新构建用于运行NASA深空和天体物理任务的先进多任务操作系统。基于对项目文档的检查和对项目人员的采访,我描述了这一演进工作的目标和方法,然后演示了如何在使用Jet Propulsion实验室已经存在的语言和工具的同时,将以前架构演进研究中的方法和形式化方法应用于这一演进。
{"title":"NASA's advanced multimission operations system: a case study in software architecture evolution","authors":"Jeffrey M. Barnes","doi":"10.1145/2304696.2304700","DOIUrl":"https://doi.org/10.1145/2304696.2304700","url":null,"abstract":"Virtually all software systems of significant size and longevity eventually undergo changes to their basic architectural structure. Such changes may be prompted by new feature requests, new quality attribute requirements, changing technology, or other reasons. Whatever the cause, software architecture evolution is commonplace in real-world software projects. However, research in this area has suffered from problems of validation; previous work has tended to make heavy use of toy examples and hypothetical scenarios and has not been well supported by real-world examples. To help address this problem, this paper presents a case study of an ongoing effort at the Jet Propulsion Laboratory to rearchitect the Advanced Multimission Operations System used to operate NASA's deep-space and astrophysics missions. Based on examination of project documents and interviews with project personnel, I describe the goals and approach of this evolution effort, then demonstrate how approaches and formal methods from previous research in architecture evolution may be applied to this evolution while using languages and tools already in place at the Jet Propulsion Laboratory.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126842726","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}
引用次数: 8
Automotive ADLS: a study on enforcing consistency through multiple architectural levels 汽车ADLS:通过多个体系结构级别加强一致性的研究
Pub Date : 2012-06-25 DOI: 10.1145/2304696.2304710
Y. Dajsuren, M. Brand, Alexander Serebrenik, R. Huisman
Over the last decade, Architecture Description Languages (ADLs) are attracting considerable attention by automotive companies because they consider them as one of the key solutions to improve the quality of automotive electronic and software systems. Automotive ADLs like EAST-ADL, AADL, TADL, and AML are being defined to address not only the architectural description or the representation issues but also as a method to enable requirements traceability and early analysis of a system. Besides the automotive specific ADLs, SysML and MARTE are emerging as viable modeling approaches for automotive systems engineering domain as well. However, all these modeling approaches lack the capability of ensuring the architectural quality. This paper identifies an architectural inconsistency between the different architectural levels as one of the key issues regarding architectural quality of automotive systems and proposes a rule-based method to enforce consistency between these levels. Since there is no standard ADL for automotive systems, we first evaluated a set of modeling approaches based on the automotive specific modeling requirements and selected SysML mainly due to its flexibility, and mature and accessible tool support. We modeled a Cruise Control system to demonstrate modeling of an automotive system in SysML and to evaluate the method for the architectural consistency checking using SysML.
在过去的十年中,体系结构描述语言(adl)引起了汽车公司的极大关注,因为他们认为它们是提高汽车电子和软件系统质量的关键解决方案之一。像EAST-ADL、AADL、TADL和AML这样的自动adl正在被定义,不仅是为了解决体系结构描述或表示问题,而且还作为一种方法来支持需求可追溯性和系统的早期分析。除了汽车专用的adl之外,SysML和MARTE也正在成为汽车系统工程领域可行的建模方法。然而,所有这些建模方法都缺乏保证体系结构质量的能力。本文确定了不同体系结构级别之间的体系结构不一致性是影响汽车系统体系结构质量的关键问题之一,并提出了一种基于规则的方法来强制这些级别之间的一致性。由于汽车系统没有标准的ADL,我们首先根据汽车特定的建模需求评估了一组建模方法,并选择了SysML,主要是因为它的灵活性、成熟和可访问的工具支持。我们对巡航控制系统进行了建模,以演示在SysML中对汽车系统的建模,并评估使用SysML进行体系结构一致性检查的方法。
{"title":"Automotive ADLS: a study on enforcing consistency through multiple architectural levels","authors":"Y. Dajsuren, M. Brand, Alexander Serebrenik, R. Huisman","doi":"10.1145/2304696.2304710","DOIUrl":"https://doi.org/10.1145/2304696.2304710","url":null,"abstract":"Over the last decade, Architecture Description Languages (ADLs) are attracting considerable attention by automotive companies because they consider them as one of the key solutions to improve the quality of automotive electronic and software systems. Automotive ADLs like EAST-ADL, AADL, TADL, and AML are being defined to address not only the architectural description or the representation issues but also as a method to enable requirements traceability and early analysis of a system. Besides the automotive specific ADLs, SysML and MARTE are emerging as viable modeling approaches for automotive systems engineering domain as well. However, all these modeling approaches lack the capability of ensuring the architectural quality. This paper identifies an architectural inconsistency between the different architectural levels as one of the key issues regarding architectural quality of automotive systems and proposes a rule-based method to enforce consistency between these levels. Since there is no standard ADL for automotive systems, we first evaluated a set of modeling approaches based on the automotive specific modeling requirements and selected SysML mainly due to its flexibility, and mature and accessible tool support. We modeled a Cruise Control system to demonstrate modeling of an automotive system in SysML and to evaluate the method for the architectural consistency checking using SysML.","PeriodicalId":110790,"journal":{"name":"International ACM SIGSOFT Conference on Quality of Software Architectures","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131821165","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}
引用次数: 15
期刊
International ACM SIGSOFT Conference on Quality of Software Architectures
全部 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