首页 > 最新文献

2014 IEEE/IFIP Conference on Software Architecture最新文献

英文 中文
Deriving Component Interfaces after a Restructuring of a Legacy System 在遗留系统重构后派生组件接口
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.27
Abderrahmane Seriai, Salah Sadou, H. Sahraoui, Salma Hamza
Although there are contributions on component-oriented languages, components are mostly implemented using object-oriented (OO) languages. In this perspective, a component corresponds to a set of classes that work together to provide one or more services. Services are grouped together in interfaces that are each implemented by a class. Thus, dependencies between components are defined using the semantic of the enclosed classes, which is mostly structural. This makes it difficult to understand an architecture described with such links. Indeed, at an architectural level dependencies between components must represent functional aspects. This problem is worse, when the components are obtained by re-engineering of legacy OO systems. Indeed, in this case the obtained components are mainly based on the consistency of the grouping logic. So, in this paper we propose an approach to identify the interfaces of a component according to its interactions with the other components. To this end, we use formal concept analysis. The evaluation of the proposed approach via an empirical study showed that the identified interfaces overall correspond to the different functional aspects of the components.
尽管在面向组件的语言方面有一些贡献,但组件主要是使用面向对象(OO)语言实现的。从这个角度来看,组件对应于一组协同工作以提供一个或多个服务的类。服务在接口中分组在一起,每个接口由一个类实现。因此,组件之间的依赖关系是使用封闭类的语义定义的,这主要是结构化的。这使得很难理解用这种链接描述的体系结构。实际上,在体系结构级别上,组件之间的依赖关系必须表示功能方面。如果组件是通过重新设计遗留OO系统获得的,那么这个问题会更糟。实际上,在这种情况下,获得的组件主要基于分组逻辑的一致性。因此,在本文中,我们提出了一种根据组件与其他组件的交互来识别组件接口的方法。为此,我们采用形式概念分析。通过实证研究对该方法的评价表明,所识别的接口总体上对应于组件的不同功能方面。
{"title":"Deriving Component Interfaces after a Restructuring of a Legacy System","authors":"Abderrahmane Seriai, Salah Sadou, H. Sahraoui, Salma Hamza","doi":"10.1109/WICSA.2014.27","DOIUrl":"https://doi.org/10.1109/WICSA.2014.27","url":null,"abstract":"Although there are contributions on component-oriented languages, components are mostly implemented using object-oriented (OO) languages. In this perspective, a component corresponds to a set of classes that work together to provide one or more services. Services are grouped together in interfaces that are each implemented by a class. Thus, dependencies between components are defined using the semantic of the enclosed classes, which is mostly structural. This makes it difficult to understand an architecture described with such links. Indeed, at an architectural level dependencies between components must represent functional aspects. This problem is worse, when the components are obtained by re-engineering of legacy OO systems. Indeed, in this case the obtained components are mainly based on the consistency of the grouping logic. So, in this paper we propose an approach to identify the interfaces of a component according to its interactions with the other components. To this end, we use formal concept analysis. The evaluation of the proposed approach via an empirical study showed that the identified interfaces overall correspond to the different functional aspects of the components.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128676231","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
A Recoverability-Oriented Analysis for Operations on Cloud Applications 面向可恢复性的云应用操作分析
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.14
Min Fu, Liming Zhu, L. Bass, Xiwei Xu
Consumer-initiated sporadic operations on cloud applications, such as deployment, upgrade and reconfiguration, may fail because of the inherent uncertainty of operating in a cloud environment. For example, if a VM is not able to start, operations dependent on that VM will fail. In this paper we propose an approach for analyzing sporadic operations on cloud applications to facilitate recovery. We do this by first creating a process model of the sporadic cloud operation. The Process may not be suitable for recovery operations or the application's deployment architecture since an individual step may be at the wrong level of granularity or a failure may unnecessarily affect multiple steps. We then propose a set of process division criteria for revising an operation process to support recovery. This set of criteria contains four aspects: 1) Atomicity to support the imposition of transactions on portions of the process, 2) Idempotence to allow for re-execution of a failed portion, 3) Granularity to allow reuse of existing steps, 4) Recovery Actions Identifiable to allow proper recovery actions to be taken to recover from the errors occurring during the operation. We demonstrate the feasibility of imposing these criteria by using the rolling upgrade operation in Asgard - a popular cloud management tool for AWS EC2.
由于在云环境中操作的固有不确定性,消费者发起的对云应用程序的零星操作(如部署、升级和重新配置)可能会失败。例如,如果虚拟机无法启动,则依赖于该虚拟机的操作将失败。在本文中,我们提出了一种分析云应用程序上的零星操作以促进恢复的方法。为此,我们首先创建一个零星云操作的流程模型。流程可能不适合恢复操作或应用程序的部署架构,因为单个步骤可能处于错误的粒度级别,或者失败可能不必要地影响多个步骤。然后,我们提出一组流程划分标准,用于修改操作流程以支持恢复。这组标准包含四个方面:1)原子性(Atomicity),支持在流程的部分上强制执行事务;2)幂等性(idemency),允许重新执行失败的部分;3)粒度(Granularity),允许重用现有步骤;4)可识别的恢复操作(Recovery Actions Identifiable),允许采取适当的恢复操作,从操作期间发生的错误中恢复。我们通过使用Asgard(一种流行的AWS EC2云管理工具)中的滚动升级操作来演示实施这些标准的可行性。
{"title":"A Recoverability-Oriented Analysis for Operations on Cloud Applications","authors":"Min Fu, Liming Zhu, L. Bass, Xiwei Xu","doi":"10.1109/WICSA.2014.14","DOIUrl":"https://doi.org/10.1109/WICSA.2014.14","url":null,"abstract":"Consumer-initiated sporadic operations on cloud applications, such as deployment, upgrade and reconfiguration, may fail because of the inherent uncertainty of operating in a cloud environment. For example, if a VM is not able to start, operations dependent on that VM will fail. In this paper we propose an approach for analyzing sporadic operations on cloud applications to facilitate recovery. We do this by first creating a process model of the sporadic cloud operation. The Process may not be suitable for recovery operations or the application's deployment architecture since an individual step may be at the wrong level of granularity or a failure may unnecessarily affect multiple steps. We then propose a set of process division criteria for revising an operation process to support recovery. This set of criteria contains four aspects: 1) Atomicity to support the imposition of transactions on portions of the process, 2) Idempotence to allow for re-execution of a failed portion, 3) Granularity to allow reuse of existing steps, 4) Recovery Actions Identifiable to allow proper recovery actions to be taken to recover from the errors occurring during the operation. We demonstrate the feasibility of imposing these criteria by using the rolling upgrade operation in Asgard - a popular cloud management tool for AWS EC2.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123840851","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}
引用次数: 5
The Stream Software Connector Design Space: Frameworks and Languages for Distributed Stream Processing 流软件连接器设计空间:分布式流处理的框架和语言
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.42
Masiar Babazadeh, C. Pautasso
In recent years we witnessed the rise of applications in which data is continuously generated and pushed towards consumers in real time through complex processing pipelines. Software connectors like remote procedure call (RPC) do not fit with the needs of such applications, for which the publish/subscribe and the stream connectors are more suitable. This paper introduces the design space of the stream software connector by analyzing recent stream processing engine frameworks and domain specific languages featuring native streaming support. On the one side, we want to classify and compare streaming systems based on a taxonomy derived from the wide range of features they offer (i.e., pipeline dynamicity and representation, load balancing and deployment flexibility). On the other side, the gaps in the design space we identify point at future research directions in the area of distributed stream processing. To do so, we gather valuable architectural knowledge in terms of architectural issues and alternatives, elicited by surveying the most important architectural decisions made by the designers of several representative streaming framework architectures.
近年来,我们见证了数据不断生成并通过复杂的处理管道实时推送给消费者的应用程序的兴起。像远程过程调用(RPC)这样的软件连接器不适合此类应用程序的需求,发布/订阅和流连接器更适合此类应用程序。本文通过分析当前流处理引擎框架和具有本地流支持的特定领域语言,介绍了流软件连接器的设计空间。一方面,我们希望对流系统进行分类和比较,根据它们提供的广泛特性(例如,管道的动态性和表示、负载平衡和部署灵活性)进行分类。另一方面,我们确定的设计空间中的空白指向分布式流处理领域的未来研究方向。为此,我们从体系结构问题和替代方案方面收集了有价值的体系结构知识,这些知识是通过调查几个代表性流框架体系结构的设计者所做的最重要的体系结构决策得出的。
{"title":"The Stream Software Connector Design Space: Frameworks and Languages for Distributed Stream Processing","authors":"Masiar Babazadeh, C. Pautasso","doi":"10.1109/WICSA.2014.42","DOIUrl":"https://doi.org/10.1109/WICSA.2014.42","url":null,"abstract":"In recent years we witnessed the rise of applications in which data is continuously generated and pushed towards consumers in real time through complex processing pipelines. Software connectors like remote procedure call (RPC) do not fit with the needs of such applications, for which the publish/subscribe and the stream connectors are more suitable. This paper introduces the design space of the stream software connector by analyzing recent stream processing engine frameworks and domain specific languages featuring native streaming support. On the one side, we want to classify and compare streaming systems based on a taxonomy derived from the wide range of features they offer (i.e., pipeline dynamicity and representation, load balancing and deployment flexibility). On the other side, the gaps in the design space we identify point at future research directions in the area of distributed stream processing. To do so, we gather valuable architectural knowledge in terms of architectural issues and alternatives, elicited by surveying the most important architectural decisions made by the designers of several representative streaming framework architectures.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133411685","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}
引用次数: 10
Component-Aware Triggered Scenarios 组件感知触发场景
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.23
Ivo Krka, N. Medvidović
Use-case scenarios, with notations such as UML sequence diagrams, are widely used to specify software system behavior. Although intuitive, these notations allow engineers to specify behaviors with unintended semantic side-effects. To address these inconsistencies, one class of languages targets triggered scenario specifications for expressing a system's reactive behaviors. However, these languages lack adequate facilities for modeling the intended behavior of the individual system components. This runs the risks of sacrificing the expressive power required to model component behaviors, misinterpreting the stakeholder intent, and misspecifying the component behaviors. The risks are particularly prominent when the requirements specification and software architecture specification are refined iteratively and in parallel. To remedy these problems, we propose component-aware Triggered Scenarios (caTS), an enhancement to triggered scenario languages that allows an engineer to define components' obligations within a scenario. We have formalized the syntax and semantics of ccaTSats, and have applied cats on a real-world case study, which suggests improved accuracy and conciseness of caTS in comparison to existing alternatives.
用例场景,以及诸如UML序列图之类的符号,被广泛用于指定软件系统行为。尽管是直观的,但这些符号允许工程师指定具有意想不到的语义副作用的行为。为了解决这些不一致,有一类语言的目标是用于表达系统反应性行为的触发场景规范。然而,这些语言缺乏足够的工具来对单个系统组件的预期行为进行建模。这样做有牺牲组件行为建模所需的表达能力、误解涉众意图和错误指定组件行为的风险。当需求规格说明和软件架构规格说明被迭代地并行地细化时,风险尤其突出。为了解决这些问题,我们提出了组件感知触发场景(cat),这是对触发场景语言的增强,允许工程师在场景中定义组件的义务。我们已经形式化了ccaTSats的语法和语义,并将cats应用于一个现实世界的案例研究,这表明与现有的替代方法相比,cats的准确性和简明性得到了提高。
{"title":"Component-Aware Triggered Scenarios","authors":"Ivo Krka, N. Medvidović","doi":"10.1109/WICSA.2014.23","DOIUrl":"https://doi.org/10.1109/WICSA.2014.23","url":null,"abstract":"Use-case scenarios, with notations such as UML sequence diagrams, are widely used to specify software system behavior. Although intuitive, these notations allow engineers to specify behaviors with unintended semantic side-effects. To address these inconsistencies, one class of languages targets triggered scenario specifications for expressing a system's reactive behaviors. However, these languages lack adequate facilities for modeling the intended behavior of the individual system components. This runs the risks of sacrificing the expressive power required to model component behaviors, misinterpreting the stakeholder intent, and misspecifying the component behaviors. The risks are particularly prominent when the requirements specification and software architecture specification are refined iteratively and in parallel. To remedy these problems, we propose component-aware Triggered Scenarios (caTS), an enhancement to triggered scenario languages that allows an engineer to define components' obligations within a scenario. We have formalized the syntax and semantics of ccaTSats, and have applied cats on a real-world case study, which suggests improved accuracy and conciseness of caTS in comparison to existing alternatives.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133822540","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}
引用次数: 10
Systematic Architectural Decision Management, A Process-Based Approach 系统架构决策管理,基于过程的方法
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.39
Ana Dragomir, H. Lichter, Tiberiu Budau
The documentation of architecture and design decisions lies at the backbone of building a comprehensive architectural knowledge basis within a company. As a consequence, a plethora of supporting frameworks has been lately proposed by the research community. The existing frameworks focus on capturing the rationale that lies behind a certain decision, but less on sustaining the collaborative process that architects employ when making decisions. In this paper, we propose an innovative architectural decision making process that sustains the collaboration of architects, the timely notification of involved stakeholders, the inclusion of feedback cycles to improve the overall quality of the architecting process and a tag-based traceability system that leverages informal learning. The analysis of the current state of the practice in the industry has been conducted within various workshops and interviews with our industry cooperation partner - the software provider of one of the biggest insurance trusts worldwide. Based on these results, we have identified various improvement potentials that are still not addressed by existing research in the field.
体系结构和设计决策的文档是在公司内部构建全面体系结构知识基础的支柱。因此,研究团体最近提出了大量的支持框架。现有的框架专注于捕获某个决策背后的基本原理,但较少关注架构师在制定决策时使用的协作过程的维持。在本文中,我们提出了一种创新的体系结构决策过程,它可以维持架构师之间的协作,及时通知涉众,包含反馈周期以提高体系结构过程的整体质量,以及利用非正式学习的基于标签的可追溯性系统。对行业实践现状的分析是在与我们的行业合作伙伴(全球最大的保险信托公司之一的软件提供商)的各种研讨会和访谈中进行的。基于这些结果,我们已经确定了各种改进潜力,这些潜力仍未被该领域的现有研究所解决。
{"title":"Systematic Architectural Decision Management, A Process-Based Approach","authors":"Ana Dragomir, H. Lichter, Tiberiu Budau","doi":"10.1109/WICSA.2014.39","DOIUrl":"https://doi.org/10.1109/WICSA.2014.39","url":null,"abstract":"The documentation of architecture and design decisions lies at the backbone of building a comprehensive architectural knowledge basis within a company. As a consequence, a plethora of supporting frameworks has been lately proposed by the research community. The existing frameworks focus on capturing the rationale that lies behind a certain decision, but less on sustaining the collaborative process that architects employ when making decisions. In this paper, we propose an innovative architectural decision making process that sustains the collaboration of architects, the timely notification of involved stakeholders, the inclusion of feedback cycles to improve the overall quality of the architecting process and a tag-based traceability system that leverages informal learning. The analysis of the current state of the practice in the industry has been conducted within various workshops and interviews with our industry cooperation partner - the software provider of one of the biggest insurance trusts worldwide. Based on these results, we have identified various improvement potentials that are still not addressed by existing research in the field.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114875365","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}
引用次数: 4
Industrial Implementation of a Documentation Framework for Architectural Decisions 架构决策的文档框架的工业实现
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.32
Christian Manteuffel, Daniel Tofan, H. Koziolek, Thomas Goldschmidt, P. Avgeriou
Architecture decisions are often not explicitly documented in practice but reside in the architect's mind as tacit knowledge, even though explicit capturing and documentation of architecture decisions has been associated with a multitude of benefits. As part of a research collaboration with ABB, we developed a tool to document architecture decisions. This tool is an add-in for Enterprise Architect and is an implementation of a viewpoint-based decision documentation framework. To validate the add-in, we conducted an exploratory case study with ABB architects. In the study, we assessed the status quo of architecture decision documentation, identified architects' expectations of the ideal decision documentation tool, and evaluated the new add-in. We found that although awareness of decision documentation is increasing at ABB, several barriers exist that limit the use of decisions in practice. Regarding their ideal tool, architects want a descriptive and efficient approach. Supplemental features like reporting or decision sharing are requested. The new add-in, was well-perceived by the architects. As a result of the study, we propose a clearer separation of problem, outcomes, and alternatives for the decision documentation framework.
在实践中,体系结构决策通常没有明确的文档化,而是作为隐性知识存在于架构师的头脑中,即使体系结构决策的显式捕获和文档化与许多好处相关联。作为与ABB研究合作的一部分,我们开发了一个工具来记录架构决策。该工具是Enterprise Architect的外接程序,是基于视图的决策文档框架的实现。为了验证外接程序,我们与ABB架构师进行了一个探索性案例研究。在研究中,我们评估了体系结构决策文档的现状,确定了架构师对理想决策文档工具的期望,并评估了新的外接程序。我们发现,虽然对决策文件的认识在ABB正在增加,但存在一些障碍,限制了决策在实践中的使用。关于他们的理想工具,架构师想要一个描述性的和有效的方法。还需要诸如报告或决策共享之类的补充功能。建筑师很好地理解了这个新的附加组件。作为研究的结果,我们建议对决策文档框架的问题、结果和备选方案进行更清晰的分离。
{"title":"Industrial Implementation of a Documentation Framework for Architectural Decisions","authors":"Christian Manteuffel, Daniel Tofan, H. Koziolek, Thomas Goldschmidt, P. Avgeriou","doi":"10.1109/WICSA.2014.32","DOIUrl":"https://doi.org/10.1109/WICSA.2014.32","url":null,"abstract":"Architecture decisions are often not explicitly documented in practice but reside in the architect's mind as tacit knowledge, even though explicit capturing and documentation of architecture decisions has been associated with a multitude of benefits. As part of a research collaboration with ABB, we developed a tool to document architecture decisions. This tool is an add-in for Enterprise Architect and is an implementation of a viewpoint-based decision documentation framework. To validate the add-in, we conducted an exploratory case study with ABB architects. In the study, we assessed the status quo of architecture decision documentation, identified architects' expectations of the ideal decision documentation tool, and evaluated the new add-in. We found that although awareness of decision documentation is increasing at ABB, several barriers exist that limit the use of decisions in practice. Regarding their ideal tool, architects want a descriptive and efficient approach. Supplemental features like reporting or decision sharing are requested. The new add-in, was well-perceived by the architects. As a result of the study, we propose a clearer separation of problem, outcomes, and alternatives for the decision documentation framework.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126173933","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}
引用次数: 33
The Role of Platform Boundary Resources in Software Ecosystems: A Case Study 平台边界资源在软件生态系统中的作用:一个案例研究
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.41
V. Bianco, Varvana Myllärniemi, Marko Komssi, M. Raatikainen
The success of software ecosystems highly depends on the variety and quality of end-user applications. Therefore, attracting third-party developers and facilitating application development is crucial. Platform boundary resources enable third-party developers to create the applications. Thus, the platform boundary resources expose and extend the platform architecture. We conducted an industrial case study on third-party developer experience, particularly on the role of platform boundary resources in exposing the platform architecture and facilitating development. The studied ecosystem is centered on managing end-users' content across devices, the ecosystem was in its pre-commercial phase. The results identify the platform boundary resources in the case study and propose a model for classifying the resources. Further, designing the platform boundary resources is not only about opening up the platform architecture. Instead, the platform boundary resources need to account for a rich variety of applications, or at least not limit too much the creativity of third-party developers, while still aiming at the ease of development. We conclude that the platform boundary resources need to be created for the third-party developers, rather than from the platform architecture.
软件生态系统的成功高度依赖于终端用户应用程序的多样性和质量。因此,吸引第三方开发人员和促进应用程序开发是至关重要的。平台边界资源使第三方开发人员能够创建应用程序。因此,平台边界资源公开并扩展了平台架构。我们对第三方开发者的经验进行了行业案例研究,特别是平台边界资源在暴露平台架构和促进开发方面的作用。所研究的生态系统以跨设备管理最终用户的内容为中心,该生态系统处于预商业化阶段。结果识别了案例研究中的平台边界资源,并提出了资源分类模型。此外,设计平台边界资源不仅仅是开放平台架构。相反,平台边界资源需要考虑到各种各样的应用程序,或者至少不限制第三方开发人员的太多创造力,同时仍然以易于开发为目标。我们得出结论,平台边界资源需要为第三方开发者创建,而不是从平台架构中创建。
{"title":"The Role of Platform Boundary Resources in Software Ecosystems: A Case Study","authors":"V. Bianco, Varvana Myllärniemi, Marko Komssi, M. Raatikainen","doi":"10.1109/WICSA.2014.41","DOIUrl":"https://doi.org/10.1109/WICSA.2014.41","url":null,"abstract":"The success of software ecosystems highly depends on the variety and quality of end-user applications. Therefore, attracting third-party developers and facilitating application development is crucial. Platform boundary resources enable third-party developers to create the applications. Thus, the platform boundary resources expose and extend the platform architecture. We conducted an industrial case study on third-party developer experience, particularly on the role of platform boundary resources in exposing the platform architecture and facilitating development. The studied ecosystem is centered on managing end-users' content across devices, the ecosystem was in its pre-commercial phase. The results identify the platform boundary resources in the case study and propose a model for classifying the resources. Further, designing the platform boundary resources is not only about opening up the platform architecture. Instead, the platform boundary resources need to account for a rich variety of applications, or at least not limit too much the creativity of third-party developers, while still aiming at the ease of development. We conclude that the platform boundary resources need to be created for the third-party developers, rather than from the platform architecture.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126775846","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}
引用次数: 59
Towards an Evidence-Based Understanding of Emergence of Architecture through Continuous Refactoring in Agile Software Development 在敏捷软件开发中,通过持续重构实现对架构出现的循证理解
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.45
Lianping Chen, M. Babar
The proponents of Agile software development approaches claim that software architecture emerges from continuous small refactoring, hence, there is not much value in spending upfront effort on architecture related issues. Based on a large-scale empirical study involving 102 practitioners who had worked with agile and architecture approaches, we have found that whether or not architecture emerges through continuous refactoring depends upon several contextual factors. Our study has identified 20 factors that have been categorized into four elements: project, team, practices, and organization. These empirically identified contextual factors are expected to help practitioners to make informed decisions about their architecture practices in agile software development.
敏捷软件开发方法的支持者声称,软件架构是从持续的小重构中产生的,因此,在架构相关问题上花费前期工作没有多大价值。基于一项涉及102名使用敏捷和架构方法的实践者的大规模实证研究,我们发现架构是否通过持续重构产生取决于几个上下文因素。我们的研究已经确定了20个因素,它们被分为四个元素:项目、团队、实践和组织。这些经验确定的上下文因素有望帮助实践者对敏捷软件开发中的体系结构实践做出明智的决策。
{"title":"Towards an Evidence-Based Understanding of Emergence of Architecture through Continuous Refactoring in Agile Software Development","authors":"Lianping Chen, M. Babar","doi":"10.1109/WICSA.2014.45","DOIUrl":"https://doi.org/10.1109/WICSA.2014.45","url":null,"abstract":"The proponents of Agile software development approaches claim that software architecture emerges from continuous small refactoring, hence, there is not much value in spending upfront effort on architecture related issues. Based on a large-scale empirical study involving 102 practitioners who had worked with agile and architecture approaches, we have found that whether or not architecture emerges through continuous refactoring depends upon several contextual factors. Our study has identified 20 factors that have been categorized into four elements: project, team, practices, and organization. These empirically identified contextual factors are expected to help practitioners to make informed decisions about their architecture practices in agile software development.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115282923","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}
引用次数: 21
Cumulative Software Architecture Development 累积软件架构开发
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.26
Eric J. Braude
An approach to software architecture creation is described in the context of agile development. It eschews the traditional separation of top-down and bottom-up design. A concrete, cumulative, least-commitment process is demonstrated that establishes an architecture core likely to remain stable as requirements are added.
在敏捷开发的上下文中描述了一种创建软件架构的方法。它避免了自顶向下和自底向上设计的传统分离。演示了一个具体的、累积的、最少承诺的过程,它建立了一个随着需求的增加而可能保持稳定的体系结构核心。
{"title":"Cumulative Software Architecture Development","authors":"Eric J. Braude","doi":"10.1109/WICSA.2014.26","DOIUrl":"https://doi.org/10.1109/WICSA.2014.26","url":null,"abstract":"An approach to software architecture creation is described in the context of agile development. It eschews the traditional separation of top-down and bottom-up design. A concrete, cumulative, least-commitment process is demonstrated that establishes an architecture core likely to remain stable as requirements are added.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115297242","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}
引用次数: 0
Architectural Decisions for HW/SW Partitioning Based on Multiple Extra-Functional Properties 基于多个额外功能属性的硬件/软件分区的体系结构决策
Pub Date : 2014-04-07 DOI: 10.1109/WICSA.2014.19
Gaetana Sapienza, I. Crnkovic, P. Potena
Growing advances in hardware technologies are enabling significant improvements in application performance by the deployment of components to dedicated executable units. This is particularly valid for Cyber Physical Systems in which the applications are partitioned in HW and SW execution units. The growing complexity of such systems, and increasing requirements, both project- and product-related, makes the partitioning decision process complex. Although different approaches to this decision process have been proposed during recent decades, they lack the ability to provide relevant decisions based on a larger number of requirements and project/business constraints. A sound approach to this problem is taking into account all relevant requirements and constraints and their relations to the properties of the components deployed either as HW or SW units. A typical approach for managing a large number of criteria is a multicriteria decision analysis. This, in its turn, requires uniform definitions of component properties and their realization in respect to their HW/SW deployment. The aim of this paper is twofold: a) to provide an architectural metamodel of component-based applications with specifications of their properties with respect to their partitioning, and b) to categorize component properties in relation to HW/SW deployment. The metamodel enables the transition of system requirements to system and component properties. The categorization provides support for architectural decisions. It is demonstrated through a property guideline for the partitioning of the System Automation and Control domain. The guideline is based on interviews with practitioners and researchers, the experts in this domain.
通过将组件部署到专用的可执行单元,硬件技术的不断发展使得应用程序性能得到了显著改善。这对于在硬件和软件执行单元中划分应用程序的网络物理系统尤其有效。这类系统的复杂性不断增长,需求不断增加,与项目和产品相关,这使得划分决策过程变得复杂。尽管在最近几十年中提出了不同的决策过程方法,但它们缺乏提供基于大量需求和项目/业务约束的相关决策的能力。解决这个问题的可靠方法是考虑所有相关的需求和约束,以及它们与作为硬件或软件单元部署的组件属性的关系。管理大量标准的典型方法是多标准决策分析。反过来,这需要组件属性的统一定义以及它们在硬件/软件部署方面的实现。本文的目的有两个:a)提供一个基于组件的应用程序的体系结构元模型,其中包含与它们的分区相关的属性规范;b)根据硬件/软件部署对组件属性进行分类。元模型支持将系统需求转换为系统和组件属性。分类为体系结构决策提供支持。它通过系统自动化和控制领域划分的属性指南来演示。该指南是基于对该领域的从业人员和研究人员以及专家的访谈。
{"title":"Architectural Decisions for HW/SW Partitioning Based on Multiple Extra-Functional Properties","authors":"Gaetana Sapienza, I. Crnkovic, P. Potena","doi":"10.1109/WICSA.2014.19","DOIUrl":"https://doi.org/10.1109/WICSA.2014.19","url":null,"abstract":"Growing advances in hardware technologies are enabling significant improvements in application performance by the deployment of components to dedicated executable units. This is particularly valid for Cyber Physical Systems in which the applications are partitioned in HW and SW execution units. The growing complexity of such systems, and increasing requirements, both project- and product-related, makes the partitioning decision process complex. Although different approaches to this decision process have been proposed during recent decades, they lack the ability to provide relevant decisions based on a larger number of requirements and project/business constraints. A sound approach to this problem is taking into account all relevant requirements and constraints and their relations to the properties of the components deployed either as HW or SW units. A typical approach for managing a large number of criteria is a multicriteria decision analysis. This, in its turn, requires uniform definitions of component properties and their realization in respect to their HW/SW deployment. The aim of this paper is twofold: a) to provide an architectural metamodel of component-based applications with specifications of their properties with respect to their partitioning, and b) to categorize component properties in relation to HW/SW deployment. The metamodel enables the transition of system requirements to system and component properties. The categorization provides support for architectural decisions. It is demonstrated through a property guideline for the partitioning of the System Automation and Control domain. The guideline is based on interviews with practitioners and researchers, the experts in this domain.","PeriodicalId":346971,"journal":{"name":"2014 IEEE/IFIP Conference on Software Architecture","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124092890","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}
引用次数: 26
期刊
2014 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