This document proposes an approach called APPLE for identifying and modeling aspectual features in software product lines. APPLE enhances traditional feature-oriented domain analysis (FODA) by using formal concept analysis to detect aspectual feature relationships that crosscut multiple features. It then models these aspectual features and integrates them into an enhanced feature model. A case study tool is presented that automates parts of the APPLE process and applies it to an arcade game maker case study.
Implementing Aspectual Features in Software Product Lines
1. Identifying and Implementing Aspectual Features in Software Product Lines Represented By: Mohamed A. Zaatar Software Designer Authors: Mohamed A. Zaatar College of Computing & IT Arab Academy for Science & Tech. Cairo, Egypt mzaatar@acm.org Haitham S. Hamza Dept. of IT Cairo University Giza, Egypt hshamza@acm.org Abd El Fatah Hegazy College of Computing & IT Arab Academy for Science & Tech. Cairo, Egypt abdheg@yahoo.com
3. Software Product Line systematic reuse to develop software apps Feature Oriented Domain Engineering AKA FODA To engineer reusable assets necessary to develop a family of applications within a defined domain Commonalities and Variabilities (C&V) analysis AKA Domain Analysis is the major activity of FODA Introduction
4. Features don’t live in isolation Features have relation among them and this is the missing dimension Motivation 2D 3D
5. Missing Aspectual Dimension in the FODA. Aspectual Features Should be discovered in the Early phases SDLC Motivation
6. Related Work [1] J. M. Conejero and J. Hern´andez, “Analysis Of Crosscutting Features In Software Product Lines,“ Proc. Of the 13th Int. Workshop on Early Aspects, EA ’08, pp 3-10, Germany,2008 [2] N. Loughran, A. Sampaio, and A. Rashid, “From Requirements Documents To Feature Models For Aspect Oriented Product Line Implementation,“ Workshop on MDD In Product Lines (held with MODELS 2005), Montego, vol. 3844 of Lecture Notes in Computer Science, pp 262-271. Springer, 2006
9. FODA analysis2- Aspectual Features Detection (FCA) 3- Aspectual Feature Modeling 4- Feature Classification/ Effect and Code Generator Aspectual Feature Detection FCA Aspectual Features Modeling Code Generation PLUM
10.
11.
12. Enhanced FM with Aspectual Relations With the Aspectual Features (AF), Aspectual Features Modeling is drawn. To help the analyst to identify the Aspectual Features effects Approach – AF Modeling Analysis FODA Aspectual Feature Detection FCA Aspectual Features Modeling
17. Classifications of Features* Product Line Modified Modeler (PLUM), http://www.esi.es/Projects/plum/ Approach – Code Generator Analysis FODA Aspectual Feature Detection FCA Aspectual Features Modeling Code Generation PLUM
18. Case tool is developed to semi-automate the process by .NET 3.5 framework The tool is to go through all steps FODA Analysis , detect the AF, model the aspectual relationships and generate the PLUM integrates code also the categorization of features. Arcade Game Maker* Case Study * http://www.sei.cmu.edu/productlines/ppl/ Case Study
24. APPLE is using a practical analysismethodologies APPLE detects the relation between Features and inspects the Aspectual Features APPLE leads to Modular SPL systems. Conclusion
SPL is an effective and practical technology to exploit systematic reuse in developing software applicationsSPL develops different but related software systemsSPL a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a particular way”DE process used to engineer reusable assets necessary to develop a family of applications within a defined domain
SPL take cares of very important dimension which is the C & V dimension but still there is another core dimension affects the software
We argue that identifying cross-cut features is circuital in developing truly reusable software product lines, and there should be a practical approach for identifying various types of such features.Identifying the AF should be in early phases in software Life cycle to avoid complexity and increase software ModularitySDLC : Software Development Life Cycle
Analyst Needs:Practical Analysis TechniquesFeature ModelingAspectual Feature Detection and ModelingPractical analysis methodologies : FODA and Use Cases
FCA: provides means to identify meaningful groupings of objects that share common attributes as well as provides a theoretical model to analyze hierarchies of these groupingsFCA : Mathematically techniques to clustering technique and model them graphically in the Lattice
FCA: provides means to identify meaningful groupings of objects that share common attributes as well as provides a theoretical model to analyze hierarchies of these groupingsFCA : Mathematically techniques to clustering technique and model them graphically in the Lattice
FCA: provides means to identify meaningful groupings of objects that share common attributes as well as provides a theoretical model to analyze hierarchies of these groupingsFCA : Mathematically techniques to clustering technique and model them graphically in the Lattice