Method engineering: Product Line Evolution Support at Scoping-method (PLEvo-Scoping) Angeliki Iliana Triantou University of Utrecht, Utrecht a.i.triantou@students.uu.nl Utrecht 2012 Introduction Product line engineering is a software development approach that aims to improve the development efficiency for families of systems by facilitating large-scale reuse (Bayer, Flege & Gacek, 1999). Nowadays, Product line (PL) engineering is widespread used in industry (John &Villela, 2010) and there are many companies which implement the Software Product line engineering (SPLE) principles. With this way, companies try to develop embedded software-intensive systems as well as information systems (Pohl, Böckle, & van der Linden, 2005), (Bosch 2002). In 2008, Karina Villela who was an academic in University of Salvador (UNIFACS) in Computing and Network Research Center, Joerg Doerr who was a Doctor at Fraunhofer Institute for Experimental Software Engineering (IESE) in Germany and Anne Gross who was a Researcher at the same institute (IESE) observed the lack of methods that provide “explicit support for estimating the evolution expected in a software system over a specified period of time” (Villela, Dörr & Gross, 2008), thus they coined the Product Line Evolution at Scoping (PLEvo-scoping) method. The main goal of this method is to facilitate the PL scoping team to identify the unstable PL features of the embedded system and predict possible adaptation needs in the future. Furthermore, the method facilitates the improvement of the initial product plan by identifying the adaptation needs and postponing the unstable features. The method contains four steps and each step is separated by different activities. The main steps of PLEvo-scoping method are the “Preparation for Volatility Analysis”, the “Environment Change Anticipation”, the “Change Impact Analysis” and the “Product Evolution Planning”. The first step’s (Preparation for Volatility analysis) main propose is to define the timeframe of the volatility analysis, through the estimation of the product’s life expectancy and the determination of the types of components that are responsible for future changes in customers needs and in market in general. With other words the product manager should investigate the possibility of changes in the system’s environment and establish a relevant timeframe for the product’s lifespan. The step of the Environment Change Anticipation contains the identification of the actors and the description of the facts that are relevant to changes in the system environment. Propose of the third step which is the Change Impact Analysis, is the investigation of facts from the previous step. By identifying, characterizing and classifying the adaptation needs of the identified facts the domain experts give a complete overview of the technical penalty and the technical risk that are related to each adaptation need. The last step, called Product Evolution Planning, edits the most relevant adaptation need and creates the plan of product evolution by analyzing and selecting the most appropriate alternative solutions that deals with the relevant adaptation need. After the integration of the PLEvo-scoping method tables are provided and be available to the product managers. Example In this chapter an example of a software product is illustrated for the better understanding of this method. The example which will be analyzed in the following paragraphs is a software product for ATM’s. There are a lot of deliverables that are available to the product managers after the integration of the PLEvo-scoping method. In this paragraph some deliverables (the system components, the generic actors and facts and the adaptation needs) depicted in tables to give a clear view of the example. In the first step (Preparation for Volatility Analysis) the product manager has to estimate the lifespan of the product. The product manager approximately identifies the product’s life expectancy, with other words, the time that the product is expected to be used without reinvestment in the infrastructure. For the ATM software product the timeframe should not be longer than 5 years, because of the technological needs that change every year and because of the fact that the biometrics technology has already integrated in many sectors of security systems. Already in Japan four big banks have adopted biometrics technologies to replace the existing ATM cards (Xiao, 2007). Furthermore, in this step the domain experts identify components and provide characteristics that may change in the future. In the Table 2 below are illustrated some of these characteristics. Embedded system components Size of PIN code PIN verification Identify the Maestro or Visa card Limit in the amount of money withdrawing Up to 3 times wrong PIN, stop the transaction Protection of each data account Table 2: Embedded system components In the second step (Environment Change Anticipation) it is necessary to identify the actors who interact with the system. In our case the actors are the bank’s customers, the bank’s employees and competitor companies that sell similarly software products. After that it is very important to identify the facts that probably cause changes in the system’s environment. In the Table 3 there are some facts that indirectly cause changes in the software product. Actors User Technology Competitor Facts Need to have more safety transactions Need to withdrawn money in less time Decision of bank to change the system Biometric security systems Adoption of a new technology Innovate extremely new software product Table 3: Generic Facts The third step (Change Impact Analysis) identifies, characterize and prioritize the adaptation needs. In ATM’s software product these needs could be mistakes or lacks in the programming code, or new technology that have to adapt on the product, like the integration of cameras in the ATMs. The Table 4 below provides the characterization and the prioritization of adaptation needs. In the left part of the table the name and the code of some adaptation needs are given (AN = Adaptation Need). Identification AN1 Support of security system AN7 Users’ identification AN34 Camera scanning AN60 Easy product use AN65 Technological inventions AN89 Emergency trigger POI 3 4 2 1 5 5 BI 4 5 5 5 3 5 TP 1 2 1 4 3 1 TR 2 3 4 3 1 3 AAI 5 3 2 5 5 3 P 1 1 4 5 2 1 Characterization: BI (Business Impact), TP (Technical Penalty), TR (Technical Risk) Prioritization: POI (Potential Occurrence Indicator), AAI (Anticipation Advantage Indicator), P (Priority) Table 4: Characterization of adaptation needs The last step (Product Evolution Planning) contains the activities of planning introduction of adaptation needs, analyze alternative solutions, select alternative solution and revise plan for introduction of adaptation needs. All the alternative solutions analyzed in tables provided by the PLEvo-scoping method. In ATM’s software product case the Product Evolution Planning step is difficult described because of the lack of real facts and features that could be analyzed and give an adequate solution. Related literature Until 2008, many researchers had worked on the software evolution field. In 2000, Bayer, Flege & Gacek published their work in which they evaluate traditional software architecture with a context of PuLSE-DSSA software architecture (Bayer, Flege & Gacek, 2000). In 2001, Aoyama in his paper with the title “Continuous and Discontinuous Software Evolution: Aspects of Software Evolution across Multiple Product Lines”, observed the continuous and discontinuous evolution of software systems by conducting an empirical study on the evolution of software systems in mobile phones (Aoyama, 2001). Three years later, in 2004, Nurmuliani, Zowghi and Fowell published a paper about the “Analysis of Requirements Volatility during Software Development Life Cycle” and their main purpose is to focus on analyzing the changes for identifying and characterizing the requirements volatility (Nurmuliani, Zowghi & Fowell, 2004). In the following years many research were made, like the Buckey’s and Zenger’s paper with title “Towards a Taxonomy of Software Change” in which the two authors focus more on technical aspects and provide framework of software changes (Buckley, Mens & Zenger et al). However, none of the existing researches until 2008 had focused on the same aspect with PLEvo-scoping method. Taking into consideration that the PLEvo-Scoping method is a new PL scoping method, first mentioned in 2008, it is understandable that there is not enough literature to illustrate and evaluate this method. Karina Villela, Joerg Doerr and Anne Gross based on the elements proposed by Software Evolution Model (Villela, Dörr & Gross, 2008) coined, described and analyzed the PLEvo-scoping method. The Software Evolution Model’s include the following concepts, Actor, Fact, Adaptation Need, Adaptation Type, Level of Variation, Change and Impact. All these concepts played an important role in the construction of the PLEvo Scoping method as it will be described in the next paragraph. Except from the aforementioned authors' two papers, there is not any other scientific work that is referred in this method. Their first paper that is written in 2008, with title “Proactively Managing the Evolution of Embedded System Requirements”, provides the methods description and a useful example of its use. The purpose of the second paper that is written in 2010, with title “Evaluation of a Method for Proactively Managing the Evolving Scope of a Software Product Line”, is to evaluate the method inside a quasi-experiment. In this study the authors achieve to verify that the PLEvo-scoping method is adequate and feasibly. Process-Deliverable Diagram of the PLEvo Scoping method In this chapter the activity table (Table 5) and the concept table (Table 6) for the PLEvo Scoping method are provided. Also the Process-Deliverable Diagram (PDD) of PLEvo Scoping method is illustrated in Figure 1. The activity table describes the main activities and the sub-activities that are formulated as steps and activities respectively, in the PLEvo Scoping method. Their corresponding concepts are all spelled out in capital letters. The concept table is a description of the deliverables that each of the main activities and sub-activities have. In Figure 1 the Process-Deliverable Diagram shows that the result after the implementation of the aforementioned method is the revision of the PL Evolution map. The four main activities in the PDD are the Preparation for Volatility Analysis, the Environment Change Anticipation, the Change Impact Analysis and the Product Line Evolution Planning. Each activity is divided in sub-activities that are all depicted on the right side of the Process-Deliverable Diagram. Moreover, all the activities are sequential, as they need to carry out in a predefined order, except from the first one (Preparation for Volatility Analysis) which is unordered, as its sub activities can be executed in any order. On the left side of Process-Deliverable Diagram depicted the deliverables (concepts) of the sub-activities. All the explanations about the activities and the concepts descriptions are taken from the paper that has written by Villela, Dörr and Gross in 2008 and the paper by Villela, Dörr and John that has written in 2010. Figure 1: PDD of PLEvo Scoping method Table 5: Activity Table Activity Prepare Volatility Analysis Change Environmental Anticipation Change Impact Analysis Sub-activity The product manager establishes the TIMEFRAME that restricts the current VOLATILITY ANALYSIS. The TIMEFRAME should not be longer than 10 years. Identify the system components The domain experts identify the types of SYSTEM COMPOMENTS involved in the assembly of the embedded system. Identify environmental actors The domain and market experts identify the environmental ACTORS who are related with the PRODUCT LINE (PL) ENVIRONMENT and realize FACTS that may affect the PL. Characterize potential facts The product manager identifies and characterizes potential FACTS that may be caused by the identified ACTORS. Verify perspective of new actors and facts The domain and market experts verify the PERCPECTIVE of new ACTORS and characterize how these ACTORS may cause environment changes. Classify potential facts The product manager prioritizes the potential FACTS according to their relevans, in order to decide whether and when they have impact in ADAPTATION NEEDS analyzed terms. The domain and market experts identify the ADAPTATION NEEDS that may be allowed or required in the PL as a consequence of the previously identified FACTS. Identify adaptation needs Characterize adaptation needs Prioritize adaptation needs Plan the PL Evolution Description Establish the timeframe The domain experts characterize the ADAPTATION NEEDS by identifying the PL FEATURES to be affected by them, and by estimating business impact, technical penalty and technical risk. The product manager prioritizes the ADAPTATION NEEDS in order to decide whether and when the inclusion of an ADAPTATION NEED should be planned. Plan introduction of adaptation needs The domain experts make the plan introduction of the expected ADAPTATION NEEDS. Analyze alternative solutions Domain experts analyze ALTERNATIVE SOLUTIONS for dealing with relevant ADAPTATION NEEDS. Select alternative solution The product manager selects the best ALTERNATIVE SOLUTIONS for dealing with the ADAPTATION NEEDS. Revise plan for adaptation needs The product manager revises the plan for introducing the ADAPTATION NEEDS into the PL ENVIRONMENT and makes the necessary adjustments. Table 6: Concept Table Concept Description TIMEFRAME A timeframe that restricts the current volatility analysis. In practice a timeframe should not be longer than 10 years, as the technology evolution change every year (Villela et al., 2008). The types of system components involved in the assembly of the embedded system (Villela et al., 2008). An analysis that consists of a timeframe and one or more system components (Villela et al., 2008) A single entity that is related with the PL environment and realize facts that may affect the PL (Villela et al., 2010). The result of interference of the actors with the PL environment. Has a property, called “Relevance”, which is a description of the consequence of the facts in the PL environment. More detailed the relevance is an indication that shows if the characterized facts should further analyzed in iterations (Villela et al., 2008). The current environment of the PL related with actors and plays important role in the PL evolution map creation (Villela et al., 2008). A verification of new actors playing a part in PL’s environment within a specific timeframe and secondly an explanation on how these actors may change the PL environment (Villela et al., 2008). A list of facts of a PL environment, ordered by the relevance of facts. Classification contains two attributes, the “Potential Occurrence Indicator” that combines the probability of the first time that facts are associated with the same adaptation need and the attribute “Anticipation Adaptation Indicator” that combines the three attributes of the adaptation needs (Villela et al., 2008). The adaptation needs that required in the PL as a consequence of the previously identified facts. The concept “adaptation needs” has three properties, the “Business impact” which is the adaptation needs’ impact on business or customers, the “Technical penalty” that is the penalty that the embedded system suffer if the adaptation needs and the alternative solution did not met from the begging and the “Technical risk” which is the risk that is related to each adaptation need and take into consideration the technology, the complexity and the quality. All the values of these attributes are defined by a ordinal scale of five points (1 = low to 5 = high) (Villela et al., 2008). A feature of the Product Line that characterizes the adaptation needs (Villela et al., 2010). An ordered list that consists of one or more adaptation needs based on the volatility analysis and the PL features. The order list is based also on the properties, Business impact, Technical penalty and Technical risk (Villela et al., 2008). A description of when and in which products relevant adaptations are expected to be introduced. This concept gives rise to the Product Line evolution map (Villela et al., 2008). Four alternative solutions provided by the PLEvo Scoping method and deal with relevant adaptations needs. Alternative solution contains five properties, the “Prior effect” which is “the effort required to perform the adaptation need before the fact required the adaptation need takes place”, the “Further effort” which is the “effort required to perform the adaptation need when the fact takes place”, the “Cost” that is the cost associated to the introduction of necessary new technologies, the “Effectiveness” that is “the capability of the alternative solution for introducing the adaptation need into the embedded system without causing rework” and the “Strategic alignment” which is the “capability of the alternative solution to contribute to the achievement of the results target by the product evolution strategy”. All the values of these attributes are defined by a ordinal scale of five points (1 = low to 5 = high) (Villela et al., 2008). SYSTEM COMPONENT VOLATILITY ANALYSIS ACTOR FACT PRODUCT LINE ENVIRONMENT PERSPECTIVE CLASSIFICATION ADAPTATION NEED PRODUCT LINE FEATURE MAP OF ADAPTATION NEEDS PRODUCT EVOLURION MAP ALTERNATIVE SOLUTION PRODUCT LINE EVOLUTION MAP A description of the most relevant adaptation needs and of the best alternative solution that are likely to be allowed or required (Villela et al., 2008). References Aoyama, M. (2001). Continuous and discontinuous software evolution: aspects of software evolution across multiple product lines. Proceedings of the 4th International Workshop on Principles of Software Evolution, IWPSE ’01 (pp.87–90). New York, NY, USA: ACM. doi:10.1145/602461.602477 Bayer, J., Flege, O., Knauber, P., Laqua, R., Muthig, D., Schmid, K., Widen, T. (1999). PuLSE: a methodology to develop software product lines. Proceedings of the 1999 symposium on Software reusability, SSR ’99 (pp.122–131). New York, NY, USA: ACM. doi:10.1145/303008.303063 Bayer, J., Flege, O., & Gacek, C. (2000). Software Architectures for Product Families. Lecture Notes in Computer Science, 1951, (pp.210–216). Springer Berlin / Heidelberg. from http://www.springerlink.com/content/1yvvgyhel7ue7w7m/abstract/ Bosch, J. (2002). Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization. In: G. Chastek (Ed.) 2nd Software Product Line Conference, Lecture Notes in Computer Science, 2379, (pp.257-271). Heidelberg: Springer. Buckley, J., Mens, T., Zenger, M., Rashid, A., & Kniesel, G. (2005). Towards a taxonomy of software change. Journal of Software Maintenance and Evolution: Research and Practice, 17(5), 309–332. doi:10.1002/smr.319 John, I., & Villela, K. (2010). Software Product Lines: Going Beyond. Lecture Notes in Computer Science, 6287, (pp.515–516). Springer Berlin / Heidelberg. from http://www.springerlink.com/content/n1564846l18n96v6/abstract/ Nurmuliani, N., Zowghi, D., & Powell, S. (2004). Analysis of requirements volatility during software development life cycle. Proceedings of the Software Engineering Conference, (pp.28–37). Australian, IEEE. doi:10.1109/ASWEC.2004.1290455 Pohl, K., Böckle, G., & van der Linden, F. (2005). Software product line engineering: foundations, principles, and techniques. Birkhäuser. Villela, K., Dörr, J., Gross, A. (2008). Proactively Managing the Evolution of Embedded System Requirements. Proceedings of the 16th International Requirements Engineering Conference, Catalonia, Barcelona, Spain, 13–22. Villela, K., Dörr, J., & John, I. (2010). Evaluation of a Method for Proactively Managing the Evolving Scope of a Software Product Line. In R. Wieringa & A. Persson, 16th International Working Conference on Requirements Engineering: Foundation for Software Quality, 6182, (pp. 113-127). Berlin, Germany: Springer-Verlag. doi:10.1007/978-3-642-14192-8_13 Xiao, Q. (2007). Technology review - Biometrics-Technology, Application, Challenge, and Computational Intelligence Solutions. IEEE Computational Intelligence Magazine, 2(2), 5–25. doi:10.1109/MCI.2007.353415 Appendix Identification AN AN AN AN AN AN POI BI TP TR AAI Characterization: BI (Business Impact), TP (Technical Penalty), TR (Technical Risk) Prioritization: POI (Potential Occurrence Indicator), AAI (Anticipation Advantage Indicator), P (Priority) Table 4: Characterization of adaptation needs P