{"title":"How to Describe SPL Variabilities in Textual Use Cases: A Systematic Mapping Study","authors":"I. Santos, Rossana Andrade, P. Neto","doi":"10.1109/SBCARS.2014.16","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.16","url":null,"abstract":"In the Software Product Line (SPL) paradigm, the variability description is an important issue for the requirements engineering process. In this scenario, there are several approaches in the literature focusing on how to describe variability in use cases. However, to the best of our knowledge, no efforts have been made to collect and summarize the existing templates for textual use case description in the SPL paradigm. This paper addresses this gap, presenting a systematic mapping study about SPL variability description in textual use cases. We found with this mapping, nine use case templates and four different ways to describe SPL variabilities in a use case description. From these templates, only one deal with the five variability types identified and we did not find any experimental study comparing these templates in terms of ease of use or comprehensibility.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125262568","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 Self-Adaptation Strategy for Service-Based Architectures","authors":"Nuno Oliveira, L. Barbosa","doi":"10.1109/SBCARS.2014.12","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.12","url":null,"abstract":"Self-adaptive software systems are known to respond at run time to changes detected internally or in their environment, in an attempt to keep meeting their own functional requirements and agreed levels of service. Such response usually targets their architectures and involve, in particular, the possibility of their dynamic reconfiguration. In contexts where change is the rule rather than the exception, it is difficult to predict when exactly such reconfigurations are needed, and if they will lead the system into a suitable configuration. However, knowing the main attributes of the context, it is possible to plan configurations that will be more likely to perform well in some conjugation of values for such attributes. In this paper we discuss both a model that lays down reconfiguration strategies, planned at design time, and a strategy which actively uses such a model to trigger architectural adaptations at run time. This strategy builds on a framework intended to the formal verification of architectural requirements, either from a qualitative or quantitative (probabilistic) perspective.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128378150","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 Formal Interpretation of SysML Blocks Using a Safety Critical Case Study","authors":"Jaco Jacobs, A. Simpson","doi":"10.1109/SBCARS.2014.14","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.14","url":null,"abstract":"The Systems Modeling Language (SysML) is a semi-formal, visual modelling language used in the specification and design of systems. In this paper, we describe how Communicating Sequential Processes (CSP) and its associated refinement checker, Failures Divergences Refinement (FDR), can be used in conjunction with SysML in a formal top-down approach to systems engineering. Typically, a system is composed from constituent systems or components using the concept of blocks. SysML allows two alternative interpretations with regards to the behaviour of the resulting composition. By making use of a process-algebraic formalism we are able to explore these interpretations more rigorously. A case study is used throughout to illuminate the concepts in an informal manner.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132648840","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}
Alexandre Vaz Roriz, G. Rodrigues, Luiz A. F. Laranjeira
{"title":"Analysis of the Impact of Implied Scenarios on the Reliability of Computational Concurrent Systems","authors":"Alexandre Vaz Roriz, G. Rodrigues, Luiz A. F. Laranjeira","doi":"10.1109/SBCARS.2014.15","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.15","url":null,"abstract":"Current approaches to model-driven software development have led to the use of scenarios to perform analysis of non-functional requirements of a software system in its early stages of development. The presence of implied scenarios is a phenomenon that can be observed in concurrent systems modeled in the form of Message Sequence Charts. This paper presents a methodology for the identification and evaluation of the qualitative and quantitative impact of the referred scenarios on the reliability of such systems. To the best of our knowledge, there is no previous research contribution in the literature in this regard. The applicability, as well as feasibility, of this methodology is illustrated on the example of a boiler control system. The results are then used to support the architectural refinement of the system ensuring the elimination of the undesirable implied scenarios identified and the consequent improvement in the software system reliability. The usefulness of the proposed methodology is thus confirmed to facilitate the construction of reliable concurrent software systems since the early stages of the development cycle.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131916403","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}
Gustavo Vale, Eduardo Figueiredo, Ramon Abílio, H. Costa
{"title":"Bad Smells in Software Product Lines: A Systematic Review","authors":"Gustavo Vale, Eduardo Figueiredo, Ramon Abílio, H. Costa","doi":"10.1109/SBCARS.2014.21","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.21","url":null,"abstract":"Software product line (SPL) is a set of software systems that share a common, managed set of features satisfying the specific needs of a particular market segment. Bad smells are symptoms that something may be wrong in system design. Bad smells in SPL are a relative new topic and need to be explored. This paper performed a Systematic Literature Review (SLR) to find and classify published work about bad smells in SPLs and their respective refactoring methods. Based on 18 relevant papers found in the SLR, we identified 70 bad smells and 95 refactoring methods related to them. The main contribution of this paper is a catalogue of bad smells and refactoring methods related to SPL.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130287362","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":"Domain Engineering: A Practical Application in Analysis and Design of a Generative Query Language","authors":"D. Bezerra, R. Barreto","doi":"10.1109/SBCARS.2014.20","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.20","url":null,"abstract":"New and difficult analysis and design problems have emerged with the evolution of the Domain Specific Language which replaces generality for expressiveness in a restricted domain. In an effort to solve them, diverse techniques have been introduced which, when combined, have resulted in confusing and problematic analysis and design flows. In this paper, we outline our ongoing domain engineering research in Domain Specific Language. We identify requirements, components and a reference architecture, which are put together in a conception and construction phase of a Generative Query Language called Carbon QL for domain of forest dynamics. We describe and evaluate our approach in a case study. The domain engineering phase produced domain and design models and led to a reference architecture that follows the Model Driven Engineering approach. The application engineering contributed effectively to the Carbon QL implementation based on an explicit knowledge representation (Car bontology), and a generative query engine that translates from Carbon QL to SQL using Hibernate as object-relational framework. Our preliminary results indicate that the effective configuration, componentization and reuse are possible, and optimize the development process for this domain.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122415261","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}
Tassio Vale, B. Cabral, Loreno Freitas Matos Alvim, L. Soares, A. R. Santos, I. Machado, Iuri Santos Souza, I. F. D. Silva, E. Almeida
{"title":"SPLICE: A Lightweight Software Product Line Development Process for Small and Medium Size Projects","authors":"Tassio Vale, B. Cabral, Loreno Freitas Matos Alvim, L. Soares, A. R. Santos, I. Machado, Iuri Santos Souza, I. F. D. Silva, E. Almeida","doi":"10.1109/SBCARS.2014.11","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.11","url":null,"abstract":"Combining Software Product Line Engineering (SPLE) and Agile Software Development (ASD) is an approach for companies working with similar systems in scenarios of volatile requirements aiming to address fast changes and a systematic variability management. However, a development process covering the whole SPLE lifecycle and using agile practices in small and medium size development projects has not been established yet. There is a need to disseminate such combination through well-defined roles, activities, tasks and artifacts. This paper presents SPLICE, a lightweight development process combining SPLE and agile practices, following reactive and extractive approaches to build similar systems. SPLICE addresses the needs of small development teams aiming to adopt SPL practices with low upfront costs and fast return on investment. In order to evaluate our proposal, we report our experience in a case study by developing Rescue MeSPL, a product line for mobile applications that assists users in emergency situations. The case study results point SPLICE achieves the three evaluated aspects by providing short and proper iterations, possibilities for activities adaptations and continuous feedback.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125995779","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}
Frank José Affonso, Katia Romero Felizardo Scannavino, Lucas B. R. Oliveira, E. Nakagawa
{"title":"Reference Architectures for Self-Managed Software Systems: A Systematic Literature Review","authors":"Frank José Affonso, Katia Romero Felizardo Scannavino, Lucas B. R. Oliveira, E. Nakagawa","doi":"10.1109/SBCARS.2014.18","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.18","url":null,"abstract":"Self-Managed Software Systems (SMSS) have emerged as an important type of software systems. However, the development of such systems is not a trivial task, as they constantly deal with adaptations at runtime so as to fulfill new needs of both users and execution environment. From another perspective, Reference Architectures (RAs) have been used for the aggregation of knowledge on specific domains, promoting the reuse of design expertise and facilitating the development, standardization, and evolution of software systems. Considering the relevance of such architectures, RAs for SMSS (RA4SMSS) have also been proposed. On the other hand, to the best of our knowledge, no study on a panorama or comparison on RA4SMSS has been published. This paper reports the results of a systematic literature review on RA4SMSS. They show that although relevant initiatives have been found, the SMSS area needs a broader contribution to boost the development of such systems. Moreover, research lines that must further investigated were also identified.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"222 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122402720","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. E. Sanchez, J. A. D. Pace, Alejandro Zunino, S. Moisan, J. Rigault
{"title":"An Approach for Managing Quality Attributes at Runtime Using Feature Models","authors":"L. E. Sanchez, J. A. D. Pace, Alejandro Zunino, S. Moisan, J. Rigault","doi":"10.1109/SBCARS.2014.13","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.13","url":null,"abstract":"Feature modeling has been widely used in domain engineering for the development and configuration of software products. A feature model represents the set of possible configurations to apply in a given context. Recently, this formalism was applied to the runtime (re-)configuration of systems with high variability and context changes, in which the selection of the best candidate configuration is seen as an optimization problem based on quality criteria. To this end, we propose an approach for the specification, measurement and optimization of runtime quality attributes based on feature models, and furthermore, we describe its integration into a component-based architecture for supporting dynamically adaptive systems. Feature models are annotated with quality-attribute properties and metrics, and then an efficient and flexible algorithm is used to deal with the optimization problem. We report on some examples of adaptation and quality-attribute scenarios in the context of a video surveillance domain, in order to illustrate the pros and cons of our approach.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121108477","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":"Development of Critical Embedded Systems Using Model-Driven and Product Lines Techniques: A Systematic Review","authors":"P. G. G. Queiroz, Rosana T. V. Braga","doi":"10.1109/SBCARS.2014.19","DOIUrl":"https://doi.org/10.1109/SBCARS.2014.19","url":null,"abstract":"Several methodologies have been proposed in the last decades to improve the quality of Safety-Critical Embedded Systems (SCES) and, at the same time, keep costs and schedule compatible with project plans. In particular, approaches such as Product Line Engineering (PLE) and Model-Driven Engineering (MDE) offer an interesting solution to reduce development complexity and time to market due to their synergy and common goals. However, the current state of how MDE and PLE can be combined to enhance productivity in the domain of SCES is not clear yet. This paper presents a systematic literature review, with the purpose of obtaining the state of the art of the aproaches, methods and methodologies whose goal is the combination of PLE and MDE for the development of SCES, and to verify the existence of empirical studies that demonstrate the application of these techniques in this type of development. We drew the following conclusions from the review results: (1) The number of studies using PLE with MDE to build SCES is relatively small, but has increased gradually in recent years. (2) The approaches diverge about what is needed to build Model-driven Product Lines. (3) Most of the approaches do not consider to differentiate between hardware and software variabilities. (4) Most of the studies propose the use of UML and feature diagrams. (5) The studies present case studies implemented in different tools and most of them are free. (6) The approaches do not cover the entire development lifecycle.","PeriodicalId":148912,"journal":{"name":"2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"2001 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125747199","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}