696,437 research outputs found
Conceptual Variability Management in Software Families with Multiple Contributors
To offer customisable software, there are two main concepts yet: software product lines that allow the product customisation based on a fixed set of variability and software ecosystems, allowing an open product customisation based on a common platform.
Offering a software family that enables external developers to supply software artefacts means to offer a common platform as part of an ecosystem and to sacrifice variability control. Keeping full variability control means to offer a customisable product as a product line, but without the support for external contributors.
This thesis proposes a third concept of variable software: partly open software families. They combine a customisable platform similar to product lines with controlled openness similar to ecosystems.
As a major contribution of this thesis a variability modelling concept is proposed which is part of a variability management for these partly open software families. This modelling concept is based on feature models and extends them to support open variability modelling by means of interfaces, structural interface specifications and the inclusion of semantic information. Additionally, the introduction of a rights management allows multiple contributors to work with the model. This is required to enable external developers to use the model for the concrete extension development.
The feasibility of the proposed model is evaluated using a prototypically developed modelling tool and by means of a case study based on a car infotainment system
An automated Model-based Testing Approach in Software Product Lines Using a Variability Language.
This paper presents the application of an automated testing approach for Software Product Lines (SPL) driven by its state-machine and variability models. Context: Model-based testing provides a technique for automatic generation of test cases using models. Introduction of a variability model in this technique can achieve testing automation in SPL. Method: We use UML and CVL (Common Variability Language) models as input, and JUnit test cases are derived from these models. This approach has been implemented using the UML2 Eclipse Modeling platform and the CVL-Tool. Validation: A model checking tool prototype has been developed and a case study has been performed. Conclusions: Preliminary experiments have proved that our approach can find structural errors in the SPL under test. In our future work we will introduce Object Constraint Language (OCL) constraints attached to the input UML mode
Defining and validating a multimodel approach for product architecture derivation and improvement
The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-41533-3_24Software architectures are the key to achieving the non-functional
requirements (NFRs) in any software project. In software product line (SPL)
development, it is crucial to identify whether the NFRs for a specific product
can be attained with the built-in architectural variation mechanisms of the
product line architecture, or whether additional architectural transformations are
required. This paper presents a multimodel approach for quality-driven product
architecture derivation and improvement (QuaDAI). A controlled experiment is
also presented with the objective of comparing the effectiveness, efficiency,
perceived ease of use, intention to use and perceived usefulness with regard to
participants using QuaDAI as opposed to the Architecture Tradeoff Analysis
Method (ATAM). The results show that QuaDAI is more efficient and
perceived as easier to use than ATAM, from the perspective of novice software
architecture evaluators. However, the other variables were not found to be
statistically significant. Further replications are needed to obtain more
conclusive results.This research is supported by the MULTIPLE project (MICINN TIN2009-13838) and the Vali+D fellowship program (ACIF/2011/235).González Huerta, J.; Insfrán Pelozo, CE.; Abrahao Gonzales, SM. (2013). Defining and validating a multimodel approach for product architecture derivation and improvement. En Model-Driven Engineering Languages and Systems. Springer. 388-404. https://doi.org/10.1007/978-3-642-41533-3_24S388404Ali-Babar, M., Lago, P., Van Deursen, A.: Empirical research in software architecture: opportunities, challenges, and approaches. Empirical Software Engineering 16(5), 539–543 (2011)Ali-Babar, M., Zhu, L., Jeffery, R.: A Framework for Classifying and Comparing Software Architecture Evaluation Methods. In: 15th Australian Software Engineering Conference, Melbourne, Australia, pp. 309–318 (2004)Basili, V.R., Rombach, H.D.: The TAME project: towards improvement-oriented software environments. IEEE Transactions on Software Engineering 14(6), 758–773 (1988)Barkmeyer, E.J., Feeney, A.B., Denno, P., Flater, D.W., Libes, D.E., Steves, M.P., Wallace, E.K.: Concepts for Automating Systems Integration NISTIR 6928. National Institute of Standards and Technology, U.S. Dept. of Commerce (2003)Bosch, J.: Design and Use of Software Architectures. Adopting and Evolving Product-Line Approach. Addison-Wesley, Harlow (2000)Botterweck, G., O’Brien, L., Thiel, S.: Model-driven derivation of product architectures. In: 22th Int. Conf. on Automated Software Engineering, New York, USA, pp. 469–472 (2007)Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented software architecture, vol. 1: A System of Patterns. Wiley (1996)Cabello, M.E., Ramos, I., Gómez, A., Limón, R.: Baseline-Oriented Modeling: An MDA Approach Based on Software Product Lines for the Expert Systems Development. In: 1st Asia Conference on Intelligent Information and Database Systems, Vietnam (2009)Carifio, J., Perla, R.J.: Ten Common Misunderstandings, Misconceptions, Persistent Myths and Urban Legends about Likert Scales and Likert Response Formats and their Antidotes. Journal of Social Sciences 3(3), 106–116 (2007)Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2007)Czarnecki, K., Kim, C.H.: Cardinality-based feature modeling and constraints: A progress report. In: Int. Workshop on Software Factories, San Diego-CA (2005)Datorro, J.: Convex Optimization & Euclidean Distance Geometry. Meboo Publishing (2005)Davis, F.D.: Perceived usefulness, perceived ease of use and user acceptance of information technology. MIS Quarterly 13(3), 319–340 (1989)Douglass, B.P.: Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Addison-Wesley, Boston (2002)Feiler, P.H., Gluch, D.P., Hudak, J.: The Architecture Analysis & Design Language (AADL): An Introduction. Tech. Report CMU/SEI-2006-TN-011. SEI, Carnegie Mellon University (2006)Gómez, A., Ramos, I.: Cardinality-based feature modeling and model-driven engineering: Fitting them together. In: 4th Int. Workshop on Variability Modeling of Software Intensive Systems, Linz, Austria (2010)Gonzalez-Huerta, J., Insfran, E., Abrahao, S.: A Multimodel for Integrating Quality Assessment in Model-Driven Engineering. In: 8th International Conference on the Quality of Information and Communications Technology (QUATIC 2012), Lisbon, Portugal, September 3-6 (2012)Gonzalez-Huerta, J., Insfran, E., Abrahao, S., McGregor, J.D.: Non-functional Requirements in Model-Driven Software Product Line Engineering. In: 4th Int. Workshop on Non-functional System Properties in Domain Specific Modeling Languages, Insbruck, Austria (2012)Guana, V., Correal, V.: Variability quality evaluation on component-based software product lines. In: 15th Int. Software Product Line Conference, Munich, Germany, vol. 2, pp. 19.1–19.8 (2011)Insfrán, E., Abrahão, S., González-Huerta, J., McGregor, J.D., Ramos, I.: A Multimodeling Approach for Quality-Driven Architecture Derivation. In: 21st Int. Conf. on Information Systems Development (ISD 2012), Prato, Italy (2012)ISO/IEC 25000:2005, Software Engineering. Software product Quality Requirements and Evaluation SQuaRE (2005)Kazman, R., Klein, M., Clements, P.: ATAM: Method for Architecture Evaluation (CMU/SEI-2000-TR-004, ADA382629). Software Engineering Institute, Carnegie Mellon University, Pittsburgh (2000), http://www.sei.cmu.edu/publications/documents/00.reports/00tr004.htmlKim, T., Ko, I., Kang, S., Lee, D.: Extending ATAM to assess product line architecture. In: 8th IEEE Int. Conference on Computer and Information Technology, Sydney, Australia, pp. 790–797 (2008)Kitchenham, B.A., Pfleeger, S.L., Hoaglin, D.C., Rosenber, J.: Preliminary Guidelines for Empirical Research in Software Engineering. IEEE Transactions on Software Engineering 28(8) (2002)Kruchten, P.B.: The Rational Unified Process: An Introduction. Addison-Wesley (1999)Martensson, F.: Software Architecture Quality Evaluation. Approaches in an Industrial Context. Ph. D. thesis, Blekinge Institute of Technology, Karlskrona, Sweden (2006)Maxwell, K.: Applied Statistics for Software Managers. Software Quality Institute Series. Prentice-Hall (2002)Olumofin, F.G., Mišic, V.B.: A holistic architecture assessment method for software product lines. Information and Software Technology 49, 309–323 (2007)Perovich, D., Rossel, P.O., Bastarrica, M.C.: Feature model to product architectures: Applying MDE to Software Product Lines. In: IEEE/IFIP & European Conference on Software Architecture, Helsinki, Findland, pp. 201–210 (2009)Robertson, S., Robertson, J.: Mastering the requirements process. ACM Press, New York (1999)Roos-Frantz, F., Benavides, D., Ruiz-Cortés, A., Heuer, A., Lauenroth, K.: Quality-aware analysis in product line engineering with the orthogonal variability model. Software Quality Journal (2011), doi:10.1007/s11219-011-9156-5Saaty, T.L.: The Analytical Hierarchical Process. McGraw- Hill, New York (1990)Taher, L., Khatib, H.E., Basha, R.: A framework and QoS matchmaking algorithm for dynamic web services selection. In: 2nd Int. Conference on Innovations in Information Technology, Dubai, UAE (2005)Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Weslen, A.: Experimentation in Software Engineering - An Introduction. Kluwer (2000
A Dynamic Software Product Line Approach for Planning and Execution of Reconfigurations in Self-Adaptive Systems
Model-based autonomic computing systems facilitate the planning capabilities inside the adaptation logic. However, it is challenging to capture the complete reconfiguration behavior in a model. Context Feature Models used in Dynamic Software Product Lines help to specify the capabilities of a software as well as the monitored context values with the possibility to add constraints. Additionally, most adaptation logics are tailored to single use cases without the possibility for later reuse. This thesis presents an adaptation logic approach based on Dynamic Software Product Line variability models. The complete adaptation knowledge is encapsulated inside a knowledge component. This enables reuse of the complete adaptation logic. After the introduction of the approach, the adaptation logic is evaluated in a distributed computing use case
Towards a Modular Product Line of Graphical Editors
This thesis addresses designing Product Lines (PLs) of Graphical Editors (GEs). It provides a feasible top-down design approach specialized on such Graphical Editor Product Lines (GEPLs), which can be configured dynamically. Furthermore, the end product's features are implemented modular, which has numerous positive effects on the development and maintenance processes for the family. These effects reach from decreasing the complexity of big PLs, allowing to delegate split up development tasks onto multiple isolated working teams, easier debugging and flexibility to extend or specialize a family of products as well as being able to use functionalities developed by third-party vendors. While design methods avoiding monolithic architectures and implementations exist for many PL domains, there are none known for GEPLs. Yet, the domain of those offers many challenges as GEPLs are actually comprised of Software Product Lines (SPLs) and Language Product Lines (LPLs), which is a combination untackled by any modular design approach known to me. Additionally, products in the domain require to implement multiple distinct and specific concerns, leading to artifacts which differ significantly but have to be located and managed in a single component. Overall, this justifies the need for specialized design approaches for the GEPL domain. In regard to this need, this thesis gives an overview of the existing landscape of approaches to design PLs, analyzing solutions offered by other researchers. Furthermore, a requirement analysis for the GEPL domain is conducted. Its results are the foundation for the presentation of a top-down design approach for dynamically configurable GEPLs, which are implemented feature modularly. Finally, a case study documenting the development of such a family of GEs is providing a proof of its feasibility.:1 Introduction
1.1 Motivation
1.2 Problem Definition
1.3 Outline
1.4 Terminology
2 Survey on Software and Language Product Line Design
2.1 Classification Scheme
2.1.1 Domain
2.1.2 Configuration
2.1.3 Design Method
2.1.4 Modularity
2.2 Overview
2.3 Discussion
2.3.1 Evaluation
2.3.2 Results
3 Requirements of Graphical Editor Product Lines 32
3.1 Functional Requirements
3.1.1 Edit Concerns
3.1.2 Language Family Concerns
3.2 Non-Functional Requirements
3.2.1 User Requirements
3.2.2 Development Requirements
4 Design of Graphical Editor Product Lines
4.1 Characteristics
4.2 Design Approach
4.2.1 Edit Concerns
4.2.2 Language Family Concerns
4.3 Discussion
4.3.1 Techniques
4.3.2 Evaluation
5 Case study: Modularization of a Family of Graphical Editors
5.1 Background
5.1.1 Compartment Role Object Model
5.1.2 Full-fledged Role Modeling Editor
5.1.3 Reusable Technology
5.2 Realization
5.2.1 Edit Concerns
5.2.2 Language Family Concerns
5.3 Discussion
5.3.1 Requirements
5.3.2 Limitations of the Modularization
5.3.3 Results
6 Conclusion
6.1 Summary
6.1.1 Desired Properties
6.1.2 Feasibility
6.2 Contributions
6.3 Future Work
6.3.1 Bottom-Up Design Method
6.3.2 Requirements
6.3.3 Modularizatio
Variability and Evolution in Systems of Systems
In this position paper (1) we discuss two particular aspects of Systems of
Systems, i.e., variability and evolution. (2) We argue that concepts from
Product Line Engineering and Software Evolution are relevant to Systems of
Systems Engineering. (3) Conversely, concepts from Systems of Systems
Engineering can be helpful in Product Line Engineering and Software Evolution.
Hence, we argue that an exchange of concepts between the disciplines would be
beneficial.Comment: In Proceedings AiSoS 2013, arXiv:1311.319
Feature-Aware Verification
A software product line is a set of software products that are distinguished
in terms of features (i.e., end-user--visible units of behavior). Feature
interactions ---situations in which the combination of features leads to
emergent and possibly critical behavior--- are a major source of failures in
software product lines. We explore how feature-aware verification can improve
the automatic detection of feature interactions in software product lines.
Feature-aware verification uses product-line verification techniques and
supports the specification of feature properties along with the features in
separate and composable units. It integrates the technique of variability
encoding to verify a product line without generating and checking a possibly
exponential number of feature combinations. We developed the tool suite
SPLverifier for feature-aware verification, which is based on standard
model-checking technology. We applied it to an e-mail system that incorporates
domain knowledge of AT&T. We found that feature interactions can be detected
automatically based on specifications that have only feature-local knowledge,
and that variability encoding significantly improves the verification
performance when proving the absence of interactions.Comment: 12 pages, 9 figures, 1 tabl
A Systematic Review of Tracing Solutions in Software Product Lines
Software Product Lines are large-scale, multi-unit systems that enable
massive, customized production. They consist of a base of reusable artifacts
and points of variation that provide the system with flexibility, allowing
generating customized products. However, maintaining a system with such
complexity and flexibility could be error prone and time consuming. Indeed, any
modification (addition, deletion or update) at the level of a product or an
artifact would impact other elements. It would therefore be interesting to
adopt an efficient and organized traceability solution to maintain the Software
Product Line. Still, traceability is not systematically implemented. It is
usually set up for specific constraints (e.g. certification requirements), but
abandoned in other situations. In order to draw a picture of the actual
conditions of traceability solutions in Software Product Lines context, we
decided to address a literature review. This review as well as its findings is
detailed in the present article.Comment: 22 pages, 9 figures, 7 table
- …