{"title":"Inferring variability from customized standard software products","authors":"Markus Nöbauer, N. Seyff, Iris Groher","doi":"10.1145/2648511.2648544","DOIUrl":"https://doi.org/10.1145/2648511.2648544","url":null,"abstract":"Systematic variability management is an important prerequisite for successful software reuse. However, it requires significant effort and extensive domain knowledge to document and maintain information on variability. In this paper we present a tool-supported approach which supports semi-automatically inferring variability information from customized standard software products. The approach does not only enable the identification and documentation of variability information based on existing products, it is also capable of incrementally updating this information. To guarantee quick access to reusable code artifacts (e.g. requirements, features or software components), the presented solution stores these artifacts together with related requirements and a generated variability model in an asset repository. The tool-supported approach has been applied to customizations of Microsoft Dynamics AX ERP systems. Our experiences highlight the potential and benefits of our approach compared to manually gathering information on software variability.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"124 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123304179","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":"Comprehensibility of orthogonal variability modeling languages: the cases of CVL and OVM","authors":"Iris Reinhartz-Berger, K. Figl","doi":"10.1145/2648511.2648516","DOIUrl":"https://doi.org/10.1145/2648511.2648516","url":null,"abstract":"As the complexity and variety of systems and software products have increased, the ability to manage their variability effectively and efficiently became crucial. To this end, variability can be specified either as an integral part of the development artifacts or in a separate orthogonal variability model. Lately, orthogonal variability models attract a lot of attention due to the fact that they do not require changing the complexity of the development artifacts and can be used in conjunction with different development artifacts. Despite this attention and to the best of our knowledge, no empirical study examined the comprehensibility of orthogonal variability models. In this work, we conducted an exploratory experiment to examine potential comprehension problems in two common orthogonal variability modeling languages, namely, Common Variability Language (CVL) and Orthogonal Variability Model (OVM). We examined the comprehensibility of the variability models and their relations to the development artifacts for novice users. To measure comprehensibility we used comprehension score (i.e., percentage of correct solution), time spent to complete tasks, and participants' perception of difficulty of different model constructs. The results showed high comprehensibility of the variability models, but low comprehensibility of the relations between the variability models and the development artifacts. Although the comprehensibility of CVL and OVM was similar in terms of comprehension score and time spent to complete tasks, novice users perceived OVM as more difficult to comprehend.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"363 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125817122","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":"What research in software product line engineering is not solving in configuration","authors":"A. Hubaux","doi":"10.1145/2648511.2655955","DOIUrl":"https://doi.org/10.1145/2648511.2655955","url":null,"abstract":"Customers no longer consider configuration special: They expect it. This expectation applies both to simple goods like t-shirts or yoghurt and to sophisticated products composed of heterogeneous hardware and software like cars or ships. The software product line community has contributed to making the software configuration of such products more robust and efficient. Yet, despite those efforts, some challenges remain open. This keynote will bring to light some of those challenges by answering the question: What is research in software product line engineering not solving in configuration? The first part of the keynote will look at one massive supplier of products engineered from heterogeneous material and digital artefacts: The semiconductor industry. In this first part, I will present some configuration challenges faced when I moved to the semiconductor industry to which my research background had no out-of-box solution. Through examples, I will highlight (1) how practical challenges can be rooted in working hypotheses, and (2) which research avenues those challenges open. The second part of the keynote takes some altitude to stare at two emergent configuration challenges. First, the once distinct line between hardware and software, developing and manufacturing, building and installing is blurring. As products embed more and more software, the need to integrate application and product lifecycle management (ALM and PLM) tools is pressing. I will illustrate how the weak integration of ALM and PLM tools can affect lead time and product quality. Secondly, the ubiquity of software in products, coupled with shrinking globalization product lifecycles, reshapes communication between parts, products, companies, and end-users. This change blurs yet another solid line: The line between product engineering and operations. Here again, I will point out why ALM, PLM, and enterprise resource planning (ERP) tool vendors struggle to keep up with the pace of the demand from companies. Those two challenges fall under the umbrella of popular themes known as cyber-physical systems, the Internet of things, or the fourth industrial revolution, a.k.a. Industry 4.0. The challenges posed by Industry 4.0 are likely to become strong drivers for software product line engineering. Indeed, smart sensors and adaptive software are the foundation stones for the new industrial revolution. Not only will those technologies be embedded in innumerable devices, but they will also have to guarantee unmatched reliability and security levels in versatile environments. The keynote will conclude with an open window on those perspectives.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129899482","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}
M. Harman, Yue Jia, J. Krinke, W. Langdon, J. Petke, Yuanyuan Zhang
{"title":"Search based software engineering for software product line engineering: a survey and directions for future work","authors":"M. Harman, Yue Jia, J. Krinke, W. Langdon, J. Petke, Yuanyuan Zhang","doi":"10.1145/2648511.2648513","DOIUrl":"https://doi.org/10.1145/2648511.2648513","url":null,"abstract":"This paper presents a survey of work on Search Based Software Engineering (SBSE) for Software Product Lines (SPLs). We have attempted to be comprehensive, in the sense that we have sought to include all papers that apply computational search techniques to problems in software product line engineering. Having surveyed the recent explosion in SBSE for SPL research activity, we highlight some directions for future work. We focus on suggestions for the development of recent advances in genetic improvement, showing how these might be exploited by SPL researchers and practitioners: Genetic improvement may grow new products with new functional and non-functional features and graft these into SPLs. It may also merge and parameterise multiple branches to cope with SPL branchmania.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121847124","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 many flavors of ecosystems","authors":"J. McGregor","doi":"10.1145/2648511.2648562","DOIUrl":"https://doi.org/10.1145/2648511.2648562","url":null,"abstract":"This panel will address issues surrounding software ecosystems. We have chosen individuals who will present a differing set of views on the topic.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"50 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120983685","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":"8th International Workshop on Dynamic Software Product Lines (DSPL 2014)","authors":"S. Park, M. Hinchey, H. In, Klaus Schmid","doi":"10.1145/2648511.2648554","DOIUrl":"https://doi.org/10.1145/2648511.2648554","url":null,"abstract":"The concept of adaptation and self-adaptation of systems, in particular at runtime has caught the attention of the research community at large, both inside the area of SPL as well as outside SPL in areas like models-at-runtime, selfadaptive systems, ubiquitous computing, etc.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131991441","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 cover-based approach for configuration repair","authors":"J. Barreiros, A. Moreira","doi":"10.1145/2648511.2648528","DOIUrl":"https://doi.org/10.1145/2648511.2648528","url":null,"abstract":"Feature models are often used to describe variability and commonality in Software Product Lines, specifying admissible configurations of valid products. However, invalid configurations may arise in some scenarios. These include feature model evolution that invalidates pre-existing products or collaborative configuration by multiple stakeholders with conflicting goals, among others. This problem has been acknowledged in the literature and some techniques for configuration repair have already been proposed. However, common optimization criteria such as proximity between original and repaired configurations can result in a significant number of alternative repair possibilities, easily attaining thousands of alternatives for models of practical dimension. Consequently, rather than just efficiently providing an exhaustive list of possibilities, an approach that specifically addresses this issue should be able to offer the user a manageable and comprehensible view of the configuration problems and potential repair options. We offer a novel approach for configuration repair, based on partitioning and cover analysis, with high performance and generating high quality solutions, which allows efficient identification and presentation of multiple competing repairs.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116963302","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":"Behavioral relations in a process algebra for variants","authors":"M. Tribastone","doi":"10.1145/2648511.2648520","DOIUrl":"https://doi.org/10.1145/2648511.2648520","url":null,"abstract":"Variant Process Algebra is designed for the formal behavioral modeling of software variation, as arises, for instance, in software product line engineering. Process terms are labelled with the sets of variants, i.e., specific products, where they are enabled. A multi-modal operational semantics enables two compositional forms of reasoning. The first one is concerned with relating the behavior of a variant to the whole family. The second notion relates variants between each other, for instance to be able to formally capture the intuitive idea that a variant is a conservative extension of another, in the sense that it adds more behavior without breaking any existing one. Sufficient conditions are given to establish such a relation statically, by means of syntactic checks on process terms.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126989618","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}
T. Berger, Stefan Stanciulescu, O. Øgård, Øystein Haugen, Bo Larsen, A. Wąsowski
{"title":"To connect or not to connect: experiences from modeling topological variability","authors":"T. Berger, Stefan Stanciulescu, O. Øgård, Øystein Haugen, Bo Larsen, A. Wąsowski","doi":"10.1145/2648511.2648549","DOIUrl":"https://doi.org/10.1145/2648511.2648549","url":null,"abstract":"Variability management aims at taming variability in large and complex software product lines. To efficiently manage variability, it has to be modeled using formal representations, such as feature or decision models. Such models are efficient in many domains, where variability is about switching on and off features, or using parameters to customize products of the product line. However, variability can be represented in the form of a topology in domains where variability is about connecting components in a certain order, in specific interconnected hierarchies, or in different quantities. In this experience report, we explore topological variability within a case study of large-scale fire alarm systems. We identify core characteristics of the variability, derive modeling requirements, model the variability using UML2 class diagrams, and discuss the applicability of further variability modeling languages. We show that, although challenging, class diagrams can suffice to represent topological variability in order to generate a configurator tool. In contrast, modeling parallel and recursive structures, cycles, informal constraints, and orthogonal hierarchies were among the main experienced challenges that require further research.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127101551","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":"Leveraging model driven engineering in software product line architectures","authors":"B. Trask, Angel Roman","doi":"10.1145/2648511.2648558","DOIUrl":"https://doi.org/10.1145/2648511.2648558","url":null,"abstract":"The process of Developing Software Product Line Architectures can be a complex task. However, the use of Model Driven Engineering (MDE) techniques can facilitate the development of SPLAs by introducing Domain Specific Languages, Graphical Editors, and Generators. Together these are considered the sacred triad of MDE. Key to understanding MDE and how it fits into SPLAs is to know exactly what each part of the trinity means, how it relates to the other parts, and what the various implementations are for each. This tutorial will demonstrate the use of the Eclipse Modeling Framework (EMF) and Eclipse's Graphical Modeling Framework (GMF) to create an actual MDE solution as applied to a sample SPLA. These tools collectively form what is called a Language Workbench. During this tutorial we will also illustrate how to model the visual artifacts of our Domain Model and generate a Domain Specific Graphical Editor using GMF. This tutorial has its foundations in years of industrial experience with large and complex SPLAs in various industries. This tutorial continues to be updated each year to include recent and critical innovations in MDE and SPL. This year will include information on key Model Transformation, Constraints and Textual Modeling Languages targeted at Software Product Lines. Additionally, it will cover advances in Software Product Line migration technologies which include techniques as to how to effectively migrate legacy systems toward and MDE/SPLA architecture and implementation. This year's tutorial includes extensive industrial experience on the testing of large and complex SPLAs. The goal of this tutorial is to educate attendees on what MDE technologies are, how exactly they relate synergistically to Software Product Line Architectures, and how to actually apply them using an existing Eclipse implementation. The benefits of the technology are so far reaching that we feel the intended audience spans technical managers, developers and CTOs. In general the target audience includes researchers and practitioners who are working on problems related to the design and implementation of SPLAs and would like to understand the benefits of applying MDE techniques towards SPLAs and leverage Eclipse as a framework to develop MDE solutions. The first half will be less technical than the second half where we cover the details of SPLA and MDE in action in complete detail showing patterns and code.","PeriodicalId":303765,"journal":{"name":"Proceedings of the 18th International Software Product Line Conference - Volume 1","volume":"1980 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130949954","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}