首页 > 最新文献

2015 12th Working IEEE/IFIP Conference on Software Architecture最新文献

英文 中文
A Study on Architectural Decision-Making in Context 语境下的建筑决策研究
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.27
Iris Groher, R. Weinreich
Design decisions are made throughout the design process of a new software system or the evolution of an existing system. The context in which a system is developed influences these decisions themselves and the way they are made. There are only a few empirical studies regarding architectural decision-making or concerning how the decision-making process is executed. In this paper, we report an analysis of expert interviews regarding architectural decision-making to gain insight into how decision-making is organized in different organizational contexts. We base our analysis on interviews conducted in a previous study, where we talked to 25 software architects, team leads, and senior developers from 22 different companies in ten different countries about architectural decision-making and documentation. In this paper, we specifically analyze the interview transcripts with regard to the decision-making process. We identified eight different categories of main factors influencing how, when, and by whom decisions are made. We also present decision-making scenarios and relate them to the discovered influence factors. Results show that, apart from organizational factors, individual factors and cultural factors seem to have about the same influence as business and project factors. Company size and domain do not influence the decision-making process as much as one might expect.
设计决策是在新软件系统或现有系统的整个设计过程中做出的。系统所处的环境会影响这些决策本身以及决策的制定方式。只有少数关于架构决策或决策过程如何执行的实证研究。在本文中,我们报告了关于架构决策的专家访谈的分析,以深入了解决策是如何在不同的组织环境中组织的。我们的分析基于之前的研究中进行的访谈,在那里我们与来自10个不同国家22家不同公司的25名软件架构师、团队领导和高级开发人员讨论了架构决策和文档。在本文中,我们具体分析了关于决策过程的访谈记录。我们确定了八种不同类别的主要因素,影响决策的方式、时间和由谁做出。我们还提出了决策情景,并将其与发现的影响因素联系起来。结果表明,除组织因素外,个人因素和文化因素似乎与业务和项目因素具有相同的影响。公司规模和领域对决策过程的影响并不像人们想象的那么大。
{"title":"A Study on Architectural Decision-Making in Context","authors":"Iris Groher, R. Weinreich","doi":"10.1109/WICSA.2015.27","DOIUrl":"https://doi.org/10.1109/WICSA.2015.27","url":null,"abstract":"Design decisions are made throughout the design process of a new software system or the evolution of an existing system. The context in which a system is developed influences these decisions themselves and the way they are made. There are only a few empirical studies regarding architectural decision-making or concerning how the decision-making process is executed. In this paper, we report an analysis of expert interviews regarding architectural decision-making to gain insight into how decision-making is organized in different organizational contexts. We base our analysis on interviews conducted in a previous study, where we talked to 25 software architects, team leads, and senior developers from 22 different companies in ten different countries about architectural decision-making and documentation. In this paper, we specifically analyze the interview transcripts with regard to the decision-making process. We identified eight different categories of main factors influencing how, when, and by whom decisions are made. We also present decision-making scenarios and relate them to the discovered influence factors. Results show that, apart from organizational factors, individual factors and cultural factors seem to have about the same influence as business and project factors. Company size and domain do not influence the decision-making process as much as one might expect.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117143932","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}
引用次数: 13
Architectural Technical Debt Identification Based on Architecture Decisions and Change Scenarios 基于架构决策和变更场景的架构技术债务识别
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.19
Zengyang Li, Peng Liang, P. Avgeriou
Architectural technical debt (ATD) is incurred by design decisions that intentionally or unintentionally compromise system-wide quality attributes, particularly maintainability and evolvability. ATD is harmful to the system's long-term health, thus it needs to be identified for further management. However, existing ATD identification approaches are mainly based on source code analysis and thus suffer from certain shortcomings: they can only identify issues at the system implementation, they can only be employed after the systems is implemented in code, they lack a mechanism to confirm whether the potential ATD identified is real ATD or not. To address these issues, we proposed an ATD identification approach based on architecture decisions and change scenarios. To evaluate the effectiveness and usability of this approach, we conducted a case study with an information system in a large telecommunications company. The results show that the proposed approach is useful and easy to use, and it supports release planning and ATD interest measurement.
架构技术债务(ATD)是由有意或无意地损害系统范围质量属性(特别是可维护性和可发展性)的设计决策引起的。ATD对系统的长期健康是有害的,因此需要识别并进一步管理。然而,现有的ATD识别方法主要基于源代码分析,存在一定的缺点:只能在系统实现时识别问题,只能在系统代码实现后使用,缺乏一种机制来确认识别出的潜在ATD是否为真正的ATD。为了解决这些问题,我们提出了一种基于体系结构决策和变更场景的ATD识别方法。为了评估这种方法的有效性和可用性,我们对一家大型电信公司的信息系统进行了案例研究。结果表明,该方法具有实用性和易用性,支持发布计划和ATD兴趣度量。
{"title":"Architectural Technical Debt Identification Based on Architecture Decisions and Change Scenarios","authors":"Zengyang Li, Peng Liang, P. Avgeriou","doi":"10.1109/WICSA.2015.19","DOIUrl":"https://doi.org/10.1109/WICSA.2015.19","url":null,"abstract":"Architectural technical debt (ATD) is incurred by design decisions that intentionally or unintentionally compromise system-wide quality attributes, particularly maintainability and evolvability. ATD is harmful to the system's long-term health, thus it needs to be identified for further management. However, existing ATD identification approaches are mainly based on source code analysis and thus suffer from certain shortcomings: they can only identify issues at the system implementation, they can only be employed after the systems is implemented in code, they lack a mechanism to confirm whether the potential ATD identified is real ATD or not. To address these issues, we proposed an ATD identification approach based on architecture decisions and change scenarios. To evaluate the effectiveness and usability of this approach, we conducted a case study with an information system in a large telecommunications company. The results show that the proposed approach is useful and easy to use, and it supports release planning and ATD interest measurement.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124912078","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}
引用次数: 53
Hotspot Patterns: The Formal Definition and Automatic Detection of Architecture Smells 热点模式:建筑气味的形式化定义与自动检测
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.12
Ran Mo, Yuanfang Cai, R. Kazman, Lu Xiao
In this paper, we propose and empirically validate a suite of hotspot patterns: recurring architecture problems that occur in most complex systems and incur high maintenance costs. In particular, we introduce two novel hotspot patterns, Unstable Interface and Implicit Cross-module Dependency. These patterns are defined based on Baldwin and Clark's design rule theory, and detected by the combination of history and architecture information. Through our tool-supported evaluations, we show that these patterns not only identify the most error-prone and change-prone files, they also pinpoint specific architecture problems that may be the root causes of bug-proneness and change-proneness. Significantly, we show that 1) these structure-history integrated patterns contribute more to error- and change-proneness than other hotspot patterns, and 2) the more hotspot patterns a file is involved in, the more error- and change-prone it is. Finally, we report on an industrial case study to demonstrate the practicality of these hotspot patterns. The architect and developers confirmed that our hotspot detector discovered the majority of the architecture problems causing maintenance pain, and they have started to improve the system's maintainability by refactoring and fixing the identified architecture issues.
在本文中,我们提出并实证地验证了一套热点模式:在大多数复杂系统中出现的反复出现的体系结构问题,并导致高维护成本。我们特别介绍了两个新的热点模式:不稳定接口和隐式跨模块依赖。这些模式是基于Baldwin和Clark的设计规则理论定义的,并通过结合历史和建筑信息来检测。通过我们的工具支持的评估,我们展示了这些模式不仅确定了最容易出错和最容易更改的文件,而且还指出了可能是导致容易出错和容易更改的根本原因的特定体系结构问题。值得注意的是,我们表明:1)这些结构历史集成模式比其他热点模式更容易导致错误和更改;2)一个文件涉及的热点模式越多,它就越容易出现错误和更改。最后,我们通过一个工业案例研究来证明这些热点模式的实用性。架构师和开发人员确认,我们的热点检测器发现了大多数导致维护痛苦的架构问题,他们已经开始通过重构和修复已确定的架构问题来提高系统的可维护性。
{"title":"Hotspot Patterns: The Formal Definition and Automatic Detection of Architecture Smells","authors":"Ran Mo, Yuanfang Cai, R. Kazman, Lu Xiao","doi":"10.1109/WICSA.2015.12","DOIUrl":"https://doi.org/10.1109/WICSA.2015.12","url":null,"abstract":"In this paper, we propose and empirically validate a suite of hotspot patterns: recurring architecture problems that occur in most complex systems and incur high maintenance costs. In particular, we introduce two novel hotspot patterns, Unstable Interface and Implicit Cross-module Dependency. These patterns are defined based on Baldwin and Clark's design rule theory, and detected by the combination of history and architecture information. Through our tool-supported evaluations, we show that these patterns not only identify the most error-prone and change-prone files, they also pinpoint specific architecture problems that may be the root causes of bug-proneness and change-proneness. Significantly, we show that 1) these structure-history integrated patterns contribute more to error- and change-proneness than other hotspot patterns, and 2) the more hotspot patterns a file is involved in, the more error- and change-prone it is. Finally, we report on an industrial case study to demonstrate the practicality of these hotspot patterns. The architect and developers confirmed that our hotspot detector discovered the majority of the architecture problems causing maintenance pain, and they have started to improve the system's maintainability by refactoring and fixing the identified architecture issues.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116349604","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}
引用次数: 121
Supporting Dynamic Software Architectures: From Architectural Description to Implementation 支持动态软件架构:从架构描述到实现
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.21
Everton Cavalcante, T. Batista, F. Oquendo
Dynamic software architectures are those that describe how components and connectors can be created, interconnected, and/or removed during system execution. Most existing architecture description languages (ADLs) provide a limited support to expressively describe these architectures and entail architectural mismatches and inconsistencies between architecture and implementation due to their decoupling from implementation. In this paper, we introduce the dynamic reconfiguration support provided by π-ADL, a formal, well-founded theoretically language for describing dynamic software architectures under structural and behavioral viewpoints. π-ADL provides architectural-level primitives for specifying programmed dynamic reconfigurations, i.e., Foreseen changes described at design time and triggered at runtime. In addition, π-ADL allows enacting dynamic reconfiguration by means of: (i) an exogenous approach, in which it is possible to control all elements of the software architectures and to apply the changes on the whole structure, and (ii) an endogenous approach, in which the architectural elements can manage dynamic reconfiguration actions. Furthermore, π-ADL is integrated with the Go programming language, thus enabling to automatically generate implementation code from architectural descriptions, thus tackling the existing gap between them. We hereby use a real-world flood monitoring system as an illustrative example of how to describe dynamic software architectures in π-ADL and automatically generate source code in Go.
动态软件体系结构描述了如何在系统执行期间创建、互连和/或删除组件和连接器。大多数现有的体系结构描述语言(adl)对表达性地描述这些体系结构提供了有限的支持,并且由于它们与实现分离,导致体系结构不匹配和体系结构与实现之间的不一致。本文介绍了π-ADL提供的动态重构支持,π-ADL是一种从结构和行为的角度描述动态软件体系结构的形式化的、有良好理论基础的语言。π-ADL提供了用于指定可编程动态重新配置的体系结构级原语,即在设计时描述并在运行时触发的可预见的更改。此外,π-ADL允许通过以下方式实现动态重新配置:(i)外生方法,在这种方法中,可以控制软件架构的所有元素并将更改应用于整个结构;(ii)内源性方法,在这种方法中,架构元素可以管理动态重新配置操作。此外,π-ADL与Go编程语言集成,可以根据体系结构描述自动生成实现代码,从而解决了两者之间存在的差距。本文以一个实际的洪水监测系统为例,说明如何在π-ADL中描述动态软件架构,并在Go语言中自动生成源代码。
{"title":"Supporting Dynamic Software Architectures: From Architectural Description to Implementation","authors":"Everton Cavalcante, T. Batista, F. Oquendo","doi":"10.1109/WICSA.2015.21","DOIUrl":"https://doi.org/10.1109/WICSA.2015.21","url":null,"abstract":"Dynamic software architectures are those that describe how components and connectors can be created, interconnected, and/or removed during system execution. Most existing architecture description languages (ADLs) provide a limited support to expressively describe these architectures and entail architectural mismatches and inconsistencies between architecture and implementation due to their decoupling from implementation. In this paper, we introduce the dynamic reconfiguration support provided by π-ADL, a formal, well-founded theoretically language for describing dynamic software architectures under structural and behavioral viewpoints. π-ADL provides architectural-level primitives for specifying programmed dynamic reconfigurations, i.e., Foreseen changes described at design time and triggered at runtime. In addition, π-ADL allows enacting dynamic reconfiguration by means of: (i) an exogenous approach, in which it is possible to control all elements of the software architectures and to apply the changes on the whole structure, and (ii) an endogenous approach, in which the architectural elements can manage dynamic reconfiguration actions. Furthermore, π-ADL is integrated with the Go programming language, thus enabling to automatically generate implementation code from architectural descriptions, thus tackling the existing gap between them. We hereby use a real-world flood monitoring system as an illustrative example of how to describe dynamic software architectures in π-ADL and automatically generate source code in Go.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114840880","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}
引用次数: 34
When Software Architecture Leads to Social Debt 当软件架构导致社会债务时
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.16
D. Tamburri, E. D. Nitto
Social and technical debt both represent the state of software development organizations as a result of accumulated decisions. In the case of social debt, decisions (and connected debt) weigh on people and their socio-technical interactions/characteristics. Digging deeper into social debt with an industrial case-study, we found that software architecture, the prince of development artefacts, plays a major role in causing social debt. This paper discusses a key circumstance wherefore social debt is connected to software architectures and what can be done and measured in response, as observed in our case-study. Also, we introduce DAHLIA, that is "Debt-Aimed Architecture-Level Incommunicability Analysis" - a framework to elicit some of the causes behind social debt for further analysis.
社会债务和技术债务都代表了软件开发组织作为累积决策的结果的状态。在社会债务的情况下,决策(和相关债务)对人和他们的社会技术互动/特征有影响。通过一个工业案例研究深入挖掘社会债务,我们发现软件架构,开发工件的王子,在造成社会债务方面起着主要作用。本文讨论了社会债务与软件架构相关的一个关键情况,以及在我们的案例研究中所观察到的响应中可以做什么和测量什么。此外,我们还介绍了DAHLIA,即“以债务为目标的架构级不可通用性分析”——这是一个框架,用于引出社会债务背后的一些原因,以便进一步分析。
{"title":"When Software Architecture Leads to Social Debt","authors":"D. Tamburri, E. D. Nitto","doi":"10.1109/WICSA.2015.16","DOIUrl":"https://doi.org/10.1109/WICSA.2015.16","url":null,"abstract":"Social and technical debt both represent the state of software development organizations as a result of accumulated decisions. In the case of social debt, decisions (and connected debt) weigh on people and their socio-technical interactions/characteristics. Digging deeper into social debt with an industrial case-study, we found that software architecture, the prince of development artefacts, plays a major role in causing social debt. This paper discusses a key circumstance wherefore social debt is connected to software architectures and what can be done and measured in response, as observed in our case-study. Also, we introduce DAHLIA, that is \"Debt-Aimed Architecture-Level Incommunicability Analysis\" - a framework to elicit some of the causes behind social debt for further analysis.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130546672","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}
引用次数: 23
Architectural Decision Guidance Across Projects - Problem Space Modeling, Decision Backlog Management and Cloud Computing Knowledge 跨项目的架构决策指导-问题空间建模,决策积压管理和云计算知识
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.29
O. Zimmermann, Lukas Wegmann, H. Koziolek, Thomas Goldschmidt
Architectural Knowledge Management (AKM) has been a major topic in software architecture research since 2004. Open AKM problems include an effective, seamless transition from reusable knowledge found in patterns books and technology blogs to project-specific decision guidance and an efficient, practical approach to knowledge application and maintenance. We extended our previous work with concepts for problem space modeling, focusing on reusable knowledge, as well as solution space management, focusing on project-level decisions. We implemented these concepts in ADMentor, an extension of Sparx Enterprise Architect. AD Mentor features rapid problem space modeling, UML model linkage, question-option-criteria diagram support, meta-information for model tailoring, as well as decision backlog management. We validated ADMentor by modeling and applying 85 cloud application design decisions and 75 workflow management decisions, creating one problem and three sample solution spaces covering control system architectures, and obtaining user feedback on tool and model content.
自2004年以来,架构知识管理(AKM)一直是软件架构研究的一个主要话题。开放的AKM问题包括从模式书籍和技术博客中找到的可重用知识到特定于项目的决策指导的有效、无缝的转换,以及知识应用和维护的有效、实用的方法。我们用问题空间建模的概念扩展了之前的工作,重点关注可重用知识,以及解决方案空间管理,重点关注项目级决策。我们在ADMentor (Sparx Enterprise Architect的扩展)中实现了这些概念。AD Mentor的特点是快速的问题空间建模、UML模型链接、问题-选项-标准图支持、模型裁剪的元信息,以及决策积压管理。我们通过建模和应用85个云应用设计决策和75个工作流管理决策来验证ADMentor,创建了一个问题和三个涵盖控制系统架构的示例解决方案空间,并获得了用户对工具和模型内容的反馈。
{"title":"Architectural Decision Guidance Across Projects - Problem Space Modeling, Decision Backlog Management and Cloud Computing Knowledge","authors":"O. Zimmermann, Lukas Wegmann, H. Koziolek, Thomas Goldschmidt","doi":"10.1109/WICSA.2015.29","DOIUrl":"https://doi.org/10.1109/WICSA.2015.29","url":null,"abstract":"Architectural Knowledge Management (AKM) has been a major topic in software architecture research since 2004. Open AKM problems include an effective, seamless transition from reusable knowledge found in patterns books and technology blogs to project-specific decision guidance and an efficient, practical approach to knowledge application and maintenance. We extended our previous work with concepts for problem space modeling, focusing on reusable knowledge, as well as solution space management, focusing on project-level decisions. We implemented these concepts in ADMentor, an extension of Sparx Enterprise Architect. AD Mentor features rapid problem space modeling, UML model linkage, question-option-criteria diagram support, meta-information for model tailoring, as well as decision backlog management. We validated ADMentor by modeling and applying 85 cloud application design decisions and 75 workflow management decisions, creating one problem and three sample solution spaces covering control system architectures, and obtaining user feedback on tool and model content.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"344 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122324919","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}
引用次数: 38
Architecture Knowledge for Evaluating Scalable Databases 评估可扩展数据库的架构知识
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.26
I. Gorton, John Klein, A. Nurgaliev
Designing massively scalable, highly available big data systems is an immense challenge for software architects. Big data applications require distributed systems design principles to create scalable solutions, and the selection and adoption of open source and commercial technologies that can provide the required quality attributes. In big data systems, the data management layer presents unique engineering problems, arising from the proliferation of new data models and distributed technologies for building scalable, available data stores. Architects must consequently compare candidate database technology features and select platforms that can satisfy application quality and cost requirements. In practice, the inevitable absence of up-to-date, reliable technology evaluation sources makes this comparison exercise a highly exploratory, unstructured task. To address these problems, we have created a detailed feature taxonomy that enables rigorous comparison and evaluation of distributed database platforms. The taxonomy captures the major architectural characteristics of distributed databases, including data model and query capabilities. In this paper we present the major elements of the feature taxonomy, and demonstrate its utility by populating the taxonomy for nine different database technologies. We also briefly describe QuABaseBD, a knowledge base that we have built to support the population and querying of database features by software architects. QuABaseBD links the taxonomy to general quality attribute scenarios and design tactics for big data systems. This creates a unique, dynamic knowledge resource for architects building big data systems.
设计大规模可伸缩、高可用的大数据系统对软件架构师来说是一个巨大的挑战。大数据应用需要分布式系统设计原则来创建可扩展的解决方案,并选择和采用可以提供所需质量属性的开源和商业技术。在大数据系统中,数据管理层呈现出独特的工程问题,这些问题来自于用于构建可扩展的可用数据存储的新数据模型和分布式技术的激增。因此,架构师必须比较候选数据库技术特性,并选择能够满足应用程序质量和成本需求的平台。在实践中,不可避免地缺乏最新的、可靠的技术评估来源,这使得这种比较练习成为一种高度探索性的、非结构化的任务。为了解决这些问题,我们创建了一个详细的特性分类法,可以对分布式数据库平台进行严格的比较和评估。分类法捕获分布式数据库的主要体系结构特征,包括数据模型和查询功能。在本文中,我们介绍了特征分类法的主要元素,并通过为九种不同的数据库技术填充特征分类法来演示其实用性。我们还简要介绍了QuABaseBD,这是我们为支持软件架构师填充和查询数据库特性而构建的知识库。QuABaseBD将分类法与大数据系统的一般质量属性场景和设计策略联系起来。这为构建大数据系统的架构师创造了一个独特的、动态的知识资源。
{"title":"Architecture Knowledge for Evaluating Scalable Databases","authors":"I. Gorton, John Klein, A. Nurgaliev","doi":"10.1109/WICSA.2015.26","DOIUrl":"https://doi.org/10.1109/WICSA.2015.26","url":null,"abstract":"Designing massively scalable, highly available big data systems is an immense challenge for software architects. Big data applications require distributed systems design principles to create scalable solutions, and the selection and adoption of open source and commercial technologies that can provide the required quality attributes. In big data systems, the data management layer presents unique engineering problems, arising from the proliferation of new data models and distributed technologies for building scalable, available data stores. Architects must consequently compare candidate database technology features and select platforms that can satisfy application quality and cost requirements. In practice, the inevitable absence of up-to-date, reliable technology evaluation sources makes this comparison exercise a highly exploratory, unstructured task. To address these problems, we have created a detailed feature taxonomy that enables rigorous comparison and evaluation of distributed database platforms. The taxonomy captures the major architectural characteristics of distributed databases, including data model and query capabilities. In this paper we present the major elements of the feature taxonomy, and demonstrate its utility by populating the taxonomy for nine different database technologies. We also briefly describe QuABaseBD, a knowledge base that we have built to support the population and querying of database features by software architects. QuABaseBD links the taxonomy to general quality attribute scenarios and design tactics for big data systems. This creates a unique, dynamic knowledge resource for architects building big data systems.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133352462","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}
引用次数: 24
Exploring Software Architecture Context 探索软件架构背景
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.22
K. Harper, Jiang Zheng
Architecture description can be modeled as a set of alternative choices and decisions, where the rationale and tradeoffs for each decision are documented and understood as needed to inform subsequent decisions. Each decision, based on ISO/IEC/IEEE 42010, pertains to one or more stakeholder concerns. These concerns combined with the system environment and scenarios provide architecture design context that clarifies the motivation for decisions. Subsequent authors have introduced the notion of an influencing decision force, using a many-to-many relationship with concern, to provide further context for decisions. For both concerns and forces it is left to the architect to identify the nature of this context. This paper proposes a systematic process for identifying and documenting design context in support of architectural decisions. For our work decision force is used as a central unifying aspect of the architecture framework metamodel. We extend the decision Forces Viewpoint to capture detailed design context descriptions, and add features for tagging the architecture description elements to facilitate identification of commonality, classification, and specialization. Initial feedback from industry stakeholders indicates this approach should be explored further.
体系结构描述可以建模为一组可选的选择和决策,其中每个决策的基本原理和权衡都被记录下来,并根据需要被理解,以便为后续决策提供信息。基于ISO/IEC/IEEE 42010的每个决策都涉及一个或多个利益相关者的关注点。这些关注点与系统环境和场景相结合,提供了澄清决策动机的体系结构设计上下文。随后的作者引入了影响决策力的概念,使用多对多关系与关注,为决策提供进一步的背景。对于关注点和力量来说,确定上下文的性质是留给架构师的。本文提出了一个系统的过程,用于识别和记录支持架构决策的设计上下文。对于我们的工作,决策力被用作架构框架元模型的中心统一方面。我们扩展决策力视点,以捕获详细的设计上下文描述,并添加标记体系结构描述元素的特性,以促进对共性、分类和专门化的识别。来自行业利益相关者的初步反馈表明,应该进一步探索这种方法。
{"title":"Exploring Software Architecture Context","authors":"K. Harper, Jiang Zheng","doi":"10.1109/WICSA.2015.22","DOIUrl":"https://doi.org/10.1109/WICSA.2015.22","url":null,"abstract":"Architecture description can be modeled as a set of alternative choices and decisions, where the rationale and tradeoffs for each decision are documented and understood as needed to inform subsequent decisions. Each decision, based on ISO/IEC/IEEE 42010, pertains to one or more stakeholder concerns. These concerns combined with the system environment and scenarios provide architecture design context that clarifies the motivation for decisions. Subsequent authors have introduced the notion of an influencing decision force, using a many-to-many relationship with concern, to provide further context for decisions. For both concerns and forces it is left to the architect to identify the nature of this context. This paper proposes a systematic process for identifying and documenting design context in support of architectural decisions. For our work decision force is used as a central unifying aspect of the architecture framework metamodel. We extend the decision Forces Viewpoint to capture detailed design context descriptions, and add features for tagging the architecture description elements to facilitate identification of commonality, classification, and specialization. Initial feedback from industry stakeholders indicates this approach should be explored further.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116662690","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
Architecting in the Automotive Domain: Descriptive vs Prescriptive Architecture
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.18
Ulf Eliasson, Rogardt Heldal, Patrizio Pelliccione, Jonn Lantz
To investigate the new requirements and challenges of architecting often safety critical software in the automotive domain, we have performed two case studies on Volvo Car Group and Volvo Group Truck Technology. Our findings suggest that automotive software architects produce two different architectures (or views) of the same system. The first one is a high-level descriptive architecture, mainly documenting system design decisions and describing principles and guidelines that should govern the overall system. The second architecture is the working architecture, defining the actual blueprint for the implementation teams and being used in their daily work. The working architecture is characterized by high complexity and considerably lower readability than the high-level architecture. Unfortunately, the team responsible for the high-level architecture tends to get isolated from the rest of the development organization, with few communications except regarding the working architecture. This creates tensions within the organizations, sub-optimal design of the communication matrix and limited usage of the high-level architecture in the development teams. To adapt to the current pace of software development and rapidly growing software systems new ways of working are required, both on technical and on an organizational level.
为了研究在汽车领域构建安全关键软件的新需求和挑战,我们对沃尔沃汽车集团和沃尔沃集团卡车技术公司进行了两个案例研究。我们的发现表明,汽车软件架构师为同一个系统生成了两种不同的架构(或视图)。第一个是高层次的描述性体系结构,主要记录系统设计决策并描述应该管理整个系统的原则和指导方针。第二个体系结构是工作体系结构,为实现团队定义了实际的蓝图,并在他们的日常工作中使用。与高级体系结构相比,工作体系结构具有高复杂性和低可读性的特点。不幸的是,负责高级体系结构的团队往往与开发组织的其余部分隔离开来,除了关于工作体系结构的沟通很少。这在组织内部造成了紧张,沟通矩阵的次优设计,以及开发团队中高级架构的有限使用。为了适应当前软件开发的步伐和快速增长的软件系统,需要在技术和组织层面上采用新的工作方式。
{"title":"Architecting in the Automotive Domain: Descriptive vs Prescriptive Architecture","authors":"Ulf Eliasson, Rogardt Heldal, Patrizio Pelliccione, Jonn Lantz","doi":"10.1109/WICSA.2015.18","DOIUrl":"https://doi.org/10.1109/WICSA.2015.18","url":null,"abstract":"To investigate the new requirements and challenges of architecting often safety critical software in the automotive domain, we have performed two case studies on Volvo Car Group and Volvo Group Truck Technology. Our findings suggest that automotive software architects produce two different architectures (or views) of the same system. The first one is a high-level descriptive architecture, mainly documenting system design decisions and describing principles and guidelines that should govern the overall system. The second architecture is the working architecture, defining the actual blueprint for the implementation teams and being used in their daily work. The working architecture is characterized by high complexity and considerably lower readability than the high-level architecture. Unfortunately, the team responsible for the high-level architecture tends to get isolated from the rest of the development organization, with few communications except regarding the working architecture. This creates tensions within the organizations, sub-optimal design of the communication matrix and limited usage of the high-level architecture in the development teams. To adapt to the current pace of software development and rapidly growing software systems new ways of working are required, both on technical and on an organizational level.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125133104","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}
引用次数: 30
Enriching Architecture Knowledge with Technology Design Decisions 用技术设计决策丰富建筑知识
Pub Date : 2015-05-04 DOI: 10.1109/WICSA.2015.14
Mohamed Soliman, Matthias Riebisch, Uwe Zdun
Decision-making is at the core of software architecture design. However, in order for the architect to take the right design decisions, assistance is required for exploring the architectural knowledge, which encompasses the various architectural solutions, their relationships and distinctions. In the past decades, the number of available technology options has increased significantly, while existing architecture knowledge approaches support technology decisions by representing relations between the different technology solutions, as well as design problems. However, they do not differentiate the candidate technologies according to their offered qualities and drawbacks. Our main goal in this exploratory study is to understand how technology solutions are being considered by the architects during the design process, and how can we enhance existing architecture knowledge concepts to support technology decision making. Our contribution in this paper is differentiating the different technology solutions' features based on a set of architecturally significant aspects, to facilitate considering technologies during the architecture design decisions. In addition, we proposed an extension for existing architecture knowledge models, which characterise the technology design decisions, and their reasoning. We evaluated our results through real examples from practitioners. Moreover, we conducted interviews with experts to validate our proposed concepts.
决策是软件架构设计的核心。然而,为了让建筑师做出正确的设计决策,需要帮助他们探索建筑知识,包括各种建筑解决方案、它们之间的关系和区别。在过去的几十年里,可用技术选项的数量显著增加,而现有的体系结构知识方法通过表示不同技术解决方案之间的关系以及设计问题来支持技术决策。然而,他们并没有根据候选技术提供的质量和缺点来区分它们。在这项探索性研究中,我们的主要目标是了解架构师在设计过程中如何考虑技术解决方案,以及我们如何增强现有的架构知识概念来支持技术决策。我们在本文中的贡献是基于一组体系结构上重要的方面来区分不同的技术解决方案的特性,以促进在体系结构设计决策期间考虑技术。此外,我们提出了对现有体系结构知识模型的扩展,这些模型描述了技术设计决策及其推理。我们通过从业者的真实例子来评估我们的结果。此外,我们还与专家进行了访谈,以验证我们提出的概念。
{"title":"Enriching Architecture Knowledge with Technology Design Decisions","authors":"Mohamed Soliman, Matthias Riebisch, Uwe Zdun","doi":"10.1109/WICSA.2015.14","DOIUrl":"https://doi.org/10.1109/WICSA.2015.14","url":null,"abstract":"Decision-making is at the core of software architecture design. However, in order for the architect to take the right design decisions, assistance is required for exploring the architectural knowledge, which encompasses the various architectural solutions, their relationships and distinctions. In the past decades, the number of available technology options has increased significantly, while existing architecture knowledge approaches support technology decisions by representing relations between the different technology solutions, as well as design problems. However, they do not differentiate the candidate technologies according to their offered qualities and drawbacks. Our main goal in this exploratory study is to understand how technology solutions are being considered by the architects during the design process, and how can we enhance existing architecture knowledge concepts to support technology decision making. Our contribution in this paper is differentiating the different technology solutions' features based on a set of architecturally significant aspects, to facilitate considering technologies during the architecture design decisions. In addition, we proposed an extension for existing architecture knowledge models, which characterise the technology design decisions, and their reasoning. We evaluated our results through real examples from practitioners. Moreover, we conducted interviews with experts to validate our proposed concepts.","PeriodicalId":414931,"journal":{"name":"2015 12th Working IEEE/IFIP Conference on Software Architecture","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134400426","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}
引用次数: 22
期刊
2015 12th Working IEEE/IFIP Conference on Software Architecture
全部 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