{"title":"Understanding Software Systems through Interactive Pattern Detection","authors":"Everton T. Guimarães, Yuanfang Cai","doi":"10.1109/ICSA-C50368.2020.00017","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00017","url":null,"abstract":"Architectural and design patterns are the building blocks of modern software systems. Understanding patterns applied in these systems is critical to comprehend their architecture. Current research is not adequately addressing either the architecture recovery and comprehension problem nor the pattern detection problem. What makes it more complicated is the gaining popularity of new language and multiple languages, which makes existing pattern recognition techniques infeasible. Our vision is to allow developers to interactively understand the complexity of a software system by grasping the key abstractions of the system and extracting the associated design spaces and patterns. The long-term objective is to create an interactive and language-independent pattern-oriented architecture recovery framework. We propose to standardize the design structure framed by major patterns, against which the user can detect the variation of design patterns and potential violations.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"108 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":"124818971","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}
E. Coutinho, Diogo Eliseu Paulo, A. Abreu, C. Bezerra
{"title":"Towards Cloud Computing and Blockchain Integrated Applications","authors":"E. Coutinho, Diogo Eliseu Paulo, A. Abreu, C. Bezerra","doi":"10.1109/ICSA-C50368.2020.00033","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00033","url":null,"abstract":"Cloud Computing is a technology widely used in academia and industry, providing varied services on demand. Blockchain technology was developed initially for the creation of a crypto-currency and nowadays is being exploited for several other applications, such as health, agriculture, IoT and education. Some work initiatives are already taking place with the integration of these two technologies, either for research or for cloud service provision. This article aims to present a preliminary discussion on some aspects of integration between blockchain and cloud computing. Contributions of this paper include: (i) presentation of two integrated commercial cloud computing and blockchain environments; and (ii) some research opportunities on the use of both environments.","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":"128340965","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":"A Lightweight Architecture Analysis of a Monolithic Messaging Gateway","authors":"Daniel Brahneborg, W. Afzal","doi":"10.1109/ICSA-C50368.2020.00013","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00013","url":null,"abstract":"Background: The Enterprise Messaging Gateway (EMG) from Infoflex Connect (ICAB) is a monolithic system used to deliver mobile text messages (SMS) world-wide. The companies using it have diverse requirements on both functionality and quality attributes and would thus benefit from more versatile customizations, e.g. regarding authorization and data replication. Objective: ICAB needed help in assessing the current architecture of EMG in order to find candidates for architectural changes as well as fulfilling the needs of variability in meeting the wide range of customer requirements. Method: We analysed EMG using a lightweight version of ATAM (Architectural Trade-off Analysis Method) to get a better understanding of how different architectural decisions would affect the trade-offs between the quality requirements from the identified stakeholders. Result: Using the results of this structured approach, it was easy for ICAB to identify the functionality that needed to be improved. It also became clear that the selected component should be converted into a set of microservices, each one optimized for a specific set of customers. Limitation: The stakeholder requirements were gathered intermittently during a long period of continuous engagement, but there is a chance some of their requirements were still not communicated to us. Conclusion: Even though this ATAM study was performed internally at ICAB without direct involvement from any external stakeholders, documenting elicited quality attribute requirements and relating them to the EMG architecture provided new, unexpected, and valuable understandings of the system with a rather small effort.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"41 2 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":"128213685","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}
Paulo Gabriel Teixeira, B. Lebtag, R. Santos, J. Fernandes, Ahmad Mohsin, M. Kassab, Valdemar Vicente Graciano Neto
{"title":"Constituent System Design: A Software Architecture Approach","authors":"Paulo Gabriel Teixeira, B. Lebtag, R. Santos, J. Fernandes, Ahmad Mohsin, M. Kassab, Valdemar Vicente Graciano Neto","doi":"10.1109/ICSA-C50368.2020.00045","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00045","url":null,"abstract":"Over the years, knowledge on how to engineer software-intensive system-of-systems (SoS) have been expanded and advanced. With the emergence of smart cities, which is a remarkable example of SoS, there is also an emerging need that almost any type of system should be prepared to join the smart city system and become a constituent of that SoS, even temporarily. However, several attempts to build a real SoS have stumbled on the limitations of single systems, also known as Constituent System (CS), to fully interoperate in the context of a SoS. The majority of the existing systems were not designed to be part of a SoS, interoperate in a instantaneous way, or maintain their operational independence despite their participation in one or more SoS. Based on this context, the main contribution of this paper is to exploit how to design a software architecture for systems that are intended to become part of a SoS in the future. We conducted a software architecture design process to conceive a constituent architecture for Urban Mobility domain as CS. We evaluated the architecture by means of simulation. Preliminary results reveal that our proposal comply with the requirements raised during the architectural design process and can increase the possibility of a system to be a constituent of SoS.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"163 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":"122958155","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}
Mauricio Moreira Neto, Carlos S. S. Marinho, E. Coutinho, L. O. Moreira, Javam C. Machado, J. Souza
{"title":"Research Opportunities for E-health Applications with DNA Sequence Data using Blockchain Technology","authors":"Mauricio Moreira Neto, Carlos S. S. Marinho, E. Coutinho, L. O. Moreira, Javam C. Machado, J. Souza","doi":"10.1109/ICSA-C50368.2020.00027","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00027","url":null,"abstract":"E-health applications are health-related computing solutions that use the internet to provide services to users. One of the main challenges of E-health applications is the data privacy and security of patients. E-health application need should provide security and privacy mechanisms due to sensitive user data such as medical exams, DNA sequences, and others. Blockchain technology has become a research focus on several sectors that require their inherent characteristics, especially, about the security and privacy of data. This paper aims to present research opportunities with the use of Blockchain technology in applications that manipulate DNA sequence data. For this purpose, we propose an architecture for general E-health applications with Blockchain and implement a Proof of Concept (POC) to analyze the use of Blockchain technology in E-health applications using DNA sequence data. We also listed a set of research opportunities that permeate this topic.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"9 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":"128909437","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}
Joanna C. S. Santos, Sara Moshtari, Mehdi Mirakhorli
{"title":"An Automated Approach to Recover the Use-case View of an Architecture","authors":"Joanna C. S. Santos, Sara Moshtari, Mehdi Mirakhorli","doi":"10.1109/ICSA-C50368.2020.00020","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00020","url":null,"abstract":"Many tools and techniques were described in the literature for automated recovery of software architecture from software artifacts, such as code. These approaches generate models of software architecture at different levels of granularity and notations. Whereas there is a vast literature in recovering components, packages, and interactions between them, we lack automated approaches for recovering the use-case view of an architecture. In the 4+1 view of the architecture, use-case view or scenarios represents a view of the architecture in terms of the systems’ core functionalities provided to end-users. This view is essential in understanding the system and its underlying architectural decisions. Manually recovering and documenting the application’s scenarios from source code is time-consuming, as large-scale enterprise systems can have a large number of scenarios. In this NEMI paper, we present a novel automated approach for recovering the scenarios from Web applications source code. These scenarios are shown in use case diagrams alongside with sequence diagrams that further describe how each use case is implemented in the system. Our approach works under the assumption that the URLs (endpoints) of a Web application can give us clues to the system’s use cases. Therefore, our technique combines a set of heuristics and static analysis in order to detect the endpoints in a Java Web application as well as the backend classes and methods that will process the request. Subsequently, it uses Natural Language Processing (NLP) techniques to extract use cases from these identified endpoints and uses the computed program slices to generate sequence diagrams for each identified use case. We conducted an initial evaluation of our approach by detecting endpoints in Sagan, an existing open-source Web application. We then demonstrate the use cases generated and how their implementation looks like through sequence diagrams.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"33 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":"116134859","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":"DPF: App for diagnosing the psychological profile of a possible feminicide","authors":"I. Ramirez, David Mauricio","doi":"10.1109/ICSA-C50368.2020.00036","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00036","url":null,"abstract":"The most visible expression of violence against women is feminicide. The majority of feminicide cases are committed by the partner or former partner of the victim. This involves ongoing domestic abuses, threats or intimidation, sexual violence or situations in which women have less energy or resources than their partner. In addition, clinics, public hospitals or private health institutes have mental health evaluation processes, however, these flows are usually carried out in several sessions, which causes a delay in the diagnosis. In this article, a mobile application that supports psychologists or psychiatrists during the process of the psychological profile diagnosis is proposed. The system contains a questionnaire and psychological tests, in this way, based on the patient responses, indicators, and metrics, the psychological profile of the assailant is obtained as a result. The use of the system in 40 patients shows that the selection times and the psychological test qualification have improved, as well as the interpretation of the results and the total process of diagnosis, which, when obtained at opportune time, allows specialists to prevent the victim from a possible feminicide.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"261 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":"115962565","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":"A Classification of Replicated Data for the Design of Eventually Consistent Domain Models","authors":"Susanne Braun, S. Deßloch","doi":"10.1109/ICSA-C50368.2020.00014","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00014","url":null,"abstract":"With the rise of Big Data and digital ecosystems, software architects need the ability to design data-intensive systems in a highly scalable and available manner. Increasingly, data is no longer persisted in one central relational database, but distributed and replicated across different replication nodes running only under eventual consistency. Consequently, there is no longer a single system that could mask all the nasty details and pitfalls of concurrently accessing distributed and replicated data, which poses a lot of new challenges to software architects and developers. Eventually Consistent Domain Driven Design (ECD3) is a novel data replication framework that can exploit the semantics of business operations (like commutativity) in order to increase the number of updates that can run concurrently and free of concurrency anomalies on different replication nodes. The overall framework is split into a methodological framework with architecture design guidelines and a technical framework. It combines proven state-of-the-practice concepts like Domain Driven Design (DDD) and research results from the database and distributed systems research communities. As we will show in this paper the design of domain models can have an impact on the probability of occurrence of concurrency anomalies. Based on three case studies, we analyzed the characteristics of replicated data and derived a classification. We use this classification to provide class-specific design guidelines and best practices for the design of eventually consistent domain models that are free of concurrency anomalies.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"4 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":"125427824","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}
Carlos S. S. Marinho, José S. Costa Filho, L. O. Moreira, Javam C. Machado
{"title":"Using a Hybrid Approach to Data Management in Relational Database and Blockchain: a Case Study on The E-health Domain","authors":"Carlos S. S. Marinho, José S. Costa Filho, L. O. Moreira, Javam C. Machado","doi":"10.1109/ICSA-C50368.2020.00030","DOIUrl":"https://doi.org/10.1109/ICSA-C50368.2020.00030","url":null,"abstract":"Relational Databases (RDBs) have been widely used for decades. However, new persistence technologies are emerging, such as Blockchain, which is disruptive and has relevant properties, such as immutability and no third parties. Therefore, applications that use RDB can benefit from these properties by migrating part of their data to Blockchains. This article presents the MOON, a hybrid approach to manage data in RDB and Blockchain, which receives SQL queries. A case study was performed with a real health dataset using three scenarios. The conclusion is that the MOON responds to requests correctly and provides RDB and Blockchain features. Moreover, its response time was intermediate between RDB and Blockchains.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"22 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":"127811625","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}