• the number of ports of the User Interface is the
number of use cases that can be accessed by an
actor.
The domain variability management could be
viewed as a transformation taking as input the
Domain Conceptual Model (DCM) and the Decision
Tree Model, and producing as output the
corresponding Base Architecture Model (we call it
T1).
The structure of the architectural elements
involves features on three variability points in the
DT. These features are used to select assets that let
to configure the base architectures.
The behaviour of the architectural elements
involves the features of four variability points in the
DT: entity views, property levels, number of
hypotheses, and reasoning types. These features are
related to the services, the protocols and the
played_roles of the aspects from the PRISMA
architectural elements (the information of state,
process, and roles, respectively).
To optimize the feature insertion process, instead
of repeating this information in each PRISMA type,
we have placed it in the skeletons of the Baseline.
4 VARIABILITY IN THE
APPLICATION DOMAIN: V2
The second type of variability involves the SPL of
the application in a specific field. This variability
allows to the base architectures to be enriched or
decorated with the application domain features.
In the process of the application variability
management, the variations of the specific
requirements of the application domain should be
selected. This selection is made by means of an
ADCM. The features are inserted (by means of
QVT-Transformations (http://www.omg.org/
docs/formal/05-07-01.pdf) in the base skeletons in
order to generate the types of the PRISMA software
artifacts. These PRISMA architectural elements will
be used to configure the PRISMA architectural
model of the application. That model is
automatically compiled into code (C#) using the
PRISMA Model Compiler (Cabedo et al., 2005), and
it is executable over the PRISMA NET Middleware
(Costa et al., 2005).
The features that are used to fill the skeletons to
obtain PRISMA types that make up the PRISMA
base architectures of our SPL are:
• name and type of the entity properties, that will
be diagnosed,
• name and type of the hypotheses,
• the rules that relate the entity properties.
In the following, we present an example of these
features (F) in our educational program diagnosis:
• Features of the properties of level 0 (FP.0) =
{student_population, graduation_rate,
graduation_time, graduate_quality,
control_school, critical_mass,
academic_training, scientific_productivity,
groups_lines_research, general_design,
pupil_control, research_experience_students,
number_courses, scheduled_duration, library,
computer_equipment, laboratories,
building&facilities, general_services }
• Features of the properties of level 1 (FP.1) =
{student_body, faculty, curriculum,
infrastructure&services }
• Features of the hypotheses (FH) =
developmental_stage
• Features of the rules of level 1 (FR.1) =
{student_population=”good” and
graduation_rate=”good” and
graduation_time=”good” and
graduate_quality=”good” and
control_school=”good” } student_body
=”good”
• Features of the rules of level 2 (FP.2) =
{student_body =” good” and faculty =” good”
and curriculum =” good” and
infrastructure&services=” good” }
developmental_stage = “consolidated”
The features considered as constants represent the
base models (in our case, the skeletons). For
example, S-IP-EPD, which means the “S-IP-EPD
program”. It is a constant feature. S-IP-EPD is the
nomenclature used for Inference Process Skeleton of
the Educational Program Diagnosis.
The skeletons selected will be filled or decorated
with the features of the application domain in order
to create the respective types. These types will
include the features as functions, which are
refinements of the base models. These models are
extensions of the base model, which is taken as
input. For example, F ● S-IP-EPD, wich means:
“insert the F feature into the S-IP-EPD model”,
where ● is the application of the F function. The
successive decoration process with features will be
represented as:
S-IP-EPD
0
= FP.0 ● S-IP-EPD
1
=
FP.0 ● (E-MI- DPE
1
)
S-IP-EPD
1
= FP.1 ● S-IP-EPD
2
=
FP.1 ● (E-MI- DPE
2
)
S-IP-EPD
2
= FH ●·S-IP-EPD
3
=
FH ● (E-MI- DPE
3
)
ICEIS 2008 - International Conference on Enterprise Information Systems
52