Current Research Projects
An Infrastructure to Support SMarty Product-Line Engineering (2014-2017)
In this project we investigate the following research gaps:
- the effectiveness of identification and representation of variability in SMarty-based SPLs;
- how SMarty model inspection techniques might contribute to defect reduction in SPLs;
- how SMarty model-based testing techniques might contribute to errors reduction in SPL models;
- how SPL evaluation can be performed in different PLE lifecycle phases;
- what metrics can be used/defined towards evaluation of SPLs based on trade-off analysis;
- how planning and execution of empirical studies can drive the evaluation of variability identification and representation approaches, and inspection and testing techniques in SPL;
- the automation of SMarty-based SPLs evaluation approaches and inspection and testing techniques;
- how SMarty-based products generation can benefit from inspection,testing and evaluation of SPLs.
Figure 1 presents the overall infrastructure we are targeting:
- SMartyNLP (to start): a natural language processing mechanism for identifying variability from requirements specifications;
- SMartyComponents (developed): a component-based process for specifying SMarty architectures (PLA architectures) ;
- SMartyADL (to start): an architectural description language to specify SMarty architectures;
- SMartyParser (developed): an XMI parser to process SMarty-based SPLs modeled in UML;
- SMartyDSL (to start): a domain specific language to support formal specifications of SMarty models;
- SMartyAnnoatations/SMarty2Java (developed): a Java annotation library for tagging SMarty source code;
- SMartyCheck (developed): a checklist-based inspection technique for SMarty use case and class models;
- SMartyTesting (to start): a model-based testing approach for SMarty models;
- SMartyMetrics (developing): quality attributes and metrics for ISO/IEC 20510 under the SPL perspective;
- SystEM-PLA (developed): a systematic method for product-line architecture evaluation;
- SMartyRecommender (to start): a recommendation technique to identify and prioritize features in SPLs.
Fig 1.: SMarty Product-Line Engineering: Infrastructure Overview.
Past Research Projects
- SystEM-Env: an Experimental Environment for UML-based Software Product Line Evaluation (2011-2014)