similarities and variations among members of the
PLs or combinations of PLs. Various views of the
UML, in particular the use case view and the static
view are extended and used for modeling PLs and a
domain of PLs using a view integration approach.
The method introduces new stereotypes in modeling
the use case view. It also integrates the feature
model, which is used for modeling the common and
variable requirements in software PLs with the
UML. The UML package notation is used to depict
use cases that are grouped into the same feature.
Classes and class diagrams are used for static
modeling for the PL domain. UML stereotypes
distinguish between kernel, optional and variant
classes. Additionally, the <<alternative>> stereotype
is used to represent “1 and only 1” choices for
classes in the class diagram. Aggregation and
Generalization/Specialization hierarchies are used to
represent the static view of the domain model.
Variability in multiple-view models of software PL
has also been discussed in (Gomaa and Shin, 2003).
This paper uses UML notation for functional view,
which is represented through use cases, for static
model view through a class model and a dynamic
model view through collaboration model and
statechart model. This is a more general approach.
Here we propose UML notation extensions that are
applied particularly in modeling PLA for
middleware distributed services.
5 CONCLUSIONS
This paper has described how UML standard
concepts can be extended to address the challenges
of variability management in space of software
PLAs at conceptual level. A service based approach
has been considered in modelling architectural
views. In particular, a new UML profile has been
defined to be integrated in a systematic approach, a
quality-driven architecture design and quality
analysis method. Standard UML extensibility
mechanisms can be used to express diagrammatic
notations of each view of the architecture modeled
using the method. The detailed description of each
required extension presented in this paper would
allow a possible standardization of this profile.
Integrated use of a standard profile and a design
method as described here would allow extensive and
systematic use, maintenance and evolution of the
software PLAs. By using UML notation extensions,
our method models the variability, and hence
explicitly describes, where in the PLA views
software evolution can occur. A variation point
specification is needed in PLA views to
communicate to reusers where and how to realize a
PL-member-unique variant.
In the area of tool support a feasibility analysis of
the implementation of the new UML extensions was
also performed. We investigated whether or not
concrete CASE tool for software design supports the
new UML refinement. In the experiment we have
evaluated the Rational Rose RT tool (Rational,
2003). With regard to how the tool can be
configured or what other new components it needs,
our evaluation showed that the conceptual views are
affected by the missing required extension
constructs. We believe that with smaller adaptations
the required extensions can be made available in a
CASE tool.
REFERENCES
Atkinson C., J. Bayer, D. Muthig, 2000, Component-based
Product Line Development: The KobrA Approach,
Procs. of SPLC1, Kluwer Acad, pp. 289-310.
Coriat M., J. Jourdan, F. Boisbourdin, 2000, The SPLIT
Method,
Procs. of SPLC1, , pp. 147-166.
Dobrica L. and E. Niemela, 2008 An approach to
reference architecture design for different domains of
embedded systems,
Procs. of SERP 2008, CSREA
Press (to appear).
El Kaim, W., Cherki, S., Josset, P., Paris, F., 2000,
Domain Analysis and Product-Line Scoping: A
Thomson-SCF Product-Line Case Study,
Procs. of
SPLC
, Kluwer Acad.
Gomaa H., Shin M.E., 2003, Variability in Multiple-View
Models of Software Product Lines,
Procs. of SVM.
Gomaa H and M. Gianturco, 2002, Domain modeling for
World Wide Web based on Software Product Lines
with UML,
ICSR-7, LNCS 2319, pp. 78-99.
Jacobson I., M. Griss, P. Jonsson, 1997
, Software Reuse-
Architecture, Process and Organization for Business
Success, ACM Press.
Matinlassi M., E. Niemelä, L. Dobrica, 2002,
Quality-
driven architecture design and quality analysis
method – A revolutionary initiation approach to
product line architecture
, VTT Publications 456.
McComas, D., Leake, S., Stark, M., Morisio, M.,
Travassos, G., WhiteM
, , 2000, Addressing
Variability in a Guidance, Navigation, and Control
Flight Software Product Line,
Procs. SPLC1, PLA
Workshop.
OMG Unified Modeling Language Specification, 2003.
Purhonen A., E. Niemelä, M. Matinlassi, 2004,
Viewpoints of DSP software and service architectures,
Journal of Systems and Software.
Rational Rose RealTime CASE tools, http://www-
306.ibm.com/software/rational/.
Webber D. and H. Gomaa, 2002, Modeling variability
with the variation point model,
ICSR-7, LNCS 2319.
A UML-BASED VARIABILITY SPECIFICATION FOR PRODUCT LINE ARCHITECTURE VIEWS
239