{"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}
{"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}
Marian Daun, Jennifer Brings, Patricia Aluko Obe, Stefanie Weiß, B. Böhm, S. Unverdorben
{"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}
A. Bachorek, Felix Schulte-Langforth, Alexander Witton, T. Kuhn, P. Antonino
{"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}
Tobias Wägemann, Ramin Tavakoli Kolagari, Klaus Schmid
{"title":"Exploring Automotive Stakeholder Requirements for Architecture Optimization Support","authors":"Tobias Wägemann, Ramin Tavakoli Kolagari, Klaus Schmid","doi":"10.1109/ICSA-C.2019.00015","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00015","url":null,"abstract":"In automotive system design, system architects increasingly use model-based approaches for defining product line architectures (PLAs). This trend is strongly supported by the emergence of domain standards like EAST-ADL and AUTOSAR that facilitate a system design approach based on systematic reuse. In our work, we focus on the automated exploration of PLA design spaces by means of multi-objective optimization and ask what are challenges that stakeholders face as part of this design task. Optimizing PLA design spaces shares certain challenges with conventional architecture optimization, like conflicting quality goals and potentially vast design spaces. However, PLA optimization exacerbates these challenges by an additional layer of complexity in the system architecture, due to product line variability in the system. Our main focus in this paper is on achieving a better understanding of the stakeholder requirements on a support infrastructure for automated PLA design space exploration based on PLA system models. We also address the challenges that stakeholders must overcome when integrating such an approach into an existing process landscape. For that purpose, we conducted a study with automotive industry experts and analyzed the findings using the qualitative data analysis methods of Grounded Theory. Based on the study results, we derive a set of challenges for the realization and integration of automated and semi-automated PLA design space exploration in industrial environments.","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":"115299693","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}
{"title":"Refactoring Decision Support for Developers and Architects Based on Architectural Impact","authors":"Paula Rachow","doi":"10.1109/ICSA-C.2019.00054","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00054","url":null,"abstract":"Refactorings are key activities for achieving sustainable software systems. However, refactorings demand high effort and features are often deemed more important. The time pressure to deliver is always high and to select important refactorings, one has to consider manifold criteria. Current approaches only relate to code smells and design flaws, and do not take architectural impact into consideration. The project aims at developing a decision framework integrating architecture smell detection, selection of appropriate refactorings and impact analysis to prioritize refactorings and support not only developers but also software architects. It shall be evaluated using control groups by measuring and comparing the required time and the resulting software quality.","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":"116053853","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}
W. Hasselbring, S. Henning, Björn Latte, Armin Möbius, T. Richter, Stefani Schalk, Maik Wojcieszak
{"title":"Industrial DevOps","authors":"W. Hasselbring, S. Henning, Björn Latte, Armin Möbius, T. Richter, Stefani Schalk, Maik Wojcieszak","doi":"10.1109/ICSA-C.2019.00029","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00029","url":null,"abstract":"The visions and ideas of Industry 4.0 require a profound interconnection of machines, plants, and IT systems in industrial production environments. This significantly increases the importance of software, which is coincidentally one of the main obstacles to the introduction of Industry 4.0. Lack of experience and knowledge, high investment and maintenance costs, as well as uncertainty about future developments cause many small and medium-sized enterprises hesitating to adopt Industry 4.0 solutions. We propose Industrial DevOps as an approach to introduce methods and culture of DevOps into industrial production environments. The fundamental concept of this approach is a continuous process of operation, observation, and development of the entire production environment. This way, all stakeholders, systems, and data can thus be integrated via incremental steps and adjustments can be made quickly. Furthermore, we present the Titan software platform accompanied by a role model for integrating production environments with Industrial DevOps. In two initial industrial application scenarios, we address the challenges of energy management and predictive maintenance with the methods, organizational structures, and tools of Industrial DevOps.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"25 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":"123612350","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}
{"title":"Risk Containers - A Help or Hindrance to Practitioners?","authors":"Andrew Leigh, M. Wermelinger, A. Zisman","doi":"10.1109/ICSA-C.2019.00047","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00047","url":null,"abstract":"Finding problems at the design stage reduces the cost to resolve them. Previous studies have indicated that error-proneness risks can be isolated into risk containers created from architectural designs, to help mitigate such risks early on. Here we describe an ongoing experiment to establish whether presenting designs as a collection of such containers helps practitioners manage the isolated risks. Participants must identify cyclic dependencies that could result in error-proneness and assess the impact of design changes. The emerging results suggest it takes participants longer to locate cyclic dependencies in collections of container diagrams than it does in a single diagram representing the whole design. Participants who reviewed collections of container diagrams tended to identify more cyclic dependencies correctly than those using a single diagram. Although, the results suggest that presenting a design as a collection of containers has no overall bearing on a participant's ability to correctly identify impacts of design changes, in cases where changes span multiple container diagram no errors in change impact detection were observed. Errors were observed when assessing the same change using a single diagram representing the whole design.","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":"122904967","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}
{"title":"Component Comparison, Evaluation, and Selection: A Continuous Approach","authors":"Neil A. Ernst, R. Kazman, Philip Bianco","doi":"10.1109/ICSA-C.2019.00023","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00023","url":null,"abstract":"Early visions of component-based software development have been realized, with software projects now composed mostly of other peoples code. However, the challenge of selecting the best components, with speed and confidence in the result, has only become more difficult. Previous work has focused on systematic approaches to component selection, but in continuous*and agile settings, the increase in confidence from being systematic is not worth the cost of delay. In this emerging ideas paper, we present early results on work to balance speed with confidence in component selection. Our idea is to define a scorecard for components based on high-level quality attribute indicators, project health measures, and a context-specific aggregation function for producing a single yes/no decision for integrators. We present preliminary results showing how this scorecard approach works on computer vision components.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"23 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":"124092353","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}
P. D. Jong, J. V. D. Werf, Marlies van Steenbergen, Floris Bex, Matthieu J. S. Brinkhuis
{"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}