{"title":"A Process Model for Elastic and Resilient IoT Applications with Emergent Behaviors","authors":"Floriment Klinaku, M. A. Hakamian, Markus Frank","doi":"10.1109/ICSA-C.2019.00012","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00012","url":null,"abstract":"The forming of flocks from birds is a well-known example of emergent behaviors. In the Internet of Things (loT), where many independently programmed devices are interconnected, emergent behaviors can occur. One example is the formation of platoons from independent and autonomous vehicles. Ongoing efforts exist to engineer emergent IoT applications and preserve quality attributes like elasticity and resilience. However, to the best of our knowledge, a process which guides teams in designing, developing and operating emergent IoT applications with the focus on elasticity and resilience is missing. Therefore, in this paper, we deduce heuristically an initial process model which consists of steps and processes to be established in the design, development and operation of emergent IoT applications for elasticity and resilience. Furthermore, through a running example, we identify four aspects which characterize emergent behaviors: unpredictability, detectability, affinity and optimization opportunity. The proposed process model aligns with the identified characteristics.","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-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128918329","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}
Manoj Bhat, Christof Tinnes, Klym Shumaiev, A. Biesdorf, U. Hohenstein, F. Matthes
{"title":"ADeX: A Tool for Automatic Curation of Design Decision Knowledge for Architectural Decision Recommendations","authors":"Manoj Bhat, Christof Tinnes, Klym Shumaiev, A. Biesdorf, U. Hohenstein, F. Matthes","doi":"10.1109/ICSA-C.2019.00035","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00035","url":null,"abstract":"Software architecture can be seen as a set of architectural design decisions. These decisions, especially their rationale, play an important role in understanding software systems and constraints that are imposed on future design decisions. Documenting and managing these design decisions takes a lot of effort and is therefore often neglected by software architects. Following our vision to avoid explicit architectural knowledge management, we present an innovative tool used in industrial practise that is able to automatically recover design decisions from natural language text. The identified design decisions are then used to automatically derive further architectural knowledge, including related quality attributes and architectural elements to inhibit architectural erosion. By automatically enriching architectural knowledge and providing recommendations, the tool offers effective support for software architects in the decision-making process. The knowledge base of the tool is automatically kept up to date with information from different systems used by architects during the software development lifecycle process.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"35 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120879882","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}
J. Bogner, Tobias Boceck, M. Popp, Dennis Tschechlov, S. Wagner, A. Zimmermann
{"title":"Towards a Collaborative Repository for the Documentation of Service-Based Antipatterns and Bad Smells","authors":"J. Bogner, Tobias Boceck, M. Popp, Dennis Tschechlov, S. Wagner, A. Zimmermann","doi":"10.1109/ICSA-C.2019.00025","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00025","url":null,"abstract":"While the concepts of object-oriented antipatterns and code smells are prevalent in scientific literature and have been popularized by tools like SonarQube, the research field for service-based antipatterns and bad smells is not as cohesive and organized. The description of these antipatterns is distributed across several publications with no holistic schema or taxonomy. Furthermore, there is currently little synergy between documented antipatterns for the architectural styles SOA and Microservices, even though several antipatterns may hold value for both. We therefore conducted a Systematic Literature Review (SLR) that identified 14 primary studies. 36 service-based antipatterns were extracted from these studies and documented with a holistic data model. We also categorized the antipatterns with a taxonomy and implemented relationships between them. Lastly, we developed a web application for convenient browsing and implemented a GitHub-based repository and workflow for the collaborative evolution of the collection. Researchers and practitioners can use the repository as a reference, for training and education, or for quality assurance.","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-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129952533","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}
L. Santos, Jorge Pereira, Eduardo Silva, T. Batista, Everton Cavalcante, Jair C. Leite
{"title":"Identifying Requirements for Architectural Modeling in Internet of Things Applications","authors":"L. Santos, Jorge Pereira, Eduardo Silva, T. Batista, Everton Cavalcante, Jair C. Leite","doi":"10.1109/ICSA-C.2019.00011","DOIUrl":"https://doi.org/10.1109/ICSA-C.2019.00011","url":null,"abstract":"The Internet of Things (IoT) paradigm has given rise to the emergence of many complex applications with specific requirements that impact different activities of the software development process. Considering the fundamental role of software architectures in the development of successful software-intensive systems, approaches at the architectural level need to cope with loT-specific requirements as well as to offer proper abstractions to allow for their representation, verification, and validation. In this paper, we present the results of a systematic mapping study aimed to identify and understand important requirements for architectural modeling in IoT applications. We selected and analyzed 14 primary studies available at the literature, coming up with six requirements regarded as important for modeling architectures of IoT applications. We concluded that (i) some of these requirements are neglected by the existing approaches and (ii) few software architecture approaches consider specific concerns when modeling IoT applications.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"38 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":"130814161","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}
Pablo Cruz, H. Astudillo, R. Hilliard, Miguel Collado
{"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}
{"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}
{"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}
Felipe Cerezo, C. E. Cuesta, Jose Carlos Moreno-Herranz, Belén Vela
{"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}
S. Sehestedt, G. Giannopoulou, A. Monot, M. Wahler
{"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}
{"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}