
 
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