首页 > 最新文献

2019 IEEE International Conference on Software Architecture Companion (ICSA-C)最新文献

英文 中文
Assessing Migration of a 20-Year-Old System to a Micro-Service Platform Using ATAM 使用ATAM评估一个20年的系统向微服务平台的迁移
Pub Date : 2019-03-25 DOI: 10.1109/ICSA-C.2019.00039
Pablo Cruz, H. Astudillo, R. Hilliard, Miguel Collado
Architecture evaluation is a systematic approach to evaluate target architectures and ATAM (Architectural Trade-off Analysis Method) is one of the available methods. Migration of software systems imply many architectural decisions that should be systematically evaluated to assess concrete trade-offs and risks. This article reports on the ATAM usage at a mid-size Chilean specialty software development company to assess the migration of its 20-year old flagship product to a micro-service platform. Over three days, 10 key architectural decisions, addressing 35 scenarios, were considered. Since almost all requirements were deemed essential for legal reasons, the evaluation scheme used a modified importance dimension distinguishing among business-key (first line deal breakers), legally-mandated (second-line deal breakers), and desirable requirements. Key lessons learned include the very positive client feedback on the introduction of systematic evaluation of architectural choices using business criteria.
体系结构评估是对目标体系结构进行评估的一种系统方法,而ATAM(体系结构权衡分析方法)是一种可用的方法。软件系统的迁移意味着需要系统地评估许多架构决策,以评估具体的权衡和风险。本文报告了智利一家中型专业软件开发公司使用ATAM的情况,以评估将其已有20年历史的旗舰产品迁移到微服务平台。在三天的时间里,讨论了涉及35个场景的10个关键架构决策。由于由于法律原因,几乎所有需求都被认为是必要的,因此评估方案使用了一个修改过的重要性维度来区分业务关键(第一行交易中断)、法律规定(第二线交易中断)和理想需求。学到的主要经验包括客户对引入使用业务标准对体系结构选择进行系统评估的非常积极的反馈。
{"title":"Assessing Migration of a 20-Year-Old System to a Micro-Service Platform Using ATAM","authors":"Pablo Cruz, H. Astudillo, R. Hilliard, Miguel Collado","doi":"10.1109/ICSA-C.2019.00039","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00039","url":null,"abstract":"Architecture evaluation is a systematic approach to evaluate target architectures and ATAM (Architectural Trade-off Analysis Method) is one of the available methods. Migration of software systems imply many architectural decisions that should be systematically evaluated to assess concrete trade-offs and risks. This article reports on the ATAM usage at a mid-size Chilean specialty software development company to assess the migration of its 20-year old flagship product to a micro-service platform. Over three days, 10 key architectural decisions, addressing 35 scenarios, were considered. Since almost all requirements were deemed essential for legal reasons, the evaluation scheme used a modified importance dimension distinguishing among business-key (first line deal breakers), legally-mandated (second-line deal breakers), and desirable requirements. Key lessons learned include the very positive client feedback on the introduction of systematic evaluation of architectural choices using business criteria.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126425038","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
Vulnerabilities in Continuous Delivery Pipelines? A Case Study 持续交付管道中的漏洞?案例研究
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00026
C. Paule, Thomas F. Düllmann, A. Hoorn
More and more companies are in the process of adopting modern continuous software development practices and approaches like continuous integration (CI), continuous delivery (CD), or DevOps. These approaches can support companies in order to increase the development speed, the frequency of product increments, and the time to market. To be able to get these advantages, especially the tooling and infrastructure need to be reliable and secure. In case CI/CD is compromised or even unavailable, all mentioned advantages are at stake. Potentially, this could also even hinder the forthcoming of the software development. Therefore, our goal was to identify which vulnerabilities are present in industry CD pipelines and how they can be detected. In this paper, we present our results of an industry case study which includes a qualitative survey of agile project teams regarding the awareness of security in CI/CD, the analysis and abstraction of two CD pipelines, and a threat analysis based on the deducted CD pipeline to identify vulnerabilities. In this case study, we found that the team members that work with the CD pipeline in different roles do not have a strong security background but are aware of security attributes in general. Furthermore, two CD pipelines from industry projects were analyzed using the STRIDE threat analysis approach. In total, we identified 22 vulnerabilities that have been confirmed by the project teams.
越来越多的公司正在采用现代的持续软件开发实践和方法,如持续集成(CI)、持续交付(CD)或DevOps。这些方法可以支持公司提高开发速度、产品增量的频率和上市时间。为了能够获得这些优势,特别是工具和基础设施需要可靠和安全。如果CI/CD受到损害,甚至不可用,那么上述所有优势都将受到威胁。潜在地,这也可能阻碍即将到来的软件开发。因此,我们的目标是确定行业CD管道中存在哪些漏洞,以及如何检测它们。在本文中,我们展示了一个行业案例研究的结果,其中包括对敏捷项目团队关于CI/CD中的安全意识的定性调查,对两个CD管道的分析和抽象,以及基于推导的CD管道来识别漏洞的威胁分析。在本案例研究中,我们发现以不同角色使用CD管道的团队成员没有很强的安全背景,但通常知道安全属性。此外,使用STRIDE威胁分析方法对来自工业项目的两个CD管道进行了分析。总的来说,我们确定了22个已被项目团队确认的漏洞。
{"title":"Vulnerabilities in Continuous Delivery Pipelines? A Case Study","authors":"C. Paule, Thomas F. Düllmann, A. Hoorn","doi":"10.1109/ICSA-C.2019.00026","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00026","url":null,"abstract":"More and more companies are in the process of adopting modern continuous software development practices and approaches like continuous integration (CI), continuous delivery (CD), or DevOps. These approaches can support companies in order to increase the development speed, the frequency of product increments, and the time to market. To be able to get these advantages, especially the tooling and infrastructure need to be reliable and secure. In case CI/CD is compromised or even unavailable, all mentioned advantages are at stake. Potentially, this could also even hinder the forthcoming of the software development. Therefore, our goal was to identify which vulnerabilities are present in industry CD pipelines and how they can be detected. In this paper, we present our results of an industry case study which includes a qualitative survey of agile project teams regarding the awareness of security in CI/CD, the analysis and abstraction of two CD pipelines, and a threat analysis based on the deducted CD pipeline to identify vulnerabilities. In this case study, we found that the team members that work with the CD pipeline in different roles do not have a strong security background but are aware of security attributes in general. Furthermore, two CD pipelines from industry projects were analyzed using the STRIDE threat analysis approach. In total, we identified 22 vulnerabilities that have been confirmed by the project teams.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"499 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122200692","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
On the Nature of Automotive Service Architectures 论汽车服务架构的本质
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00017
Vadim Cebotari, Stefan Kugele
Context: Current trends in the automotive industry like automated driving, machine intelligence, and digitisation introduce more and more complex functions and their interplay in in-vehicle architectures. To cope with this complexity, car makers are introducing particularly tailored service-oriented architectures. Aim: We aim at developing a formal and methodological approach to model and structure automotive service architectures. Method: We present a formal model to specify and group automotive service-oriented architectures following a classification scheme. Furthermore, a well-defined property model is introduced facilitating the specification and verification of deployment and run-time requirements. The approach is illustrated using a realistic case example. Conclusion: The presented approach works well for the used case example but needs to be further evaluated in depth in the future. However, we strongly believe that the framework is promising and will receive further attention in future work.
背景:当前汽车行业的趋势,如自动驾驶、机器智能和数字化,在车载架构中引入了越来越复杂的功能及其相互作用。为了应对这种复杂性,汽车制造商正在引入特别定制的面向服务的体系结构。目标:我们的目标是开发一种形式化和方法学的方法来建模和构建汽车服务架构。方法:我们提出了一个正式的模型,按照分类方案指定和分组汽车面向服务的体系结构。此外,还引入了一个定义良好的属性模型,以促进部署和运行时需求的规范和验证。通过一个实际案例说明了该方法。结论:本文提出的方法对于用例示例效果良好,但需要在未来进一步深入评估。然而,我们坚信,该框架是有希望的,并将在今后的工作中得到进一步关注。
{"title":"On the Nature of Automotive Service Architectures","authors":"Vadim Cebotari, Stefan Kugele","doi":"10.1109/ICSA-C.2019.00017","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00017","url":null,"abstract":"Context: Current trends in the automotive industry like automated driving, machine intelligence, and digitisation introduce more and more complex functions and their interplay in in-vehicle architectures. To cope with this complexity, car makers are introducing particularly tailored service-oriented architectures. Aim: We aim at developing a formal and methodological approach to model and structure automotive service architectures. Method: We present a formal model to specify and group automotive service-oriented architectures following a classification scheme. Furthermore, a well-defined property model is introduced facilitating the specification and verification of deployment and run-time requirements. The approach is illustrated using a realistic case example. Conclusion: The presented approach works well for the used case example but needs to be further evaluated in depth in the future. However, we strongly believe that the framework is promising and will receive further attention in future work.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128608849","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}
引用次数: 7
Deconstructing the Lambda Architecture: An Experience Report 解构Lambda架构:一份经验报告
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00042
Felipe Cerezo, C. E. Cuesta, Jose Carlos Moreno-Herranz, Belén Vela
In this paper we propose a new architecture for the development of big data projects which combine real time and batch processing. The starting point was the Lambda architecture, but several important limitations were detected when applying it to a real big data project. To solve all these issues and to be able to develop the project in a more satisfactory manner, the Lambda architecture was evolved, and as a result we have created a new and more flexible architecture. With this new architecture we were able to complete our project successfully, optimizing hardware usage, using a smaller development team and making the final result easier to maintain. Based in our experience, this new architecture, called Phi, seems to be generic enough to be widely applied to big data projects. This architecture, though more specific than Lambda, could improve and make easier the development and evolution of such projects.
本文提出了一种实时和批处理相结合的大数据项目开发新架构。我们的出发点是Lambda架构,但在将其应用于实际的大数据项目时发现了几个重要的限制。为了解决所有这些问题,并能够以更令人满意的方式开发项目,Lambda架构得到了发展,结果我们创建了一个新的更灵活的架构。有了这个新架构,我们能够成功地完成我们的项目,优化硬件使用,使用更小的开发团队,并使最终结果更容易维护。根据我们的经验,这种名为Phi的新架构似乎足够通用,可以广泛应用于大数据项目。该体系结构虽然比Lambda更具体,但可以改进并简化此类项目的开发和演变。
{"title":"Deconstructing the Lambda Architecture: An Experience Report","authors":"Felipe Cerezo, C. E. Cuesta, Jose Carlos Moreno-Herranz, Belén Vela","doi":"10.1109/ICSA-C.2019.00042","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00042","url":null,"abstract":"In this paper we propose a new architecture for the development of big data projects which combine real time and batch processing. The starting point was the Lambda architecture, but several important limitations were detected when applying it to a real big data project. To solve all these issues and to be able to develop the project in a more satisfactory manner, the Lambda architecture was evolved, and as a result we have created a new and more flexible architecture. With this new architecture we were able to complete our project successfully, optimizing hardware usage, using a smaller development team and making the final result easier to maintain. Based in our experience, this new architecture, called Phi, seems to be generic enough to be widely applied to big data projects. This architecture, though more specific than Lambda, could improve and make easier the development and evolution of such projects.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"177 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132486181","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}
引用次数: 7
Virtualizing Embedded Firmware to Boost Innovation Cycles 虚拟化嵌入式固件以加快创新周期
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00045
S. Sehestedt, G. Giannopoulou, A. Monot, M. Wahler
Software for embedded systems has strict requirements on stability; therefore, software updates are commonly avoided. Combined with common limitations and challenges of embedded system development, this leads to slow innovation cycles. This stands in contrast to desktop and cloud systems with rapid innovation cycles, supported by powerful toolchains and established mechanisms for seamless deployment. We present a four-step approach for refactoring the architecture of an embedded firmware such that the firmware can be built, run, and tested on powerful hardware, including cloud environments. In a case involving a commercial product, we show the effectiveness of the approach. The new architecture enables more efficient product development, more flexibility in the deployment, and hence shortened innovation cycles.
嵌入式系统软件对稳定性有严格的要求;因此,软件更新通常是避免的。结合嵌入式系统开发的常见限制和挑战,这导致了缓慢的创新周期。这与桌面和云系统形成鲜明对比,它们具有快速的创新周期,由强大的工具链和已建立的无缝部署机制提供支持。我们提出了一种重构嵌入式固件架构的四步方法,这样固件就可以在强大的硬件(包括云环境)上构建、运行和测试。在一个涉及商业产品的案例中,我们展示了该方法的有效性。新的体系结构支持更高效的产品开发,更灵活的部署,从而缩短创新周期。
{"title":"Virtualizing Embedded Firmware to Boost Innovation Cycles","authors":"S. Sehestedt, G. Giannopoulou, A. Monot, M. Wahler","doi":"10.1109/ICSA-C.2019.00045","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00045","url":null,"abstract":"Software for embedded systems has strict requirements on stability; therefore, software updates are commonly avoided. Combined with common limitations and challenges of embedded system development, this leads to slow innovation cycles. This stands in contrast to desktop and cloud systems with rapid innovation cycles, supported by powerful toolchains and established mechanisms for seamless deployment. We present a four-step approach for refactoring the architecture of an embedded firmware such that the firmware can be built, run, and tested on powerful hardware, including cloud environments. In a case involving a commercial product, we show the effectiveness of the approach. The new architecture enables more efficient product development, more flexibility in the deployment, and hence shortened innovation cycles.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130098526","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}
引用次数: 2
Unleashing the Power of Multi-Core MCUs by AUTOSAR Communication Stack Software Distribution 通过AUTOSAR通信栈软件分发释放多核mcu的力量
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00022
Thomas M. Galla
Until 2005 the software development in the area of mainstream computing enjoyed a free lunch profiting from the exponential growth of transistor densities and resulting clock speeds of Moore's Law. Existing software benefitted from hardware changes without requiring modification. In 2005, however, mainstream computing hit a wall due to the limit in increasing the clock speed. As a result, chip manufacturers started to turn towards hyperthreading and homogeneous and later on heterogeneous multi-core architectures in order to achieve further performance gains. To benefit from these hardware changes, existing software had to be parallelized and modified to deal with the heterogeneity. The period of the unicore free lunch was over.
直到2005年,主流计算领域的软件开发还享受着从晶体管密度的指数增长和摩尔定律的时钟速度中获得的免费午餐。现有的软件受益于硬件的改变而不需要修改。然而,在2005年,由于时钟速度的限制,主流计算遇到了瓶颈。因此,芯片制造商开始转向超线程和同构以及后来的异构多核架构,以实现进一步的性能提升。为了从这些硬件变化中获益,必须对现有软件进行并行化和修改,以处理异构性。独角兽免费午餐的时代结束了。
{"title":"Unleashing the Power of Multi-Core MCUs by AUTOSAR Communication Stack Software Distribution","authors":"Thomas M. Galla","doi":"10.1109/ICSA-C.2019.00022","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00022","url":null,"abstract":"Until 2005 the software development in the area of mainstream computing enjoyed a free lunch profiting from the exponential growth of transistor densities and resulting clock speeds of Moore's Law. Existing software benefitted from hardware changes without requiring modification. In 2005, however, mainstream computing hit a wall due to the limit in increasing the clock speed. As a result, chip manufacturers started to turn towards hyperthreading and homogeneous and later on heterogeneous multi-core architectures in order to achieve further performance gains. To benefit from these hardware changes, existing software had to be parallelized and modified to deal with the heterogeneity. The period of the unicore free lunch was over.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115688965","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
When Natural Language Processing Jumps into Collaborative Software Engineering 当自然语言处理进入协同软件工程
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00049
Fabian Gilson, Danny Weyns
Software engineering is an intrinsically collaborative activity, especially in the era of Agile Software Development. Many actors are partaking in development activities, such that a common understanding should be reached at numerous stages during the overall development life-cycle. For a few years now, Natural Language Processing techniques have been employed either to extract key information from free-form text or to generate models from the analysis of text in order to ease the sharing of knowledge across all parties. A significant part of these approaches focuses on retrieving lost domain and architectural knowledge through the analysis of documents, issue management systems or other forms of knowledge management systems. However, these post-processing methods are time-consuming by nature since they require to invest significant resources into the validation of the extracted knowledge. In this paper, inspired by collaborative tools, bots and Natural Language extraction approaches, we envision new ways to collaboratively record and document design decisions as they are discussed. These decisions will be documented as they are taken and, for some of them, static or behavioural models may be generated on-the-fly. Such an interactive process will ensure everyone agrees on critical design aspects of the software. We believe development teams will benefit from this approach because manual encoding of design knowledge will be reduced and will not be pushed to a later stage, when not forgotten.
软件工程本质上是一种协作活动,尤其是在敏捷软件开发时代。许多行动者正在参与发展活动,因此在整个发展生命周期的许多阶段应达成共同的理解。几年来,自然语言处理技术已经被用于从自由格式的文本中提取关键信息,或者从文本分析中生成模型,以简化各方之间的知识共享。这些方法的一个重要部分侧重于通过分析文档、问题管理系统或其他形式的知识管理系统来检索丢失的领域和体系结构知识。然而,这些后处理方法本质上是耗时的,因为它们需要投入大量资源来验证提取的知识。在本文中,受协作工具、机器人和自然语言提取方法的启发,我们设想了在讨论设计决策时协作记录和文档的新方法。这些决定将被记录下来,对于其中一些,静态或行为模型可能会动态生成。这样的交互过程将确保每个人都同意软件的关键设计方面。我们相信开发团队将从这种方法中受益,因为设计知识的手工编码将会减少,并且不会被推到后面的阶段,当没有被遗忘的时候。
{"title":"When Natural Language Processing Jumps into Collaborative Software Engineering","authors":"Fabian Gilson, Danny Weyns","doi":"10.1109/ICSA-C.2019.00049","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00049","url":null,"abstract":"Software engineering is an intrinsically collaborative activity, especially in the era of Agile Software Development. Many actors are partaking in development activities, such that a common understanding should be reached at numerous stages during the overall development life-cycle. For a few years now, Natural Language Processing techniques have been employed either to extract key information from free-form text or to generate models from the analysis of text in order to ease the sharing of knowledge across all parties. A significant part of these approaches focuses on retrieving lost domain and architectural knowledge through the analysis of documents, issue management systems or other forms of knowledge management systems. However, these post-processing methods are time-consuming by nature since they require to invest significant resources into the validation of the extracted knowledge. In this paper, inspired by collaborative tools, bots and Natural Language extraction approaches, we envision new ways to collaboratively record and document design decisions as they are discussed. These decisions will be documented as they are taken and, for some of them, static or behavioural models may be generated on-the-fly. Such an interactive process will ensure everyone agrees on critical design aspects of the software. We believe development teams will benefit from this approach because manual encoding of design knowledge will be reduced and will not be pushed to a later stage, when not forgotten.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"143 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115110165","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}
引用次数: 2
Rapid Canary Assessment Through Proxying and Two-Stage Load Balancing 基于代理和两阶段负载均衡的金丝雀快速评估
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00028
Dominik Ernst, Alexander Becker, S. Tai
Canary releasing is a means to check quality aspects of new software versions in a production environment, keeping risk to a minimum. We propose a novel approach to minimize the interference of canarying with the production system by (1) actively controlling request distribution in order to shorten the time a canary has to be running to achieve representative results and (2) unifying responsibility for that purpose and the collection of performance data about the canary on an ephemeral proxy load balancer. For (1) we contribute a two-stage load balancing approach, that implements weighted round-robin and a bucketing approach for HTTP-based services, that equalizes requests based on request URL. With explicit assumptions about infrastructure capabilities, we also describe the design of a proxy-based canary assessment tool to support (2). Both parts are implemented as a prototype and evaluated regarding feasibility, effectiveness and overhead. While the results cannot represent realistic production scenarios, they strongly indicate the validity of shortening a canary's lifetime by accepting a small overhead in client latency.
Canary发布是一种在生产环境中检查新软件版本质量方面的方法,将风险降至最低。我们提出了一种新的方法,通过(1)主动控制请求分发,以缩短金丝雀运行以获得代表性结果的时间,以及(2)统一为此目的的责任,并在临时代理负载均衡器上收集有关金丝雀的性能数据,从而最大限度地减少金丝雀对生产系统的干扰。对于(1),我们提供了一种两阶段负载平衡方法,该方法实现了加权轮询和基于http的服务的桶式方法,该方法基于请求URL均衡请求。通过对基础设施功能的明确假设,我们还描述了基于代理的金丝雀评估工具的设计,以支持(2)。这两个部分都作为原型实现,并对可行性、有效性和开销进行了评估。虽然结果不能代表实际的生产场景,但它们强烈表明,通过接受客户端延迟的小开销来缩短金丝雀的生命周期是有效的。
{"title":"Rapid Canary Assessment Through Proxying and Two-Stage Load Balancing","authors":"Dominik Ernst, Alexander Becker, S. Tai","doi":"10.1109/ICSA-C.2019.00028","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00028","url":null,"abstract":"Canary releasing is a means to check quality aspects of new software versions in a production environment, keeping risk to a minimum. We propose a novel approach to minimize the interference of canarying with the production system by (1) actively controlling request distribution in order to shorten the time a canary has to be running to achieve representative results and (2) unifying responsibility for that purpose and the collection of performance data about the canary on an ephemeral proxy load balancer. For (1) we contribute a two-stage load balancing approach, that implements weighted round-robin and a bucketing approach for HTTP-based services, that equalizes requests based on request URL. With explicit assumptions about infrastructure capabilities, we also describe the design of a proxy-based canary assessment tool to support (2). Both parts are implemented as a prototype and evaluated regarding feasibility, effectiveness and overhead. While the results cannot represent realistic production scenarios, they strongly indicate the validity of shortening a canary's lifetime by accepting a small overhead in client latency.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130534342","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
Agile System Architecture in Large Organizations: An Experience Report from Volvo Cars 大型组织中的敏捷系统架构:来自沃尔沃汽车的经验报告
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00014
Darko Durisic, A. Berenyi
System architecture is considered a fundamental element in the development of large and complex electrical systems. This is because a good architecture assures that the system fulfils and will fulfil after future upgrades all required quality demands. In addition to the well-designed architecture, the development of such systems today requires agile methods, especially when it comes to the development of software. This is mostly to assure quality and fast innovations cycles reaching customers early and directly incorporating their feedback into the development process. In order to coordinate the work of many agile teams in large organizations, it is usually necessary to employ frameworks for scaling agile development. One such frameworks is SAFe (Scaled Agile Framework) proven to work in many industries. Despite dedicating roles to the development of the system architecture at all organizational levels (e.g., System and Solution Architects), SAFe does not recognize the need for holistic architectural teams responsible for assuring that all architectural decisions are made in the best interest of the entire system. In this paper, we discuss the organization, responsibility and collaboration between such architecture teams - the Complete System Architects - and System/Solution Architects in SAFe. The results are based on the ongoing agile transformation at Volvo Cars based on SAFe.
系统架构被认为是大型复杂电气系统开发的基本要素。这是因为良好的体系结构确保系统满足并将在未来升级后满足所有必需的质量要求。除了设计良好的体系结构之外,当今此类系统的开发还需要敏捷方法,特别是在软件开发方面。这主要是为了确保质量和快速的创新周期尽早到达客户,并直接将他们的反馈纳入开发过程。为了协调大型组织中许多敏捷团队的工作,通常有必要使用框架来扩展敏捷开发。其中一个框架是SAFe(规模化敏捷框架),它在许多行业中都被证明是有效的。尽管在所有组织级别(例如,系统和解决方案架构师)中都有系统架构开发的角色,但SAFe没有认识到需要一个整体架构团队来负责确保所有架构决策都是在整个系统的最佳利益下做出的。在本文中,我们讨论了在SAFe中这样的架构团队——完整系统架构师——和系统/解决方案架构师之间的组织、职责和协作。这些结果是基于沃尔沃汽车正在进行的基于SAFe的敏捷转型。
{"title":"Agile System Architecture in Large Organizations: An Experience Report from Volvo Cars","authors":"Darko Durisic, A. Berenyi","doi":"10.1109/ICSA-C.2019.00014","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00014","url":null,"abstract":"System architecture is considered a fundamental element in the development of large and complex electrical systems. This is because a good architecture assures that the system fulfils and will fulfil after future upgrades all required quality demands. In addition to the well-designed architecture, the development of such systems today requires agile methods, especially when it comes to the development of software. This is mostly to assure quality and fast innovations cycles reaching customers early and directly incorporating their feedback into the development process. In order to coordinate the work of many agile teams in large organizations, it is usually necessary to employ frameworks for scaling agile development. One such frameworks is SAFe (Scaled Agile Framework) proven to work in many industries. Despite dedicating roles to the development of the system architecture at all organizational levels (e.g., System and Solution Architects), SAFe does not recognize the need for holistic architectural teams responsible for assuring that all architectural decisions are made in the best interest of the entire system. In this paper, we discuss the organization, responsibility and collaboration between such architecture teams - the Complete System Architects - and System/Solution Architects in SAFe. The results are based on the ongoing agile transformation at Volvo Cars based on SAFe.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123042330","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}
引用次数: 1
Continuous Software Engineering of Innovative Automotive Functions: An Industrial Perspective 创新汽车功能的持续软件工程:工业视角
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00030
Philipp Obergfell, Stefan Kugele, Christoph Segler, A. Knoll, E. Sax
One major challenge in the automotive industry is to deliver innovative functions more frequently. Hence, the standard development process with a fixed release plan is likely to be turned into a more continuous procedure. From a methodological perspective, this change includes applying well-established agile development techniques. In contrast to pure software-related domains, the successful implementation of software-based functions in embedded systems highly depends on non-functional requirements, and therefore we see the need for extending the pure code-centric notion of agility. In order to do so, we reflect on architectural drivers that are beneficial for the transformation of OEMs into software companies. Finally, we present our perspective on future automotive software engineering by illustrating how continuous integration is applied by a software engineer not only on the level of source code, but also on the system architecture level and the respective role.
汽车行业的一个主要挑战是更频繁地提供创新功能。因此,具有固定发布计划的标准开发过程很可能变成一个更连续的过程。从方法论的角度来看,这种变化包括应用成熟的敏捷开发技术。与纯软件相关的领域相比,嵌入式系统中基于软件的功能的成功实现高度依赖于非功能需求,因此我们看到了扩展纯以代码为中心的敏捷性概念的必要性。为了做到这一点,我们反思了有利于oem向软件公司转变的架构驱动因素。最后,我们通过说明软件工程师如何不仅在源代码级别,而且在系统架构级别和各自的角色上应用持续集成,来展示我们对未来汽车软件工程的看法。
{"title":"Continuous Software Engineering of Innovative Automotive Functions: An Industrial Perspective","authors":"Philipp Obergfell, Stefan Kugele, Christoph Segler, A. Knoll, E. Sax","doi":"10.1109/ICSA-C.2019.00030","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00030","url":null,"abstract":"One major challenge in the automotive industry is to deliver innovative functions more frequently. Hence, the standard development process with a fixed release plan is likely to be turned into a more continuous procedure. From a methodological perspective, this change includes applying well-established agile development techniques. In contrast to pure software-related domains, the successful implementation of software-based functions in embedded systems highly depends on non-functional requirements, and therefore we see the need for extending the pure code-centric notion of agility. In order to do so, we reflect on architectural drivers that are beneficial for the transformation of OEMs into software companies. Finally, we present our perspective on future automotive software engineering by illustrating how continuous integration is applied by a software engineer not only on the level of source code, but also on the system architecture level and the respective role.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126036039","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
期刊
2019 IEEE International Conference on Software Architecture Companion (ICSA-C)
全部 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