{"title":"A Pattern Adherence Analysis to a Blockchain Web Application","authors":"A. Abreu, E. Coutinho","doi":"10.1109/ICSA-C50368.2020.00028","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00028","url":null,"abstract":"Blockchain is an emerging technology that is attracting a lot of attention from both academia and industry. Blockchain when used as a decentralized technology could be utilized in various useful applications, such as healthcare, logistics, supply chain management, education, among others. However, there is the integration factor between technologies and environments, which have their own characteristics and challenges. A pattern is a solution with reusable fetures for a problem that commonly occurs in a given context during software design phases. Usually, when adopting a design pattern, there are trade-offs among quality attributes. In this context, using patterns can promote a better use for blockchain in traditional application and system development, and disseminate best practices. The aim of this paper is to analyze a traditional web application that uses blockchain features from the viewpoint of some patterns, specifically patterns that describe the blockchain integration with the outside world. As a result, we found that applying blockchain patterns can benefit systems, especially those that require integration with other systems, such as legacy or existing.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127788259","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}
Pamella Soares de Sousa, Nataniel Parente Nogueira, R. Santos, P. Maia, J. Souza
{"title":"Building a prototype based on Microservices and Blockchain technologies for notary’s office: An academic experience report","authors":"Pamella Soares de Sousa, Nataniel Parente Nogueira, R. Santos, P. Maia, J. Souza","doi":"10.1109/ICSA-C50368.2020.00031","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00031","url":null,"abstract":"The problem of lack of trust in data sharing between different parties can bureaucratize processes carried out by entities such as notary’s office. Blockchain technology can circumvent this problem by providing a distributed and unchanging base. By merging this technology with the microservice architecture, secure and robust systems can be created due to the independent deployments and development of microservices, thus easing the application maintenance and evolution. Considering the advantages in the combination of the mentioned technologies, the present work aims to propose an approach that allows the integration between notary’s offices and other institutions, ensuring security and celerity in the exchange of information between the parties. In this paper we report on our academic experience in the creation of the proposed approach, a pilot prototype, the development process and the tools used in the implementation, and the lessons learned.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134447476","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}
Alessio Bucaioni, John Lundbäck, Patrizio Pelliccione, S. Mubeen
{"title":"Architecting and Analysing Connected Autonomous Vehicles","authors":"Alessio Bucaioni, John Lundbäck, Patrizio Pelliccione, S. Mubeen","doi":"10.1109/ICSA-C50368.2020.00009","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00009","url":null,"abstract":"This tutorial focuses on the vehicular domain, which is living a very interesting moment due to the many challenges the domain is experiencing, including autonomy of vehicles, vehicles that are becoming constituent systems in the system-of-systems context and many more. The ever-increasing software complexity in vehicles requires software architecture descriptions, which enable the software developers to compare and relate different products across different vehicle programs, development units, and organisations (in the vehicular ecosystem). Many vehicular functions are constrained by stringent timing requirements. The developers of these functions are required to analyse and verify these requirements at the software architecture level and often very early during the development process [1], [2]. In this context, the tutorial focuses on the design and timing predictability verification of vehicular software architectures for different Electrical and Electronic (E/E) architectures in connected and autonomous vehicles. The key takeaways of the tutorial are: i) an overview of the software development for various vehicular E/E architectures; ii) an overview of state of the art in the area; iii) understanding rudiments and value of timing analysis for this domain; iv) experience an industrial process for architecting and analysing the vehicle software via hands-on practice and demonstration.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128851915","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}
Satya Sai Srinivas Abbabathula, Nataraj Kuntagod, R. Rote, Sanjay Podder
{"title":"Last Mile Healthcare Through Micro-entrepreneurs","authors":"Satya Sai Srinivas Abbabathula, Nataraj Kuntagod, R. Rote, Sanjay Podder","doi":"10.1109/ICSA-C50368.2020.00039","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00039","url":null,"abstract":"Rapid unplanned urbanization and unhealthy lifestyle habits are contributing to a significant increase in non-communicable diseases (NCD). As per WHO [1], almost three quarters of NCD deaths occur in low and middle-income countries. This problem is compounded due to lack of awareness and accessibility to affordable healthcare.In such countries, with physical infrastructure lagging and access to primary healthcare itself a challenge, a shift from treating illness to promoting and maintaining wellness through health enablers like outreach healthcare providers is emerging as a viable alternative. While the community health worker (CHW) model has shown to influence better health outcomes in rural areas, generating adequate financial incentives for CHWs to sustain the program is a challenge. In this paper, we explore the architecture of a digital system that can address the demand for quality primary healthcare by creating a new channel of technology-enabled healthcare micro-entrepreneurs who will act as the last mile connect between the hospitals and the citizens. We present the pilot results conducted with 45 health navigators at Channapatna, India.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"86 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117290755","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":"The Impact of Constructors on the Validity of Class Cohesion Metrics","authors":"Yegor Bugayenko","doi":"10.1109/ICSA-C50368.2020.00021","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00021","url":null,"abstract":"Class cohesion is a measure of the degree to which a class’s inner elements, like methods and attributes, are bound or related to one another. There have been over thirty different formulas proposed in order to calculate the metric. None of them are explicitly designed to deal with constructors in any different way than with regular methods—they simply treat them as identical entities. However, as many object-oriented theorists say, constructors play a very specific role in object life-cycle. In the scope of this empirical research, five different formulas were implemented in two ways: including constructors and excluding them. Then both set of formulas were applied to the same set of 1000 mid-size open source Java projects. The results obtained demonstrated how much of a distraction constructors were bringing into metric calculations.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134104340","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":"How ‘micro’ are your services?","authors":"T. Rosa, A. Goldman, E. Guerra","doi":"10.1109/ICSA-C50368.2020.00023","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00023","url":null,"abstract":"Microservice is an architectural style that proposes that a complex system should be developed from small and independent services that work together. There is not a welldefined boundary about when a software architecture can be considered based on microservices or not. Because of that, defining microservices context and infrastructure is challenging, especially to characterize aspects related to microservice size, data consistency, and microservices coupling. Thus, it is crucial to understand the microservices-based software characteristics, to comprehend the impact of some evolutions on architecture, and evaluate how much a particular architecture fits the microservices architectural style. Therefore, based on bibliographic research and case studies conducted in academical and industrial environments, we aim to propose a model to characterize the architecture structure based on the main guidelines of the microservice architectural style. This model introduces dimensions that measure characteristics based on modules size, coupling to data sources, and service collaboration. This study should facilitate the mapping, measurement, and monitoring of different impacts generated in the software architecture from increments and refactoring performed. This work is on the initial development stage and as a result, we expected that the model supports architectural decisions that consider different quality attributes to achieve the right balance between service independence and collaboration for a given system.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116287630","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":"Evaluating Frameworks Assemblies In Microservices-based Systems Using Imperfect Information","authors":"Gastón Márquez, Yoslandy Lazo, H. Astudillo","doi":"10.1109/ICSA-C50368.2020.00049","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00049","url":null,"abstract":"Microservices is an architectural style that promotes the facility to build and maintain systems by breaking down its business capabilities into smaller and distributed services. Often, practitioners commonly use frameworks to provide generic functionalities to address recurring quality attribute concerns on microservices-based systems. Nevertheless, in practical settings, frameworks information is incomplete, imprecise, and changing as well as requirements. More realistically deployable approaches combine the exploration of candidate architectures with their evaluation regarding requirements satisfaction and the fuzziness and incompleteness available frameworks information. This article outlines a novel technique, called $mu$Azimut, whose purpose is to generate, evaluate, and compare frameworks assemblies using potentially incomplete, imprecise, and changing descriptions of non-functional requirements and frameworks. The frameworks assemblies evaluation is based on a support score which allows modeling imperfect architectural knowledge. The technique is evaluated in an industrial case study. The results point out that $mu$Azimut generates solutions that are close to those solutions that an architect selects for designing microservices architectures.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"177 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131720327","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 Medical Device Software CE Compliance and Conformity Assessment","authors":"Tuomas Granlund, T. Mikkonen, Vlad Stirbu","doi":"10.1109/ICSA-C50368.2020.00040","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00040","url":null,"abstract":"Manufacturing of medical devices is strictly controlled by authorities, and manufacturers must conform to the regulatory requirements of the region in which a medical device is being marketed for use. In general, these requirements make no difference between the physical device, embedded software running inside a physical device. or software that constitutes the device in itself. As a result, standalone software with intended medical use is considered to be a medical device. Consequently, its development must meet the same requirements as the physical medical device manufacturing. This practice creates a unique challenge for organizations developing medical software. In this paper, we pinpoint a number of regulatory requirement mismatches between physical medical devices and standalone medical device software. The view is based on experiences from industry, from the development of all-software medical devices as well as from defining the manufacturing process so that it meets the regulatory requirements.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127465877","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":"Automated Security Analysis for Microservice Architecture","authors":"Nacha Chondamrongkul, Jing Sun, I. Warren","doi":"10.1109/ICSA-C50368.2020.00024","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00024","url":null,"abstract":"Designing a software system that applied the microservice architecture style is a challenging task, as its characteristics are vulnerable to various security attacks. Software architect, therefore, needs to pinpoint the security flaws in the design before the implementation can proceed. This task is error-prone as it requires manual analysis on the design model, to identify security threats and trace possible attack scenarios. This paper presents an automated security analysis approach for microservice architecture. Our approach can automatically identify security threats according to a collection of formally defined security characteristics and provide an insightful result that demonstrates how the attack scenarios may happen. A collection of formally defined security characteristics can be extended to support other security characteristics not addressed in this paper.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121071565","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}