SPLConfig: Product Configuration in Software Product Line
|
|
|
- Geoffrey Lester
- 10 years ago
- Views:
Transcription
1 SPLConfig: Product Configuration in Software Product Line Lucas Machado, Juliana Pereira, Lucas Garcia, Eduardo Figueiredo Department of Computer Science, Federal University of Minas Gerais (UFMG), Brazil {lucasmdo, juliana.pereira, lucas.sg, Abstract. Software product line (SPL) is a set of software systems that share a common set of features satisfying the specific needs of a particular market segment. A feature represents an increment in functionality relevant to some stakeholders. SPLs commonly use a feature model to capture and document common and varying features. The key challenge of using feature models is to derive a product configuration that satisfies all business and customer requirements. To address this challenge, this paper presents a tool, called SPLConfig, to support business during product configuration in SPL. Based on feature models, SPLConfig automatically finds an optimal product configuration that maximizes the customer satisfaction. Demo Video Introduction The growing need for developing larger and more complex software systems demands better support for reusable software artifacts [Pohl et al., 2005]. In order to address these demands, software product line (SPL) has been increasingly adopted in software industry [Clements and Northrop, 2001; Apel et al., 2013]. SPL is a set of software systems that share a common set of features satisfying the specific needs of a particular market segment [Pohl et al., 2005]. It is built around a set of common software components with points of variability that allow product configuration [Clements and Northrop, 2001]. Large companies, such as Hewlett-Packard, Nokia, Motorola, and Dell, have adopted SPL practices 1. The potential benefits of SPLs are achieved through a software architecture designed to increase reuse of features in several SPL products. An important concept of an SPL is the feature model. Feature models are used to represent the common features found on all products of the product line (known as mandatory features) and variable features that allow distinguishing between products in a product line (generally represented by optional or alternative features) [Czarnecki and Eisenecker, 2000; Kang et al., 1990]. Variable features define points of variation and their role is to permit the instantiation of different products by enabling or disabling specific SPL functionality. In practice, developing an SPL involves modeling features to represent different viewpoints, sub-systems, or concerns of the software system [Batory, 2005]. A fundamental challenge in SPL is the process of enabling and disabling features in a feature model for a new software product configuration [Pohl et al., 2005]. As the number of features increase in a feature model, so does the number of product options in 1
2 an SPL [Benavides et al., 2005]. For instance, an SPL where all features are optional can instantiate 2 n different products where n is the number of features. Moreover, once a feature is selected, it must be verified to conform to the myriad constraints in the feature model, turning this process into a complex, time-consuming, and error-prone task. Industrial-sized feature models with hundreds or thousands of features make this process impractical. Guidance and automatic support are needed to increase business efficiency when dealing with many possible combinations in an SPL. This paper presents a tool, called SPLConfig 2, to support automatic product configuration in SPL. The main goal of the SPLConfig tool is to derive an optimized features set that satisfies the customer requirements. The primary contribution of this tool is to assist businesses during product configuration, answering the following question: What is the set of features that balances cost and customer satisfaction, based on available budget? By resolving this problem, industries can more effectively achieve greater customer satisfaction. The rest of this paper is organized as follow. Section 2 describes the problem. Section 3 presents the SPLConfig architecture. Section 4 discusses the design and implementation of this tool. Examples are used to validate the tool main functionalities in Section 5. Section 6 presents some related work. Finally, Section 7 concludes and points out directions for future work. 2. Problem Description Feature models represent the common and variable features in SPL using a feature tree [Kang et al., 1990]. In feature models, nodes represent features and edges show relationships between parent and child features [Batory, 2005]. These relationships constraint how the features can be combined. As an example, the mobile phone industry uses features to specify and build software for configurable phones. The software product deployed into a phone is determined by the phone characteristics. Figure 1 depicts a simplified feature model of an SPL, called MobileMedia [Figueiredo et al., 2008], inspired by the mobile phone industry. It was developed for a family of 4 brands of devices, namely Nokia, Motorola, Siemens, and RIM. Figure 1. Example of a Feature Model for a Mobile Phone Product Line 2 SPLConfig is available at
3 A key need with SPL is determining how to configure an optimized feature set that satisfies the customer requirements. In Figure 1, features refer to functional requirements of the MobileMedia SPL. However, feature may also be associated with non-functional requirements. Kang et al. [1990] suggest the need to take into account non-functional requirements since For instance, considering the MobileMedia SPL, it is possible to identify non-functional requirements related to each feature, such as cost and benefit of each feature to the customer. It means that every product differs not only because of its functional features, but also because of its non-functional requirements. Therefore, we propose to extend feature models with non-functional requirements by adapting the proposed notation in Benavides et al. [2005] to our problem. Figure 2 illustrates the non-functional requirements in feature model of Figure 1. In Figure 2, all features (mandatory and optional features) have the cost attribute, and only optional features have the benefit attribute. For example, the optional feature Favourites has cost and benefit attributes, while the mandatory feature MediaSelection has only the cost attribute. Note that the benefit attribute is classified into six qualitative levels: none, very low, low, medium, high and very high. Our goal is to find an optimal solution by means of an objective function that maximizes customer satisfaction (benefit/cost) without exceeding the available budget (in the lower right corner of the Figure 2). As a motivating example, given a mobile phone product line that includes a variety of varying features, what is the product that best meets the customer requirements limited by a given budget? The challenge is that with hundreds or thousands of features, it is hard to analyze all different product configurations to find an optimal configuration. Figure 2. A Feature Model Decorate with Non-Functional Requirements Therefore, the main goal of the SPLConfig tool is to propose an automatic product configuration method based on search-based software engineering (SBSE) techniques [Harman & Jones, 2001]. Figure 3 presents an abstract overview of our method. As shown in Figure 3, from a feature model we use search-based algorithms to derive an optimized product configuration that maximizes the customer satisfaction, subject to business requirements (cost), customer requirements (benefit and budget), composition constraints, and cross-tree constraints. It is noteworthy that these algorithms are minutely detailed in Pereira (2014).
4 Figure 3. Overview of the Method to Automatic Product Configuration 3. SPLConfig Architecture SPLConfig is an Eclipse plugin implemented in Java. It requires one additional plugin, named FeatureIDE, in order to support product configuration. Figure 4 presents the architecture of SPLConfig and its relationships with FeatureIDE and Eclipse platform. The decision of extending FeatureIDE is particularly attractive for two reasons. First, FeatureIDE is an open source, extensible, modular, and easy to understand tool. Second, our motivation in extending FeatureIDE occurred because we could reuse the key functionalities of typical feature modeling tools, such as to create and edit a feature model, to automatically analyze the feature model, product configuration basic infrastructure, code generation, and import/export feature model. FeatureIDE is a development tool for SPL largely used and it supports all phases of feature-oriented software development of SPLs: analysis and application domains and code generation. Figure 4. SPLConfig's Architecture Automatic product configuration allows the customization of different products according to the business and customer requirements, composition, and cross-tree constraints of the feature model (SPLConfig in Figure 4). Two important activities are performed in the SPL lifecycle, domain engineering and application engineering, described below: Domain Engineering. This process is represented by a feature model and is supported by FeatureIDE (feature model editor in Figure 4). Common and variable requirements of the product line are elicited and documented. The developers create reusable artifacts of a product line in such a way that these artifacts are sufficiently adaptable (variable) to efficiently derive individual applications from them. Application Engineering. From meetings, the developers identify and describe the requirements prioritization of customer (SPLConfig in Figure 4). SPLConfig prioritize
5 and create reports to aid the product builder when defining a product configuration for a specific customer. Our product configuration algorithm uses an optimization scheme and provides a valuable decision support to product configuration within the SPL. The product configuration result is visualized in FeatureIDE (product configuration module in Figure 4). It is important to observe that the tool can be easily extended - by means of new algorithms - to support additional non-functional features. As show in Figure 4, feature modeling in early stages enables to decide which features should be supported by an SPL and which should not. This result is a feature model represented in FeatureIDE. In a second stage, during the product configuration, it is necessary to choose the features that appropriately fulfill the business and customer requirements. This stage allows a single product configuration to be created through search-based algorithms in SPLConfig. This product configuration is presented by FeatureIDE in the product configuration module. Note that the current implementation of SPLConfig randomly picks up one of the optimal solutions. However, we are working on a new version that presents a sorted list of the top best solutions. Therefore, the customer is going to have several options of products to choose from. In a third stage, SPLConfig allows manual configuration of features if necessary. In a fourth stage, it also allows compiling and building the product. 4. Design and Implementation Decisions This section discusses some design and implementation decisions we made in the development of SPLConfig. Figure 5 shows a screenshot of SPLConfig view in the Eclipse IDE. Figure 5 shows the package explorer view typical of Eclipse IDE (a). It also illustrates the FeatureIDE model editor (b) and outline view (c). Figure 5 (d) show details of the SPLConfig view. Figure 5. SPLConfig View in the Eclipse IDE
6 Figure 5 (d) presents the main view of SPLConfig integrated with the Eclipse IDE. At the top of the view, we have two fields named Budget and Customer that should be filled by the customer with the available budget and with the customer identification, respectively. Each feature in the feature model is presented in a row of this view. Columns give additional information, such as the feature name, the level of importance of the feature to the customer (Benefit), and the cost of development of each feature (Cost). The tool is supposed to be used by developers who are expected to translate qualitative information from customers into quantitative ones. Moreover, this view includes typical buttons, such as Refresh and Execute, which trigger their respective actions. Refresh is used to update data being presented in this view, while Execute selects the most appropriate product configuration that best satisfies the customer requirements. In addition to this view, we extend Eclipse with a preference page presented in Figure 6. Industries can set specific preferences, as the cost of development of each feature that makes up the SPL. Therefore, for the same SPL, several products can be generated according to needs and constraints specific of each customer, but keeping the cost of each feature fixed. Note that the FeatureIDE view can be used to show the product configuration that best satisfies the customer requirements, but it does not prevent other features from being included or excluded in the final product (i.e., manual tuning). Figure 6. SPLConfig Preference Page 5. Preliminary Evaluation We reviewed a large number of research works in the field of SPL and selected a set of ten feature models that were used as benchmark instances to evaluate SPLConfig: MobileMedia [Figueiredo et al., 2008], System [Thüm et al., 2014], Smart Home [Alferez et al., 2009], Devolution [Thüm et al., 2014], Gasparc [Aranega et al., 2012],
7 Web Portal [Mendonça et al., 2008], FraSCAti [Seinturier et al., 2012], Model Transformation [Czarnecki & Helsen, 2003], Battle of Tanks [Thüm & Benduhn, 2011], and e-shop [Lau, 2006]. We found that the time spent in the configuration of a feature model with 213 features (e-shop) is about 6 milliseconds. However, so far, SPLConfig has scaled well for all evaluated feature models (up to 3 hundreds features). It is noteworthy that evaluation details are available in Pereira (2014). 6. Related Tools Automated reasoning is a challenging field in SPL engineering. Mendonça et al. (2009) and Thüm et al. (2014) have proposed visualization techniques for representing staged feature configuration in SPLs. However, industrial-sized feature models with hundreds or thousands of features make a manual feature selection process hard. Moreover, these approaches focus on functional features of a product and their dependencies; neglecting non-functional requirements. To the best of our knowledge, we still lack tools to deal with non-functional features. 7. Conclusions and Future Work This paper presented SPLConfig, a tool developed for product configuration in SPL by the use of search-based algorithms. We described the problem handled by the tool (Section 2) and summarized the method behind the tool and its main functionalities (Sections 3 and 4). Our results so far are, in general, satisfactory. Nevertheless, our goals for future work include the improvement of SPLConfig tool in order to (i) include others non-functional requirements [Kang et al. 1998] and (ii) consider the difficulties of developing and maintaining of the product for the industries, in order to minimize the development effort integrating features to compose a product. Further work should also address case studies in industries in order to ensure that realistic instances of requirements are being used, through direct contact with the business and customers. Acknowledgment This work was partially supported by CNPq (grant Universal /2013-5) and FAPEMIG (grants APQ and PPM ). References Apel, S., Batory, D., Kästner, C., and Saake, G. (2013). Feature-Oriented Software Product Lines: Concepts and Implementation. Springer-Verlag. Alferez, M., Santos, J., Moreira, A.and Garcia, A., Kulesza, U., Araujo, J., and Amaral, V. (2009). Multi-view composition language for software product line requirements. In International Conference on Software Language Engineering (SLE), p Aranega, V., Etien, A., and Mosser, S. (2012). Using feature model to build model transformation chains. In 15th international conference on Model Driven Engineering Languages and Systems (MODELS), pages Batory, D. S. (2005). Feature models, grammars and propositional formulas. In 9th International Software Product Lines Conference (SPLC), pages 7 20.
8 Benavides, D., Martin-Arroyo, P. T., and Cortes, A. R. (2005). Automated reasoning on feature models. In 17th Conference on Advanced Information Systems Engineering (CAiSE), pages Clements, P. and Northrop, L. (2001). Software product lines: Practices and patterns. Addison-Wesley. Czarnecki, K. and Eisenecker, U. W. (2000). Generative programming: Methods, tools, and applications. Addison-Wesley. Czarnecki, K. and Helsen, S. (2003). Classification of model transformation approaches. Available at: /Czarnecki_Helsen.pdf/. Figueiredo, E. et al. (2008). Evolving software product lines with aspects: An empirical study. In 30th International Conference on Software Engineering (ICSE), p Harman, M. and Jones, B. F. (2001). Search based software engineering. Journal Information and Software Technology, 43(0): Kang, K., Cohen, S., Hess, J., Novak, W., and Peterson, S. (1990). Feature-oriented domain analysis (FODA) feasibility study. Technical Report. CMU/SEI-90-TR-21. ESD-90-TR-222. Kang, K., Kim, S., Lee, J., Kim, K., Shin, E., and Huh, M. (1998). Form: A featureoriented reuse method with domain-specific reference architectures. Annals of Software Engineering, 5(1): Lau, S. Q. (2006). Domain analysis of e-commerce systems using feature-based model templates. Master s thesis. University of Waterloo, Canada. Mendonça, M., Bartolomei, T., and Donald, C. (2008). Decision-making coordination in collaborative product configuration. In ACM Symposium on Applied Computing (SAC), p Mendonça, M., Branco, M., and Cowan, D. (2009). S.p.l.o.t.: Software product lines online tools. In 24th Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pages Pereira, Juliana A. Search-Based Product Configuration in Software Product Lines. April Federal University of Minas Gerais. Belo Horizonte - April Pohl, K., Böckle, G., and Van der Linden, F. J. (2005). Software product line engineering: Foundations, principles and techniques. Springer-Verlag. Seinturier, L., Merle, P., Rouvoy, R., Romero, D.and Schiavoni, V., and Stefani, J. (2012). A component-based middleware platform for reconfigurable service-oriented architectures. Software Practice and Experience, 42(5): Thüm, T. and Benduhn, F. (2011). Spl2go: An online repository for open-source software product lines. Available at: [Online; accessed 10-December-2013]. Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., and Leich, T. (2014). Featureide: An extensible framework for feature-oriented software development. Journal Science of Computer Programming, 79(0):70 85.
Software Variability Management
Software Variability Management An Exploratory Study with Two Feature Modeling Tools Juliana Alves Pereira, Carlos Souza, Eduardo Figueiredo Computer Science Department, Federal University of Minas Gerais
Software Product Lines
Software Product Lines Software Product Line Engineering and Architectures Bodo Igler and Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015 Questions:
Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C
Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C Flávio Medeiros 1, Thiago Lima 2, Francisco Dalton 2, Márcio Ribeiro 2, Rohit Gheyi 1, Baldoino Fonseca 2
Keywords: - Software Product Lines (SPLs), Product Line Engineering (PLE), Core Assets, Software Product Line Development.
Volume 4, Issue 1, January 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Systematic Review
PLEDGE: A Product Line Editor and Test Generation Tool
PLEDGE: A Product Line Editor and Test Generation Tool Christopher Henard [email protected] Jacques Klein [email protected] Mike Papadakis [email protected] Yves Le Traon [email protected]
FeatureIDE: An Extensible Framework for Feature-Oriented Software Development
FeatureIDE: An Extensible Framework for Feature-Oriented Software Development Thomas Thüm a, Christian Kästner b, Fabian Benduhn a, Jens Meinicke a, Gunter Saake a, Thomas Leich c a University of Magdeburg,
Concern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada [email protected] Abstract Model Driven Engineering (MDE) has achieved success in many
Development of a Feature Modeling Tool using Microsoft DSL Tools.
Development of a Feature Modeling Tool using Microsoft DSL Tools. GIRO Technical Report 2009-1.ver 1.0 (05/01/2009) Rubén Fernández, Miguel A. Laguna, Jesús Requejo, Nuria Serrano. Department of Computer
Reasoning about Edits to Feature Models
Reasoning about Edits to Feature Models Thomas Thüm School of Computer Science University of Magdeburg [email protected] Don Batory Dept. of Computer Science University of Texas at Austin [email protected]
An eclipse-based Feature Models toolchain
An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo [email protected], [email protected] Abstract.
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
Quality Assurance by Means of Feature Models
Faculty of Computer Science, Institute of Software- and Multimedia-Technology, Chair for Software Technology Quality Assurance by Means of Feature Models David Gollasch FOSD Meeting 2014, Dagstuhl, 07.05.2014
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
A Service Oriented Product Line Architecture for E- Government
A Service Oriented Product Line Architecture for E- Government Ines Achour 1, Lamia Labed 2, Rim Helali 2 and Henda Ben Ghazela 1 1 Computer Science Department, Manouba University/ ENSI/ Lab. RIADI-GDL,
Goals and Scenarios to Software Product Lines: the GS2SPL Approach
Goals and Scenarios to Software Product Lines: the GS2SPL Approach Gabriela Guedes, Carla Silva, Jaelson Castro Centro de Informática Universidade Federal de Pernambuco (UFPE) CEP 50740-540, Recife/ PE
Building Service-oriented User Agents using a Software Product Line Approach
Building Service-oriented User Agents using a Software Product Line Approach Ingrid Nunes 1, Carlos J.P. de Lucena 1, Donald Cowan 2 and Paulo Alencar 2 1 Pontifical Catholic University of Rio de Janeiro
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
Managing Software Product Line
* F 2 - Rules for Qualification of Developing and Managing Software Product Line F. Ahmed Electrical & Computer Engineering University of Western Ontario London Ontario, Canada, N5A5B9 [email protected] L.F.
2.2 Netbeans. 2.3 Apache Struts. 2.1 Eclipse. 2.4 ArgoUML
Open Source Tools for Software Product Line Development Sergio Segura, David Benavides, Antonio Ruiz-Cortés and Pablo Trinidad Department of Computer Languages and Systems University of Seville email:{segura,
Product-Line Instantiation Guided By Subdomain Characterization: A Case Study
Product-Line Instantiation Guided By Subdomain Characterization: A Case Study Patricia Pernich and Agustina Buccella and Alejandra Cechich and Maximiliano Arias and Matias Pol la GIISCO Research Group
Reactive Variability Realization with Test-Driven Development and Refactoring
Reactive Variability Realization with Test-Driven Development and Refactoring Glauco Silva Neves Informatics and Statistics Department - INE Federal University of Santa Catarina - UFSC Florianópolis, Brazil
A Model-Driven Approach for Developing Self-Adaptive Pervasive Systems
A Model-Driven Approach for Developing Self-Adaptive Pervasive Systems Carlos Cetina, Pau Giner, Joan Fons and Vicente Pelechano Research Center on Software Production Methods Universidad Politécnica de
today 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
RobbyDBMS A Case Study on Hardware/Software Product Line Engineering
RobbyDBMS A Case Study on Hardware/Software Product Line Engineering Jörg Liebig and Sven Apel and Christian Lengauer Department of Infmatics and Mathematics University of Passau, Germany {joliebig,apel,lengauer}@fim.uni-passau.de
Database Scheme Configuration for a Product Line of MPC-TOOLS
Database Scheme Configuration for a Product Line of MPC-TOOLS Benjamin Klöpper, Tobias Rust, Bernhard Vedder, and Wilhelm Dangelmaier Heinz Nixdorf Institute, University of Paderborn, Fürstenallee 11,
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
How to Configure a Configuration Management System An Approach Based on Feature Modeling
How to Configure a Configuration Management System An Approach Based on Feature Modeling Sebastian Wenzel IBM Business Services GmbH Wilhelm-Fay-Str. 30-34 Frankfurt, Germany [email protected]
Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis
Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis José A. Galindo, David Benavides and Sergio Segura Department of Computer Languages and Systems Av Reina Mercedes
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
A Systematic Literature Review of Software Product Line Management Tools
A Systematic Literature Review of Software Product Line Management Tools Juliana Alves Pereira 1, Kattiana Constantino 1, Eduardo Figueiredo 1 1 Computer Science Department, Federal University of Minas
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
Towards Software Configuration Management for Test-Driven Development
Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany [email protected] Abstract. Test-Driven Development is a technique where
Data Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System
An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System Christian Manz, Michael Schulze 2, and Manfred Reichert Group Research & Advanced Engineering
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
Software Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
Variability in Service-Oriented Systems: An Analysis of Existing Approaches
Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger and Christian Kröher and Klaus Schmid 1 Software Systems Engineering, Institute of Computer Science, University
Exploiting Software Product Lines to Develop Cloud Computing Applications
Exploiting Software Product Lines to Develop Cloud Computing Applications Everton Cavalcante 1, André Almeida 1,2, Thais Batista 1, Nélio Cacho 1, Frederico Lopes 3, Flavia C. Delicato 4, Thiago Sena 1,
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Pattern-based J2EE Application Deployment with Cost Analysis
Pattern-based J2EE Application Deployment with Cost Analysis Nuyun ZHANG, Gang HUANG, Ling LAN, Hong MEI Institute of Software, School of Electronics Engineering and Computer Science, Peking University,
NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0
NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5
Using Feature Modelling and Automations to Select among Cloud Solutions
Using Feature Modelling and Automations to Select among Cloud Solutions Clément Quinton, Laurence Duchien, Patrick Heymans, Stéphane Mouton, Etienne Charlier To cite this version: Clément Quinton, Laurence
Unification of AOP and FOP in Model Driven Development
Chapter 5 Unification of AOP and FOP in Model Driven Development I n this chapter, AOP and FOP have been explored to analyze the similar and different characteristics. The main objective is to justify
Managing Variability in ALPR Software
Managing Variability in ALPR Software Dr. Marco Sinnema Product Manager Video and ALPR, Q-Free ASA P.O. Box 180, 9410 AD Beilen, The Netherlands tel. +31 593 542055, fax. +31 593 542098 [email protected]
Layered Configuration Management for Software Product Lines
Layered Configuration Management for Software Product Lines Master thesis Kroon, E. Graduation Committee Dr. P.M. van den Broek I. Galvão Lourenço da Silva, Msc. Prof.Dr.ir M. Aksit Research Group University
Effort and Cost Allocation in Medium to Large Software Development Projects
Effort and Cost Allocation in Medium to Large Software Development Projects KASSEM SALEH Department of Information Sciences Kuwait University KUWAIT [email protected] Abstract: - The proper allocation
Development/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
A Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
Test Modeling of Dynamic Variable Systems using Feature Petri Nets
Test Modeling of Dynamic Variable Systems using Feature Petri Nets Georg Püschel, Christoph Seidl, Mathias Neufert, André Gorzel, and Uwe Aßmann University of Technology Dresden, Department of Computer
A Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3
Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document
Bridging the Gap between Variability in Client Application and Database Schema
Bridging the Gap between Variability in Client Application and Database Schema Norbert Siegmund 1, Christian Kästner 1, Marko Rosenmüller 1, Florian Heidenreich 2, Sven Apel 3, and Gunter Saake 1 1 School
Embedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
Introduction to OpenUP (Open Unified Process)
Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
Handling Database Schema Variability in Software Product Lines
Handling Database Schema Variability in Software Product Lines Niloofar Khedri School of Electrical and Computer Engineering College of Engineering University of Tehran, Tehran, Iran [email protected] Ramtin
A Management Tool for Component-Based Real-Time Supervision and Control Systems
A Management Tool for Component-Based Real-Time Supervision and Control Systems Sandro Santos Andrade, Raimundo José de Araújo Macêdo Distributed Systems Laboratory (LaSiD) Post-Graduation Program on Mechatronics
How To Write Software
Overview of Software Engineering Principles 1 Software Engineering in a Nutshell Development of software systems whose size/ complexity warrants a team or teams of engineers multi-person construction of
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
An Overview of Challenges of Component Based Software Engineering
An Overview of Challenges of Component Based Software Engineering Shabeeh Ahmad Siddiqui Sr Lecturer, Al-Ahgaff University, Yemen Abstract Nowadays there is trend of using components in development of
focus Software product line engineering (SPLE) is a paradigm of software reuse Combining Service Orientation with Product Line Engineering
focus s o f t w ar e pr o duc t lin e s Combining Orientation with Product Line Engineering Jaejoon Lee and Gerald Kotonya, Lancaster University Developing effective service-oriented product lines can
Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
zen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
Open Source Business Rules Management System Enables Active Decisions
JBoss Enterprise BRMS Open Source Business Rules Management System Enables Active Decisions What is it? JBoss Enterprise BRMS provides an open source business rules management system that enables active
Outline. Definitions. Course schedule
SENG480A/CSC576A Topics in Software Engineering Software Development, Architecture & Evolution Lectures, Sep 17, 20, 2001 Hausi A. Müller University of Victoria Outline Assignment 1 due Sep 27 Last week
