Even though product line technologies and methods are well established in today’s development environments, various challenges still remain. Different ways of handling variability in system development tools have arisen posing an integration challenge to today’s tool chains. This issue is further amplified by the variety of integration approaches. The VARIES framework addresses these challenges through technology adaptation, i.e. the utilization of model transformations and traceability support.
Michael Wagner, Grit Dudeck, Christian Tcholtchev, Christian Gebhardt, Andreas Korff; SPLC ’14 Proceedings of the 18th International Software Product Line Conference, ACM
Over more than two decades, numerous variability modeling techniques have been introduced in academia and industry. However, little is known about the actual use of these techniques. While dozens of experience reports on software product line engineering exist, only very few focus on variability modeling. This lack of empirical data threatens the validity of existing techniques, and hinders their improvement. As part of our eort to improve empirical understanding of variability modeling, we present the results of a survey questionnaire distributed to industrial practitioners. These results provide insights into application scenarios and perceived benets of variability modeling, the notations and tools used, the scale of industrial models, and experienced challenges and mitigation strategies.
Berger, T., R. Rublack, D. Nair, J. M. Atlee, M. Becker, K. Czarnecki, and A. Wąsowski, “A survey of variability modeling in industrial practice“, Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems, New York, NY, USA; ISBN Number 978-1-4503-1541-8
Many software systems provide configuration options for users to tailor their functional behavior as well as non-functional properties (e.g., performance, cost, and energy consumption). Configuration options relevant to users are often called features. Each variant derived from a configurable software system can be represented as a selection of features, called a configuration.
Performance (e.g., response time or throughput) is one of the most important non-functional properties, because it directly affects user perception and cost. To find an optimal configuration to meet a specific performance goal, it is crucial for developers and IT administrators to understand the correlation between feature selections and performance.
We investigate a practical approach that mines such a correlation from a sample of measured configurations, specifies the correlation as an explicit performance prediction model, and then uses the model to predict the performance of other unmeasured configurations.
Guo, J., K. Czarnecki, S. Apel, N. Siegmund, and A. Wasowski, “Variability-Aware Performance Prediction: A Statistical Learning Approach“, 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), Silicon Valley, California, USA, IEEE, 11/2013.
UML Interactions represent one of the three different behavior kinds of the UML. In general, they specify the exchange of messages among parts of a system. Although UML Interactions can reside on different level of abstractions, they seem to be sufficiently elaborated for a higher-level of abstraction where they are used for sketching the communication among parts. Its metamodel reveals some fuzziness and imprecision where definitions should be accurate and concise, though.
In this paper, we propose improvements to the UML Interactions’ metamodel for Message arguments and Loop CombinedFragments that make them more versatile. We will justify the needs for the improvements by precisely showing the shortcomings of the related parts of the metamodel. We demonstrate the expressiveness of the improvements by applying them to examples that current Interactions definition handles awkwardly.
Wendland, Marc Florian; Schneider, Martin; Haugen, Øystein, 16th International Conference, MODELS 2013, Miami, FL, USA, September 29 – October 4, 2013. Proceedings
Software variability is an ability to change (configure, customize, extend) soft ware artefacts (e.g. code, product, domain requirements, models, design, documentation, test cases) for a specific context. Optimized variability management can lead a software com pany to 1) shorter development lead time, 2) improved customer and improved user satisfaction, 3) reduced complexity of product management (more variability, same S) and 4) reduced costs (same variability, less $). However, it is not easy for software companies. By introducing the challenges and used practices related to variability the paper deepens understanding of this highly relevant but relatively underresearched phenomenon and contributes to the literature on software product line engineering.
Ihme T., Pikkarainen M., Biot O., Teppola S., “Challenges and industry practices for managing software variability in software companies” Journal: Empirical Software Engineering
Over more than two decades, numerous variability modeling techniques have been introduced in academia and industry. However, little is known about the actual use of these techniques. While dozens of experience reports on software product line engineering exist, only very few focus on variability modeling. This lack of empirical data threatens the validity of existing techniques, and hinders their improvement. As part of our effort to improve empirical understanding of variability modeling, we present the results of a survey questionnaire distributed to industrial practitioners. These results provide insights into application scenarios and perceived benefits of variability modeling, the notations and tools used, the scale of industrial models, and experienced challenges and mitigation strategies.
Thorsten Berger, Ralf Rublack, Divya Nair, Joanne M. Atlee, Martin Becker, Krzysztof Czarnecki, Andrzej Wasowski, “A Survey of Variability Modeling in Industrial Practice”, Proceedings of VAMOS Symposium ’13 (Pisa, Italy)
The use of modern agile software development mtehods in large organisations requires tailoring agile development to the organisation needs. This study concentrated on studying integrating software product line and agile application development in the context of large and complex fiancial IT systems.
T. Ihme, “Scrum adoption and architectural extensions in developing new service applilcations of large financial IT systems”, Journal of the Brazilian Computer Society, December 2012
The tutorial will present the present the outcome of the work done by the Joint Submission Team against the Request For Proposals for a Common Variability Language issued by the OMG (Object Management Group). The tutorial will present the language and experiments done by some of the consortium members on tools supporting preliminary tools for CVL.
Steven She, Krzysztof Czarnecki and Andrzej Wasowski., “CVL: common variability language”, Proceedings of the VARY’12 workshop (Innsbruck, Austria)
Feature models are menu-like hierarchies of features (i.e., configuration options) used in variability-rich software. Feature models have many applications such as domain analysis, describing design and implementation constraints in software, or for product configuration. The many applications of feature models have given rise to a wide range of scenarios involving feature model synthesis.
Feature model synthesis is the process of building a feature model for a given set of features and their allowed combinations, expressed as feature dependencies or feature configurations. We describe and classify software re-engineering scenarios involving feature model synthesis found in literature and industry. We analyze these scenarios to derive requirements for feature model synthesis techniques.
Steven She, Krzysztof Czarnecki and Andrzej Wasowski., “Usage Scenarios for Feature Model Synthesis” Proceedings of the VARYâ€™12 workshop (Innsbruck, Austria)
Similarities in public sector organizations allow the reuse of SW products using open-source (OS) like characteristics. This enables cost savings as organizations can reuse and tailor SW products developed by other organizations free of charge. However, without coordination SW products will evolve in an uncontrolled manner. This article argues the importance of application lifecycle management during the evolution of SW products in the public sector’s open-source communities.
Kääriäinen J., Pussinen P., Matinmikko T., Oikarinen T., “Lifecycle Management of Open-Source Software in the Public Sector A Model for Community-Based Application Evolution “, Journal: International Journal of Public Information Systems