首页 > 最新文献

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

英文 中文
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
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 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
Extracting Quality Attributes from User Stories for Early Architecture Decision Making 从用户故事中提取质量属性,用于早期架构决策
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00031
Fabian Gilson, M. Galster, François Georis
Software quality attributes (e.g., security, performance) influence software architecture design decisions, e.g., when choosing technologies, patterns or tactics. As software developers are moving from big upfront design to an evolutionary or emerging design, the architecture of a system evolves as more functionality is added. In agile software development, functional user requirements are often expressed as user stories. Quality attributes might be implicitly referenced in user stories. To support a more systematic analysis and reasoning about quality attributes in agile development projects, this paper explores how to automatically identify quality attributes from user stories. This could help better understand relevant quality attributes (and potential architectural key drivers) before analysing product backlogs and domains in detail and provides the “bigger picture” of potential architectural drivers for early architecture decision making. The goal of this paper is to present our vision and preliminary work towards understanding whether user stories do include information about quality attributes at all, and if so, how we can identify such information in an automated manner.
软件质量属性(例如,安全性、性能)影响软件架构设计决策,例如,在选择技术、模式或策略时。随着软件开发人员从大型前期设计转向渐进式或新兴设计,系统的体系结构随着更多功能的添加而发展。在敏捷软件开发中,功能性用户需求通常表示为用户故事。质量属性可能在用户场景中被隐式引用。为了支持对敏捷开发项目中的质量属性进行更系统的分析和推理,本文探讨了如何从用户描述中自动识别质量属性。在详细分析产品积压和领域之前,这有助于更好地理解相关的质量属性(以及潜在的架构关键驱动因素),并为早期架构决策提供潜在架构驱动因素的“更大图景”。本文的目标是展示我们的愿景和初步工作,以理解用户故事是否包含有关质量属性的信息,如果是,我们如何以自动化的方式识别这些信息。
{"title":"Extracting Quality Attributes from User Stories for Early Architecture Decision Making","authors":"Fabian Gilson, M. Galster, François Georis","doi":"10.1109/ICSA-C.2019.00031","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00031","url":null,"abstract":"Software quality attributes (e.g., security, performance) influence software architecture design decisions, e.g., when choosing technologies, patterns or tactics. As software developers are moving from big upfront design to an evolutionary or emerging design, the architecture of a system evolves as more functionality is added. In agile software development, functional user requirements are often expressed as user stories. Quality attributes might be implicitly referenced in user stories. To support a more systematic analysis and reasoning about quality attributes in agile development projects, this paper explores how to automatically identify quality attributes from user stories. This could help better understand relevant quality attributes (and potential architectural key drivers) before analysing product backlogs and domains in detail and provides the “bigger picture” of potential architectural drivers for early architecture decision making. The goal of this paper is to present our vision and preliminary work towards understanding whether user stories do include information about quality attributes at all, and if so, how we can identify such information in an automated manner.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"46 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":"131244291","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Architectural Runtime Verification 架构运行时验证
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00021
Lars Stockmann, S. Laux, E. Bodden
Analyzing runtime behavior is an important part of developing and verifying software systems. This is especially true for complex component-based systems used in the vehicle industry. Here, locating the actual cause of (mis-)behavior can be time-consuming, because the analysis is usually not performed on the architecture level, where the system has initially been designed. Instead, it often relies on source code debugging or visualizing signals and events. The results must then be correlated to what is expected regarding the architecture. With an ever-growing complexity of the systems, the advent of model-based development, code generators and the distributed nature of the development process, this becomes increasingly difficult. This paper therefore presents Architectural Runtime Verification (ARV), a generic approach to analyze system behavior on architecture level using the principles of Runtime Verification. It relies on the architecture description and on the runtime information that is collected in simulation-based tests. This allows an analyst to easily verify or refute hypotheses about system behavior regarding the interaction of components, without the need to inspect the source code. We have instantiated ARV as a framework that allows a client to make queries about architectural elements using a timed LTL-based constraint language. From this, ARV generates a Runtime Verification monitor and applies it to runtime data stored in a database. We demonstrate the applicability of this approach with a running example from the automotive industry.
分析运行时行为是开发和验证软件系统的重要组成部分。这对于汽车行业中使用的基于复杂组件的系统来说尤其如此。在这里,定位(错误)行为的实际原因可能非常耗时,因为分析通常不是在体系结构级别执行的,而系统最初是在体系结构级别设计的。相反,它通常依赖于源代码调试或可视化信号和事件。结果必须与架构方面的预期相关联。随着系统复杂性的不断增长,基于模型的开发、代码生成器和开发过程的分布式特性的出现,这变得越来越困难。因此,本文提出了体系结构运行时验证(ARV),这是一种利用运行时验证原理在体系结构级别分析系统行为的通用方法。它依赖于架构描述和在基于模拟的测试中收集的运行时信息。这使得分析人员可以轻松地验证或反驳关于组件交互的系统行为的假设,而无需检查源代码。我们已经将ARV实例化为一个框架,该框架允许客户端使用基于定时ltl的约束语言查询架构元素。由此,ARV生成一个运行时验证监视器,并将其应用于存储在数据库中的运行时数据。我们通过汽车行业的一个运行示例来演示这种方法的适用性。
{"title":"Architectural Runtime Verification","authors":"Lars Stockmann, S. Laux, E. Bodden","doi":"10.1109/ICSA-C.2019.00021","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00021","url":null,"abstract":"Analyzing runtime behavior is an important part of developing and verifying software systems. This is especially true for complex component-based systems used in the vehicle industry. Here, locating the actual cause of (mis-)behavior can be time-consuming, because the analysis is usually not performed on the architecture level, where the system has initially been designed. Instead, it often relies on source code debugging or visualizing signals and events. The results must then be correlated to what is expected regarding the architecture. With an ever-growing complexity of the systems, the advent of model-based development, code generators and the distributed nature of the development process, this becomes increasingly difficult. This paper therefore presents Architectural Runtime Verification (ARV), a generic approach to analyze system behavior on architecture level using the principles of Runtime Verification. It relies on the architecture description and on the runtime information that is collected in simulation-based tests. This allows an analyst to easily verify or refute hypotheses about system behavior regarding the interaction of components, without the need to inspect the source code. We have instantiated ARV as a framework that allows a client to make queries about architectural elements using a timed LTL-based constraint language. From this, ARV generates a Runtime Verification monitor and applies it to runtime data stored in a database. We demonstrate the applicability of this approach with a running example from the automotive industry.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"55 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":"127052516","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
Using View-Based Architecture Descriptions to Aid in Automated Runtime Planning for a Smart Factory 使用基于视图的体系结构描述来帮助智能工厂的自动运行时规划
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00043
Marian Daun, Jennifer Brings, Patricia Aluko Obe, Stefanie Weiß, B. Böhm, S. Unverdorben
Smart factories are highly flexible production sites, that can adapt to fulfill a variety of production needs. Particularly, this shall allow for fulfilling production orders that are unknown during the design phase of the factory. To this end, smart factories reconfigure themselves during runtime to allow the execution of new and previously unknown production orders while aiming for an optimal use of resources. In the adaption a variety of factors must be taken into account, not only can the supply chain between different machines be changed to allow performing production steps in a new sequence (as needed by the production order), but the individual machines also can adapt themselves to exhibit different capabilities. A challenging task for such smart factories is the examination whether a certain production order is producible and which configuration is optimal for fulfilling this production order. To determine the optimal configuration among a huge variety of reconfiguration possibilities, many pieces of information must be taken into account. For instance, the capabilities of the machines, their workload, the possible sequences of production steps or constraints such as time and costs. To cope with the complexity of smart factory production planning, we employ a view-based engineering approach for the development of embedded systems. This paper contributes a report of the application of the view-based architecture descriptions to the engineering of a smart factory and illustrates that this approach also has considerable benefits for production planning within a smart factory.
智能工厂是高度灵活的生产场所,可以适应满足各种生产需求。特别是,这应考虑到在工厂设计阶段未知的生产订单。为此,智能工厂在运行时重新配置自己,以允许执行新的和以前未知的生产订单,同时以优化资源利用为目标。在适应过程中,必须考虑到各种因素,不仅不同机器之间的供应链可以改变,以允许以新的顺序执行生产步骤(根据生产订单的需要),而且单个机器也可以适应自己以表现出不同的能力。对于这样的智能工厂来说,一个具有挑战性的任务是检查某个生产订单是否可生产,以及哪种配置最适合完成该生产订单。为了在各种各样的重新配置可能性中确定最佳配置,必须考虑许多信息。例如,机器的能力,它们的工作量,生产步骤的可能顺序或诸如时间和成本之类的限制。为了应对智能工厂生产计划的复杂性,我们采用基于视图的工程方法来开发嵌入式系统。本文提供了一份基于视图的体系结构描述在智能工厂工程中的应用报告,并说明这种方法对智能工厂内的生产计划也有相当大的好处。
{"title":"Using View-Based Architecture Descriptions to Aid in Automated Runtime Planning for a Smart Factory","authors":"Marian Daun, Jennifer Brings, Patricia Aluko Obe, Stefanie Weiß, B. Böhm, S. Unverdorben","doi":"10.1109/ICSA-C.2019.00043","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00043","url":null,"abstract":"Smart factories are highly flexible production sites, that can adapt to fulfill a variety of production needs. Particularly, this shall allow for fulfilling production orders that are unknown during the design phase of the factory. To this end, smart factories reconfigure themselves during runtime to allow the execution of new and previously unknown production orders while aiming for an optimal use of resources. In the adaption a variety of factors must be taken into account, not only can the supply chain between different machines be changed to allow performing production steps in a new sequence (as needed by the production order), but the individual machines also can adapt themselves to exhibit different capabilities. A challenging task for such smart factories is the examination whether a certain production order is producible and which configuration is optimal for fulfilling this production order. To determine the optimal configuration among a huge variety of reconfiguration possibilities, many pieces of information must be taken into account. For instance, the capabilities of the machines, their workload, the possible sequences of production steps or constraints such as time and costs. To cope with the complexity of smart factory production planning, we employ a view-based engineering approach for the development of embedded systems. This paper contributes a report of the application of the view-based architecture descriptions to the engineering of a smart factory and illustrates that this approach also has considerable benefits for production planning within a smart factory.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"15 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120813819","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}
引用次数: 9
Towards a Virtual Continuous Integration Platform for Advanced Driving Assistance Systems 面向先进驾驶辅助系统的虚拟持续集成平台
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00018
A. Bachorek, Felix Schulte-Langforth, Alexander Witton, T. Kuhn, P. Antonino
Recent technological progress in computational engineering and systems design will enable the vision of autonomous driving coming true anytime soon. Functional but particularly also qualitative aspects of automotive functions are therefore gaining in importance more than ever before. This is due to the growing complexity of modern vehicles that gradually evolve into cyber-physical systems giving rise to the increasingly ambitious challenge of reliably validating the non-/functional integration of all their inherent subsystems. Thus, whereas traditional approaches to component and system testing are becoming more and more inappropriate for costs and general viability reasons, simulation-based methodologies offer an adequate solution due to their commonly scalable and generic nature. However, this is only true given a sufficiently high fidelity of the applied simulation models and a straightforward-in-use yet powerful-in-service evaluation platform with flexible support for execution semantics nesting, co-simulator coupling, and interfacing downstream tools with monitoring and visualization capabilities. In this regard, we introduce our concept of a continuous integration platform allowing for virtually prototyping technical systems of any kind that is applicable at any stage of the development process thanks to arbitrary levels of abstraction and wide-range tooling compatibility. This platform is based on the approved FERAL simulation framework at its core combined with versatile architectural components that are adaptable for domain-specific and cross-domain use cases. We focus this work on Advanced Driving Assistance Systems (ADAS) functions and showcase the end-user operation of the instantiated platform from the configuration of traffic scenarios over adjusting the functional logic and parameter values up to the visual validation of simulation results.
最近在计算工程和系统设计方面的技术进步将使自动驾驶的愿景很快成为现实。因此,汽车功能的功能方面,尤其是质量方面,比以往任何时候都更加重要。这是由于现代车辆日益复杂,逐渐演变为网络物理系统,从而产生了越来越雄心勃勃的挑战,即可靠地验证其所有固有子系统的非/功能集成。因此,传统的组件和系统测试方法由于成本和可行性的原因变得越来越不合适,而基于仿真的方法由于其普遍的可扩展性和通用性提供了一个适当的解决方案。然而,这只有在应用的仿真模型具有足够高的保真度和一个直接使用但功能强大的现役评估平台的情况下才能实现,该平台灵活地支持执行语义嵌套、协同模拟器耦合以及将具有监控和可视化功能的下游工具接口。在这方面,我们介绍了持续集成平台的概念,它允许在开发过程的任何阶段应用任何类型的虚拟原型技术系统,这要归功于任意级别的抽象和广泛的工具兼容性。该平台基于经批准的FERAL仿真框架,其核心与可适应特定领域和跨领域用例的通用架构组件相结合。我们将这项工作的重点放在高级驾驶辅助系统(ADAS)功能上,并展示了实例化平台的最终用户操作,从交通场景的配置到调整功能逻辑和参数值,直到仿真结果的视觉验证。
{"title":"Towards a Virtual Continuous Integration Platform for Advanced Driving Assistance Systems","authors":"A. Bachorek, Felix Schulte-Langforth, Alexander Witton, T. Kuhn, P. Antonino","doi":"10.1109/ICSA-C.2019.00018","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00018","url":null,"abstract":"Recent technological progress in computational engineering and systems design will enable the vision of autonomous driving coming true anytime soon. Functional but particularly also qualitative aspects of automotive functions are therefore gaining in importance more than ever before. This is due to the growing complexity of modern vehicles that gradually evolve into cyber-physical systems giving rise to the increasingly ambitious challenge of reliably validating the non-/functional integration of all their inherent subsystems. Thus, whereas traditional approaches to component and system testing are becoming more and more inappropriate for costs and general viability reasons, simulation-based methodologies offer an adequate solution due to their commonly scalable and generic nature. However, this is only true given a sufficiently high fidelity of the applied simulation models and a straightforward-in-use yet powerful-in-service evaluation platform with flexible support for execution semantics nesting, co-simulator coupling, and interfacing downstream tools with monitoring and visualization capabilities. In this regard, we introduce our concept of a continuous integration platform allowing for virtually prototyping technical systems of any kind that is applicable at any stage of the development process thanks to arbitrary levels of abstraction and wide-range tooling compatibility. This platform is based on the approved FERAL simulation framework at its core combined with versatile architectural components that are adaptable for domain-specific and cross-domain use cases. We focus this work on Advanced Driving Assistance Systems (ADAS) functions and showcase the end-user operation of the instantiated platform from the configuration of traffic scenarios over adjusting the functional logic and parameter values up to the visual validation of simulation results.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"36 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":"115798318","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
Evaluating Design Rationale in Architecture 评估建筑中的设计原理
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00033
P. D. Jong, J. V. D. Werf, Marlies van Steenbergen, Floris Bex, Matthieu J. S. Brinkhuis
Although architecture is often seen as the culmination of design decisions, design rationale is a suppositious child in architecture documentation. Many architecture frameworks and standards, like TOGAF and ISO/IEC 42010, recognize the importance, but do not offer any support in the rationale process. Recent initiatives have shown that simple means help in providing more rationale. However, there are very few studies that give evidence whether more rationale indeed leads to better quality. In this paper, we propose a non-invasive method, the Rationale Capture Cycle, that supports architects in capturing rationale during the design process. Through a controlled experiment with 10 experienced architects, we observe the effectiveness of the method in terms of design quality through different measures. The results of our experiments show that: (1) better rationale is strongly correlated with high quality, and (2) the test group with our proposed method outperforms the control group.
虽然架构通常被视为设计决策的高潮,但设计原理在架构文档中是一个假定的孩子。许多体系结构框架和标准,如TOGAF和ISO/IEC 42010,都认识到其重要性,但没有在基本原理过程中提供任何支持。最近的举措表明,简单的手段有助于提供更多的理由。然而,很少有研究能证明更多的理论基础是否真的能带来更好的质量。在本文中,我们提出了一种非侵入性的方法,即基本原理捕获周期,它支持架构师在设计过程中捕获基本原理。通过对10位经验丰富的建筑师的对照实验,我们通过不同的措施观察了该方法在设计质量方面的有效性。我们的实验结果表明:(1)更好的理论基础与高质量密切相关;(2)采用我们提出的方法的试验组优于对照组。
{"title":"Evaluating Design Rationale in Architecture","authors":"P. D. Jong, J. V. D. Werf, Marlies van Steenbergen, Floris Bex, Matthieu J. S. Brinkhuis","doi":"10.1109/ICSA-C.2019.00033","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00033","url":null,"abstract":"Although architecture is often seen as the culmination of design decisions, design rationale is a suppositious child in architecture documentation. Many architecture frameworks and standards, like TOGAF and ISO/IEC 42010, recognize the importance, but do not offer any support in the rationale process. Recent initiatives have shown that simple means help in providing more rationale. However, there are very few studies that give evidence whether more rationale indeed leads to better quality. In this paper, we propose a non-invasive method, the Rationale Capture Cycle, that supports architects in capturing rationale during the design process. Through a controlled experiment with 10 experienced architects, we observe the effectiveness of the method in terms of design quality through different measures. The results of our experiments show that: (1) better rationale is strongly correlated with high quality, and (2) the test group with our proposed method outperforms the control group.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"73 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":"127126091","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
Designing Safety Critical Software Systems to Manage Inherent Uncertainty 设计安全关键软件系统来管理固有的不确定性
Pub Date : 2019-03-01 DOI: 10.1109/ICSA-C.2019.00051
A. Serban
Deploying machine learning algorithms in safety critical systems raises new challenges for system designers. The opaque nature of some algorithms together with the potentially large input space makes reasoning or formally proving safety difficult. In this paper, we argue that the inherent uncertainty that comes from using certain classes of machine learning algorithms can be mitigated through the development of software architecture design patterns. New or adapted patterns will allow faster roll out time for new technologies and decrease the negative impact machine learning components can have on safety critical systems. We outline the important safety challenges that machine learning algorithms raise and define three important directions for the development of new architectural patterns.
在安全关键系统中部署机器学习算法给系统设计人员带来了新的挑战。一些算法的不透明性质以及潜在的大输入空间使得推理或正式证明安全性变得困难。在本文中,我们认为可以通过开发软件架构设计模式来减轻使用某些机器学习算法所带来的固有不确定性。新的或经过调整的模式将加快新技术的推出时间,并减少机器学习组件对安全关键系统的负面影响。我们概述了机器学习算法提出的重要安全挑战,并为新架构模式的发展定义了三个重要方向。
{"title":"Designing Safety Critical Software Systems to Manage Inherent Uncertainty","authors":"A. Serban","doi":"10.1109/ICSA-C.2019.00051","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00051","url":null,"abstract":"Deploying machine learning algorithms in safety critical systems raises new challenges for system designers. The opaque nature of some algorithms together with the potentially large input space makes reasoning or formally proving safety difficult. In this paper, we argue that the inherent uncertainty that comes from using certain classes of machine learning algorithms can be mitigated through the development of software architecture design patterns. New or adapted patterns will allow faster roll out time for new technologies and decrease the negative impact machine learning components can have on safety critical systems. We outline the important safety challenges that machine learning algorithms raise and define three important directions for the development of new architectural patterns.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"61 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":"123167594","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}
引用次数: 20
期刊
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