Pub Date : 2019-03-25DOI: 10.1109/ICSA-C.2019.00039
Pablo Cruz, H. Astudillo, R. Hilliard, Miguel Collado
Architecture evaluation is a systematic approach to evaluate target architectures and ATAM (Architectural Trade-off Analysis Method) is one of the available methods. Migration of software systems imply many architectural decisions that should be systematically evaluated to assess concrete trade-offs and risks. This article reports on the ATAM usage at a mid-size Chilean specialty software development company to assess the migration of its 20-year old flagship product to a micro-service platform. Over three days, 10 key architectural decisions, addressing 35 scenarios, were considered. Since almost all requirements were deemed essential for legal reasons, the evaluation scheme used a modified importance dimension distinguishing among business-key (first line deal breakers), legally-mandated (second-line deal breakers), and desirable requirements. Key lessons learned include the very positive client feedback on the introduction of systematic evaluation of architectural choices using business criteria.
{"title":"Assessing Migration of a 20-Year-Old System to a Micro-Service Platform Using ATAM","authors":"Pablo Cruz, H. Astudillo, R. Hilliard, Miguel Collado","doi":"10.1109/ICSA-C.2019.00039","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00039","url":null,"abstract":"Architecture evaluation is a systematic approach to evaluate target architectures and ATAM (Architectural Trade-off Analysis Method) is one of the available methods. Migration of software systems imply many architectural decisions that should be systematically evaluated to assess concrete trade-offs and risks. This article reports on the ATAM usage at a mid-size Chilean specialty software development company to assess the migration of its 20-year old flagship product to a micro-service platform. Over three days, 10 key architectural decisions, addressing 35 scenarios, were considered. Since almost all requirements were deemed essential for legal reasons, the evaluation scheme used a modified importance dimension distinguishing among business-key (first line deal breakers), legally-mandated (second-line deal breakers), and desirable requirements. Key lessons learned include the very positive client feedback on the introduction of systematic evaluation of architectural choices using business criteria.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126425038","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2019-03-01DOI: 10.1109/ICSA-C.2019.00026
C. Paule, Thomas F. Düllmann, A. Hoorn
More and more companies are in the process of adopting modern continuous software development practices and approaches like continuous integration (CI), continuous delivery (CD), or DevOps. These approaches can support companies in order to increase the development speed, the frequency of product increments, and the time to market. To be able to get these advantages, especially the tooling and infrastructure need to be reliable and secure. In case CI/CD is compromised or even unavailable, all mentioned advantages are at stake. Potentially, this could also even hinder the forthcoming of the software development. Therefore, our goal was to identify which vulnerabilities are present in industry CD pipelines and how they can be detected. In this paper, we present our results of an industry case study which includes a qualitative survey of agile project teams regarding the awareness of security in CI/CD, the analysis and abstraction of two CD pipelines, and a threat analysis based on the deducted CD pipeline to identify vulnerabilities. In this case study, we found that the team members that work with the CD pipeline in different roles do not have a strong security background but are aware of security attributes in general. Furthermore, two CD pipelines from industry projects were analyzed using the STRIDE threat analysis approach. In total, we identified 22 vulnerabilities that have been confirmed by the project teams.
{"title":"Vulnerabilities in Continuous Delivery Pipelines? A Case Study","authors":"C. Paule, Thomas F. Düllmann, A. Hoorn","doi":"10.1109/ICSA-C.2019.00026","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00026","url":null,"abstract":"More and more companies are in the process of adopting modern continuous software development practices and approaches like continuous integration (CI), continuous delivery (CD), or DevOps. These approaches can support companies in order to increase the development speed, the frequency of product increments, and the time to market. To be able to get these advantages, especially the tooling and infrastructure need to be reliable and secure. In case CI/CD is compromised or even unavailable, all mentioned advantages are at stake. Potentially, this could also even hinder the forthcoming of the software development. Therefore, our goal was to identify which vulnerabilities are present in industry CD pipelines and how they can be detected. In this paper, we present our results of an industry case study which includes a qualitative survey of agile project teams regarding the awareness of security in CI/CD, the analysis and abstraction of two CD pipelines, and a threat analysis based on the deducted CD pipeline to identify vulnerabilities. In this case study, we found that the team members that work with the CD pipeline in different roles do not have a strong security background but are aware of security attributes in general. Furthermore, two CD pipelines from industry projects were analyzed using the STRIDE threat analysis approach. In total, we identified 22 vulnerabilities that have been confirmed by the project teams.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"499 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122200692","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2019-03-01DOI: 10.1109/ICSA-C.2019.00017
Vadim Cebotari, Stefan Kugele
Context: Current trends in the automotive industry like automated driving, machine intelligence, and digitisation introduce more and more complex functions and their interplay in in-vehicle architectures. To cope with this complexity, car makers are introducing particularly tailored service-oriented architectures. Aim: We aim at developing a formal and methodological approach to model and structure automotive service architectures. Method: We present a formal model to specify and group automotive service-oriented architectures following a classification scheme. Furthermore, a well-defined property model is introduced facilitating the specification and verification of deployment and run-time requirements. The approach is illustrated using a realistic case example. Conclusion: The presented approach works well for the used case example but needs to be further evaluated in depth in the future. However, we strongly believe that the framework is promising and will receive further attention in future work.
{"title":"On the Nature of Automotive Service Architectures","authors":"Vadim Cebotari, Stefan Kugele","doi":"10.1109/ICSA-C.2019.00017","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00017","url":null,"abstract":"Context: Current trends in the automotive industry like automated driving, machine intelligence, and digitisation introduce more and more complex functions and their interplay in in-vehicle architectures. To cope with this complexity, car makers are introducing particularly tailored service-oriented architectures. Aim: We aim at developing a formal and methodological approach to model and structure automotive service architectures. Method: We present a formal model to specify and group automotive service-oriented architectures following a classification scheme. Furthermore, a well-defined property model is introduced facilitating the specification and verification of deployment and run-time requirements. The approach is illustrated using a realistic case example. Conclusion: The presented approach works well for the used case example but needs to be further evaluated in depth in the future. However, we strongly believe that the framework is promising and will receive further attention in future work.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128608849","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2019-03-01DOI: 10.1109/ICSA-C.2019.00042
Felipe Cerezo, C. E. Cuesta, Jose Carlos Moreno-Herranz, Belén Vela
In this paper we propose a new architecture for the development of big data projects which combine real time and batch processing. The starting point was the Lambda architecture, but several important limitations were detected when applying it to a real big data project. To solve all these issues and to be able to develop the project in a more satisfactory manner, the Lambda architecture was evolved, and as a result we have created a new and more flexible architecture. With this new architecture we were able to complete our project successfully, optimizing hardware usage, using a smaller development team and making the final result easier to maintain. Based in our experience, this new architecture, called Phi, seems to be generic enough to be widely applied to big data projects. This architecture, though more specific than Lambda, could improve and make easier the development and evolution of such projects.
{"title":"Deconstructing the Lambda Architecture: An Experience Report","authors":"Felipe Cerezo, C. E. Cuesta, Jose Carlos Moreno-Herranz, Belén Vela","doi":"10.1109/ICSA-C.2019.00042","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00042","url":null,"abstract":"In this paper we propose a new architecture for the development of big data projects which combine real time and batch processing. The starting point was the Lambda architecture, but several important limitations were detected when applying it to a real big data project. To solve all these issues and to be able to develop the project in a more satisfactory manner, the Lambda architecture was evolved, and as a result we have created a new and more flexible architecture. With this new architecture we were able to complete our project successfully, optimizing hardware usage, using a smaller development team and making the final result easier to maintain. Based in our experience, this new architecture, called Phi, seems to be generic enough to be widely applied to big data projects. This architecture, though more specific than Lambda, could improve and make easier the development and evolution of such projects.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"177 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132486181","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2019-03-01DOI: 10.1109/ICSA-C.2019.00045
S. Sehestedt, G. Giannopoulou, A. Monot, M. Wahler
Software for embedded systems has strict requirements on stability; therefore, software updates are commonly avoided. Combined with common limitations and challenges of embedded system development, this leads to slow innovation cycles. This stands in contrast to desktop and cloud systems with rapid innovation cycles, supported by powerful toolchains and established mechanisms for seamless deployment. We present a four-step approach for refactoring the architecture of an embedded firmware such that the firmware can be built, run, and tested on powerful hardware, including cloud environments. In a case involving a commercial product, we show the effectiveness of the approach. The new architecture enables more efficient product development, more flexibility in the deployment, and hence shortened innovation cycles.
{"title":"Virtualizing Embedded Firmware to Boost Innovation Cycles","authors":"S. Sehestedt, G. Giannopoulou, A. Monot, M. Wahler","doi":"10.1109/ICSA-C.2019.00045","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00045","url":null,"abstract":"Software for embedded systems has strict requirements on stability; therefore, software updates are commonly avoided. Combined with common limitations and challenges of embedded system development, this leads to slow innovation cycles. This stands in contrast to desktop and cloud systems with rapid innovation cycles, supported by powerful toolchains and established mechanisms for seamless deployment. We present a four-step approach for refactoring the architecture of an embedded firmware such that the firmware can be built, run, and tested on powerful hardware, including cloud environments. In a case involving a commercial product, we show the effectiveness of the approach. The new architecture enables more efficient product development, more flexibility in the deployment, and hence shortened innovation cycles.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130098526","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2019-03-01DOI: 10.1109/ICSA-C.2019.00022
Thomas M. Galla
Until 2005 the software development in the area of mainstream computing enjoyed a free lunch profiting from the exponential growth of transistor densities and resulting clock speeds of Moore's Law. Existing software benefitted from hardware changes without requiring modification. In 2005, however, mainstream computing hit a wall due to the limit in increasing the clock speed. As a result, chip manufacturers started to turn towards hyperthreading and homogeneous and later on heterogeneous multi-core architectures in order to achieve further performance gains. To benefit from these hardware changes, existing software had to be parallelized and modified to deal with the heterogeneity. The period of the unicore free lunch was over.
{"title":"Unleashing the Power of Multi-Core MCUs by AUTOSAR Communication Stack Software Distribution","authors":"Thomas M. Galla","doi":"10.1109/ICSA-C.2019.00022","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00022","url":null,"abstract":"Until 2005 the software development in the area of mainstream computing enjoyed a free lunch profiting from the exponential growth of transistor densities and resulting clock speeds of Moore's Law. Existing software benefitted from hardware changes without requiring modification. In 2005, however, mainstream computing hit a wall due to the limit in increasing the clock speed. As a result, chip manufacturers started to turn towards hyperthreading and homogeneous and later on heterogeneous multi-core architectures in order to achieve further performance gains. To benefit from these hardware changes, existing software had to be parallelized and modified to deal with the heterogeneity. The period of the unicore free lunch was over.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115688965","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2019-03-01DOI: 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}
Pub Date : 2019-03-01DOI: 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.
{"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}
Pub Date : 2019-03-01DOI: 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.
{"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}
Pub Date : 2019-03-01DOI: 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.
{"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}