is to identify the common and variable
characteristics of the domain and to document it in
order to be used in the architecture definition and as
a basis for the generation of product line members.
Conversely, the processes achieve this outcome in
different ways. The decision model seems to confer
advantages in precision, and its ability to express
binding times and constraints on the value spaces for
variability. Its model representation uses simply
assumptions over the domain, representable as
predicates, for the commonality and the variability.
One result is that the decision model can be viewed
as the basis for creating a domain specific language.
The primary advantage of feature models is their
visual appeal. For simple domains where there are
few constraints among variability, they help the
domain engineer to visualize the domain for better
understanding and maintenance. The visual
representation must be supplemented with attribute
definitions as domain complexity increases. Also as
domain size and complexity increase, the visual
diagram will require manipulation, such as panning
and zooming to preserve the ability to see the entire
domain at one time.
Both approaches benefit from the ability to
impose structure on the domain and both may
become unwieldy as domain size and complexity
increases. But overall they are the state-of-the art
technology to define the scope of a software product
line. Our case study shows that they work for both
cases and the guideline for selection is to use feature
model for small product lines and decision model for
larger ones with precision requirements. The future
research direction of this work would be to compare
the two as applied to other complex cases and collect
quantitative measurements. In addition, it would be
desirable to do the decision model based on an
existing feature model real case, even though the one
way procedure was given in the paper.
REFERENCES
Weiss, D. M., 2013. Software Product Line Hall of Fame.
http://www.sei.cmu.edu/productlines/plp_hof.html.
W. B. Frakes, R. Prieto-Díaz, and C. J. Fox, 1998.
"DARE: Domain Analysis and Reuse Environment,"
Annals of SW Eng., vol. 5, no. 1998, pp. 125-141.
M. Moon, K. Yeom, and H. S. Chae, 2005. "An Approach
to Developing Domain Requirements as a Core Asset
Based on Commonality and Variability Analysis in a
Product Line," IEEE Transactions on SW Eng., vol.
31, no. 7, pp. 551-569.
D. Weiss and C. T. R. Lai, 1999. Software Product-Line
Engineering: A Family-Based Software Development
Process: Addison-Wesley, 1999, pp. 448.
K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A.
S. Peterson, 1990. "Feature-Oriented Domain Analysis
(FODA) Feasibility Study," Technical Report
CMU/SEI-90-TR-21, SEI, CMU, Pittsburgh.
K. Czarnecki, and et al., 2012. "Cool features and tough
decisions: a comparison of variability modeling
approaches", VaMoS'12 Proceedings of the Sixth
International Workshop on Variability Modeling of
Software-Intensive Sys., pp 173-182, NYC, NY, USA.
K. Schmid, and et al., 2011. "A comparison of decision
modeling approaches in product lines", VaMoS'11
Proceedings of the 5th Workshop on Variability
Modeling of Software-Intensive Systems, pp 119-126,
New York, NY, USA.
S. Wartik and R. Prieto-Díaz, 1992. "Criteria for
comparing reuse-oriented domain analysis
approaches," International Journal of Software
Engineering and Knowledge Eng., vol. 2, no. 3, pp.
403-43.
X. Ferré and S. Vegas, 1999. "An Evaluation of Domain
Analysis Methods," 4th Int. Workshop on Evaluation
of Model Methods in Sys. Ana. & Des.
K. Czarnecki and U. Eisenecker, 2000. Generative
Programming – Methods, Tools, and Applications:
Addison-Wesley, pp832
H. Gomaa and M. E. Shin, 2004. "Tool Support for
Software Variability Management and Product
Derivation in Software Product Lines," Workshop on
Software Variability Management for Product
Derivation, SPLC, Boston, USA.
M. Eriksson, J. Börstler, and K. Borg, 2005. "The PLUSS
Approach - Domain Modeling with Features, Use
Cases and Use Case Realizations," SPLC, Rennes,
France, pp. 33-44.
K. C. Kang, M. Kim, J. Lee, and B. Kim, 2005. "Feature-
Oriented Re-engineering of Legacy Systems into
Product Line Assets – a Case Study," SPLC, Rennes,
France, pp. 45-56.
D. Benavides, P. Trinidad, and A. Ruiz-Cortes, 2005.
"Automated Reasoning on Feature Models," Conf. on
Advanced Information Systems Engineering (CAiSE),
Portugal, pp. 491-503.
D. Batory, 2005. "Feature Models, Grammars, and
Propositional Formulas," Software Product Lines
Conference (SPLC), Rennes, France, pp. 7-20.
Li, J. J., 2013. http://www.trustie.net/projects/project/
show/PolyFlow
L. B. Lisboa, V. C. Garcia, E. S. Almeida, and S. L.
Meira, 2007. "ToolDAy - A Process-Centered Domain
Analysis Tool," Brazilian Symposium on Software
Engineering (SBES) - Tools Session, João Pessoa,
Paraiba, Brazil, pp. 54-60.
Devine, T. R., Goseva, K. Krishnan, S., Lutz, R. R. and Li,
J. J., 2012. “An empirical study of pre-release software
faults in an industrial product line”, Proc. of IEEE
ICST2012, April.
Li, J. J., Slye, H., Trung, D. and Weiss, D. M., 2008.
“Decision-model-based Code Generation for PLE”,
Proc. of IEEE SPLC2008.
AnEvaluationtoCompareSoftwareProductLineDecisionModelandFeatureModel
151