首页 > 最新文献

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

英文 中文
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
Microservices in Industry: Insights into Technologies, Characteristics, and Software Quality 工业中的微服务:对技术、特征和软件质量的洞察
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00041
J. Bogner, J. Fritzsch, S. Wagner, A. Zimmermann
Microservices are a topic driven mainly by practitioners and academia is only starting to investigate them. Hence, there is no clear picture of the usage of Microservices in practice. In this paper, we contribute a qualitative study with insights into industry adoption and implementation of Microservices. Contrary to existing quantitative studies, we conducted interviews to gain a more in-depth understanding of the current state of practice. During 17 interviews with software professionals from 10 companies, we analyzed 14 service-based systems. The interviews focused on applied technologies, Microservices characteristics, and the perceived influence on software quality. We found that companies generally rely on well-established technologies for service implementation, communication, and deployment. Most systems, however, did not exhibit a high degree of technological diversity as commonly expected with Microservices. Decentralization and product character were different for systems built for external customers. Applied DevOps practices and automation were still on a mediocre level and only very few companies strictly followed the you build it, you run it principle. The impact of Microservices on software quality was mainly rated as positive. While maintainability received the most positive mentions, some major issues were associated with security. We present a description of each case and summarize the most important findings of companies across different domains and sizes. Researchers may build upon our findings and take them into account when designing industry-focused methods.
微服务是一个主要由实践者推动的话题,学术界才刚刚开始研究它们。因此,对于微服务在实践中的使用并没有清晰的描述。在本文中,我们对微服务的行业采用和实现进行了定性研究。与现有的定量研究相反,我们进行了访谈,以更深入地了解实践的现状。在与来自10家公司的17位软件专家的访谈中,我们分析了14个基于服务的系统。访谈的重点是应用技术、微服务特征以及对软件质量的感知影响。我们发现,公司通常依赖于成熟的技术来实现服务、通信和部署。然而,大多数系统并没有像微服务那样表现出高度的技术多样性。为外部客户构建的系统的分散性和产品特性是不同的。应用DevOps实践和自动化仍然处于中等水平,只有极少数公司严格遵循“你构建它,你运行它”的原则。微服务对软件质量的影响主要是正面的。虽然可维护性得到了最积极的提及,但一些主要问题与安全性有关。我们对每个案例进行了描述,并总结了不同领域和规模的公司的最重要发现。研究人员可能会以我们的发现为基础,在设计针对行业的方法时考虑到这些发现。
{"title":"Microservices in Industry: Insights into Technologies, Characteristics, and Software Quality","authors":"J. Bogner, J. Fritzsch, S. Wagner, A. Zimmermann","doi":"10.1109/ICSA-C.2019.00041","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00041","url":null,"abstract":"Microservices are a topic driven mainly by practitioners and academia is only starting to investigate them. Hence, there is no clear picture of the usage of Microservices in practice. In this paper, we contribute a qualitative study with insights into industry adoption and implementation of Microservices. Contrary to existing quantitative studies, we conducted interviews to gain a more in-depth understanding of the current state of practice. During 17 interviews with software professionals from 10 companies, we analyzed 14 service-based systems. The interviews focused on applied technologies, Microservices characteristics, and the perceived influence on software quality. We found that companies generally rely on well-established technologies for service implementation, communication, and deployment. Most systems, however, did not exhibit a high degree of technological diversity as commonly expected with Microservices. Decentralization and product character were different for systems built for external customers. Applied DevOps practices and automation were still on a mediocre level and only very few companies strictly followed the you build it, you run it principle. The impact of Microservices on software quality was mainly rated as positive. While maintainability received the most positive mentions, some major issues were associated with security. We present a description of each case and summarize the most important findings of companies across different domains and sizes. Researchers may build upon our findings and take them into account when designing industry-focused methods.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"330 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":"121252029","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}
引用次数: 57
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
High-Level Design Stories in Architecture-Centric Agile Development 以架构为中心的敏捷开发中的高级设计故事
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00032
J. A. D. Pace, A. Bianchi
Capturing and communicating the architecture decisions of a project is very important in architecture knowledge management, so that those decisions can deliver value to the system stakeholders and also support the system implementation. In agile development contexts, there is often a balancing act between documenting the design decisions in detail and keeping the documentation efforts to a level tolerable for the project. To this end, we present the notion of High-level Design stories (or HLDs), as small, modular artifacts that record the main design decisions and their context, but also include information about architecture assumptions, quality-attribute analysis, and pending issues for the system. HLDs are intended to be created and refined during the different phases of an architecture-centric development process, and assist in the validation of the decisions (and pending issues) in that process. This way, a global (although detailed) architecture design can be obtained from the combination of the HLDs. In this work, we discuss the pros and cons of using HLDs for design decisions based on experiences from an industrial software project.
在体系结构知识管理中,获取和交流项目的体系结构决策是非常重要的,以便这些决策可以向系统涉众交付价值,并支持系统实现。在敏捷开发环境中,通常需要在详细记录设计决策和将文档工作保持在项目可容忍的水平之间取得平衡。为此,我们提出了高级设计故事(或hld)的概念,作为记录主要设计决策及其上下文的小型模块化工件,但也包括关于体系结构假设、质量属性分析和系统未决问题的信息。hld旨在在以体系结构为中心的开发过程的不同阶段中创建和改进,并帮助验证该过程中的决策(和悬而未决的问题)。通过这种方式,可以从hld的组合中获得全局(尽管是详细的)体系结构设计。在本文中,我们将根据一个工业软件项目的经验,讨论使用hld进行设计决策的利弊。
{"title":"High-Level Design Stories in Architecture-Centric Agile Development","authors":"J. A. D. Pace, A. Bianchi","doi":"10.1109/ICSA-C.2019.00032","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00032","url":null,"abstract":"Capturing and communicating the architecture decisions of a project is very important in architecture knowledge management, so that those decisions can deliver value to the system stakeholders and also support the system implementation. In agile development contexts, there is often a balancing act between documenting the design decisions in detail and keeping the documentation efforts to a level tolerable for the project. To this end, we present the notion of High-level Design stories (or HLDs), as small, modular artifacts that record the main design decisions and their context, but also include information about architecture assumptions, quality-attribute analysis, and pending issues for the system. HLDs are intended to be created and refined during the different phases of an architecture-centric development process, and assist in the validation of the decisions (and pending issues) in that process. This way, a global (although detailed) architecture design can be obtained from the combination of the HLDs. In this work, we discuss the pros and cons of using HLDs for design decisions based on experiences from an industrial software project.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"22 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":"121043495","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
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
Helping Software Architects Familiarize with the General Data Protection Regulation 帮助软件架构师熟悉通用数据保护法规
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00046
Michael Colesky, Katerina Demetzou, Lothar Fritsch, Sebastian Herold
The General Data Protection Regulation (GDPR) impacts any information systems that process personal data in or from the European Union. Yet its enforcement is still recent. Organizations under its effect are slow to adopt its principles. One particular difficulty is the low familiarity with the regulation among software architects and designers. The difficulty to interpret the content of the legal regulation at a technical level adds to that. This results in problems in understanding the impact and consequences that the regulation may have in detail for a particular system or project context. In this paper we present some early work and emerging results related to supporting software architects in this situation. Specifically, we target those who need to understand how the GDPR might impact their design decisions. In the spirit of architectural tactics and patterns, we systematically identified and categorized 155 forces in the regulation. These results form the conceptual base for a first prototypical tool. It enables software architects to identify the relevant forces by guiding them through an online questionnaire. This leads them to relevant fragments of the GDPR and potentially relevant privacy patterns. We argue that this approach may help software professionals, in particular architects, familiarize with the GDPR and outline potential paths for evaluation.
通用数据保护条例(GDPR)影响在欧盟境内或境外处理个人数据的任何信息系统。然而,它的执行仍然是最近才开始的。受其影响的组织采用其原则的速度很慢。一个特别的困难是软件架构师和设计师对规则的不熟悉。在技术层面上解释法律规定内容的难度增加了这一点。这导致在理解规则可能对特定系统或项目上下文产生的详细影响和后果时出现问题。在本文中,我们展示了一些与支持这种情况下的软件架构师相关的早期工作和新出现的结果。具体来说,我们的目标是那些需要了解GDPR如何影响其设计决策的人。本着架构策略和模式的精神,我们系统地识别和分类了法规中的155种力量。这些结果构成了第一个原型工具的概念基础。它使软件架构师能够通过在线问卷来指导他们识别相关的力量。这将他们引向GDPR的相关片段和潜在的相关隐私模式。我们认为,这种方法可以帮助软件专业人员,特别是架构师,熟悉GDPR并概述评估的潜在路径。
{"title":"Helping Software Architects Familiarize with the General Data Protection Regulation","authors":"Michael Colesky, Katerina Demetzou, Lothar Fritsch, Sebastian Herold","doi":"10.1109/ICSA-C.2019.00046","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00046","url":null,"abstract":"The General Data Protection Regulation (GDPR) impacts any information systems that process personal data in or from the European Union. Yet its enforcement is still recent. Organizations under its effect are slow to adopt its principles. One particular difficulty is the low familiarity with the regulation among software architects and designers. The difficulty to interpret the content of the legal regulation at a technical level adds to that. This results in problems in understanding the impact and consequences that the regulation may have in detail for a particular system or project context. In this paper we present some early work and emerging results related to supporting software architects in this situation. Specifically, we target those who need to understand how the GDPR might impact their design decisions. In the spirit of architectural tactics and patterns, we systematically identified and categorized 155 forces in the regulation. These results form the conceptual base for a first prototypical tool. It enables software architects to identify the relevant forces by guiding them through an online questionnaire. This leads them to relevant fragments of the GDPR and potentially relevant privacy patterns. We argue that this approach may help software professionals, in particular architects, familiarize with the GDPR and outline potential paths for evaluation.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"65 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":"129108627","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
Sense of Place within the Virtuous Circle of Architecture Decision-Making 建筑决策良性循环中的场所感
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00007
Ken Power, R. Wirfs-Brock
First, we shape our architecture. Then, our architecture shapes us. As architects we bring part of ourselves to the systems we work with. We evolve with our architectures. In this tutorial we consider the metaphor of “terroir” to understand architectures and their sense of place. Terroir comes from the French word used to describe the set of all environmental factors that affect the observable characteristics of an organism, e.g., the unique set of contextual characteristics of place that influence food crops, coffee, tea, or wine. So too in systems, architectures are uniquely shaped by the culture and context of a place. Factors include people, organization, culture, technology, and tenets shared among the architects and makers. Understanding an architecture is a first step towards evaluating it. The set of concepts and practical tools covered in this tutorial are well suited to being used in conducting architecture analyses and reviews and integrate with any other processes an organization might be using.
首先,我们塑造我们的架构。然后,我们的建筑塑造了我们。作为架构师,我们把自己的一部分带到我们所使用的系统中。我们随着架构的发展而发展。在本教程中,我们考虑“风土”的隐喻来理解建筑和他们的地方感。风土(Terroir)这个词来自法语,用来描述影响生物可观察特征的所有环境因素,例如,影响粮食作物、咖啡、茶或葡萄酒的地方的独特环境特征。在系统中也是如此,建筑是由一个地方的文化和环境独特塑造的。因素包括人员、组织、文化、技术以及建筑师和制造商之间共享的信条。理解一个体系结构是评估它的第一步。本教程中介绍的一组概念和实用工具非常适合用于进行体系结构分析和审查,并与组织可能使用的任何其他过程集成。
{"title":"Sense of Place within the Virtuous Circle of Architecture Decision-Making","authors":"Ken Power, R. Wirfs-Brock","doi":"10.1109/ICSA-C.2019.00007","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00007","url":null,"abstract":"First, we shape our architecture. Then, our architecture shapes us. As architects we bring part of ourselves to the systems we work with. We evolve with our architectures. In this tutorial we consider the metaphor of “terroir” to understand architectures and their sense of place. Terroir comes from the French word used to describe the set of all environmental factors that affect the observable characteristics of an organism, e.g., the unique set of contextual characteristics of place that influence food crops, coffee, tea, or wine. So too in systems, architectures are uniquely shaped by the culture and context of a place. Factors include people, organization, culture, technology, and tenets shared among the architects and makers. Understanding an architecture is a first step towards evaluating it. The set of concepts and practical tools covered in this tutorial are well suited to being used in conducting architecture analyses and reviews and integrate with any other processes an organization might be using.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"53 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":"121855425","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
Continuous Performance Testing in Virtual Time 虚拟时间下的连续性能测试
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00027
Robert Chatley, T. Field, David Wei
We introduce the notion of performance unit testing which allows developers to explore performance characteristics and detect potential performance problems continuously throughout the development of a software system. Our ideas are embodied in PerfMock, which extends a well-established object mocking framework so that each mock object can be configured with a performance model for predicting the time taken to process each message it receives. PerfMock executes tests in virtual time. This allows performance to be evaluated much more quickly than running a full system performance test, making it possible to test performance continuously, as part of a unit test suite. We demonstrate the core features of PerfMock and show how it can be used to support a process of iterative refinement, whereby models can be improved when more about the actual performance of the objects being mocked becomes known, e.g. by building models from production data. We show that even very simple performance models used early on in the development process can provide useful information for estimating both absolute execution times and the effects of changes in functionality and/or design. The iterative approach we support has the pleasing property that as the system evolves, more decisions are made and more data is collected meaning that we can refine our models, and predicted and actual performance gradually converge.
我们引入了性能单元测试的概念,它允许开发人员在整个软件系统的开发过程中不断探索性能特征并检测潜在的性能问题。我们的想法体现在PerfMock中,它扩展了一个完善的对象模拟框架,这样每个模拟对象都可以配置一个性能模型,以预测处理它接收到的每条消息所花费的时间。PerfMock在虚拟时间内执行测试。这使得性能评估比运行一个完整的系统性能测试要快得多,使得连续测试性能成为可能,作为单元测试套件的一部分。我们演示了PerfMock的核心特性,并展示了如何使用它来支持迭代优化过程,当更多关于被模拟对象的实际性能的信息被了解时,模型可以得到改进,例如,通过从生产数据构建模型。我们表明,即使在开发过程的早期使用非常简单的性能模型,也可以为估计绝对执行时间和功能和/或设计更改的影响提供有用的信息。我们支持的迭代方法具有令人满意的特性,即随着系统的发展,做出了更多的决策,收集了更多的数据,这意味着我们可以改进我们的模型,并且预测和实际性能逐渐收敛。
{"title":"Continuous Performance Testing in Virtual Time","authors":"Robert Chatley, T. Field, David Wei","doi":"10.1109/ICSA-C.2019.00027","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00027","url":null,"abstract":"We introduce the notion of performance unit testing which allows developers to explore performance characteristics and detect potential performance problems continuously throughout the development of a software system. Our ideas are embodied in PerfMock, which extends a well-established object mocking framework so that each mock object can be configured with a performance model for predicting the time taken to process each message it receives. PerfMock executes tests in virtual time. This allows performance to be evaluated much more quickly than running a full system performance test, making it possible to test performance continuously, as part of a unit test suite. We demonstrate the core features of PerfMock and show how it can be used to support a process of iterative refinement, whereby models can be improved when more about the actual performance of the objects being mocked becomes known, e.g. by building models from production data. We show that even very simple performance models used early on in the development process can provide useful information for estimating both absolute execution times and the effects of changes in functionality and/or design. The iterative approach we support has the pleasing property that as the system evolves, more decisions are made and more data is collected meaning that we can refine our models, and predicted and actual performance gradually converge.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"72 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":"127269332","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
TCP-Inspired Congestion Avoidance for Cloud-IoT Applications 基于tcp的云-物联网应用的拥塞避免
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00009
Manuel Gotin, Felix Lösch, Ralf H. Reussner
Cloud-loT Applications consist of thousands of smart devices sending sensor data to processing cloud applications. If the processing rate of the cloud application is limited it may be unable to cope with an increasing number of connected devices. If such a situation is not addressed, the cloud application is overloaded with messages, resulting in a high processing delay or loss of data. For this reason we propose a TCP-inspired congestion avoidance which reconfigures the send rate of devices at runtime aiming for a low processing delay and a high throughput. We show, that it is able to avoid congestions by adapting the send rate of devices to a fair share of the processing rate of the cloud application.
cloud - lot应用程序由数千个智能设备组成,这些设备将传感器数据发送给处理云应用程序。如果云应用程序的处理速率受到限制,它可能无法处理越来越多的连接设备。如果不解决这种情况,云应用程序就会被消息过载,从而导致处理延迟或数据丢失。出于这个原因,我们提出了一个tcp启发的拥塞避免,它在运行时重新配置设备的发送速率,以实现低处理延迟和高吞吐量。我们表明,它能够通过调整设备的发送速率以使其与云应用程序的处理速率相当来避免拥塞。
{"title":"TCP-Inspired Congestion Avoidance for Cloud-IoT Applications","authors":"Manuel Gotin, Felix Lösch, Ralf H. Reussner","doi":"10.1109/ICSA-C.2019.00009","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00009","url":null,"abstract":"Cloud-loT Applications consist of thousands of smart devices sending sensor data to processing cloud applications. If the processing rate of the cloud application is limited it may be unable to cope with an increasing number of connected devices. If such a situation is not addressed, the cloud application is overloaded with messages, resulting in a high processing delay or loss of data. For this reason we propose a TCP-inspired congestion avoidance which reconfigures the send rate of devices at runtime aiming for a low processing delay and a high throughput. We show, that it is able to avoid congestions by adapting the send rate of devices to a fair share of the processing rate of the cloud application.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"1 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":"131685550","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
期刊
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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1