(ii) Model Driven Development (MDD), an approach
that uses models as the main development artifacts,
transforming them (semi) automatically into
application source code (Brambilla, et al., 2017).
These approaches are strongly encouraged for this
context and might contribute to improve productivity:
define a SPL comprising the characteristic of the
domain and use MDD to specify these characteristics
and automatically generate code.
The SPL and MDD approaches have been
successfully used by several authors, such as Zhu
(Zhu, 2014), who proposed the Engine Cooperative
Game Modeling (ECGM) framework to model games
and generate source code, showing that it can
significantly improve the development process.
Sottet, Vagner and García Frey (Sottet, et al., 2015)
proposed using the two approaches to improve user
interaction with the interface, arguing that the design
of this interaction is made difficult by taking into
account aspects such as different devices and users
and diverse interaction environments. Zarrin and
Baumeister (Zarrin and Baumeister, 2018) proposed
the construction of a framework to better support
semantics in the use of both approaches. Although the
two approaches (SPL, MDD) are widely used
together, no reference was found to their application
in the context of student evaluation criteria in
educational systems, nor even in the broader
educational domain.
This work proposes a solution that integrates the
SPL and MDD approaches for the development of
Student Information Systems (SIS). The purpose is to
create a product line of a SIS that can be customized
through the MDD at its points of variation. Diverse
products can be instantiated from this SPL to meet the
specific needs of educational institutions.
This paper focuses on a specific point of
variability of SIS: the student evaluation criteria. The
approach presented here will be further extended to
other SIS variability points. For this specific point of
variability we developed, a modeling language, called
DSCHOLAR, to be used in characteristics modelling
by domain specialists, and a transformation program
to generate component code from DSCHOLAR
models. This article presents an overview of the
solution and of the DSCHOLAR (Cunha, et al.,
2018), and details the following contribution: the
transformation and its validation.
We defined DSCHOLAR due to the higher
expressivity of Domain Specific Languages (DSLs)
when compared to General Purpose Languages, such
as UML (Booch, et al., 2006), making them more
suitable for the users, i.e. domain experts, such us
academic managers or teachers, not software
engineering professionals.
The point of variability focus here, student
evaluation criteria, was initially selected because of
its relevance and non-triviality: relevance because the
evaluation criteria may vary significantly in different
institutions. Indeed, this variation may occur in
different areas or departments of the same institution.
In the limit, different teachers might adopt different
evaluation criteria; non-triviality because the
specification and implementation of an evaluation
criteria can be very distinct and expressed through
non-trivial rules. This particularity – the possibility
that each individual user (typically not an software
development expert) may need a specific
configuration of the evaluation criteria – is not usual
in information systems in general, but a real
possibility in the SIS.
The method used to develop this work started with
the specification of the characteristics of the SIS
product line as well as the classification of them as
variable or non-variable. Each variable characteristic
was analysed so as to characterize the frequency of
changes in their specifications. We use MDD to
develop components for variable characteristics that
may change considerably over time (e.g. the student
evaluation criteria). In these cases, a modeling
language and a transformation program must be
defined, to enable the modeling of the characteristic
and the automatic generation of its code. Finally, both
the language and the transformation were validated
through proofs of concept.
The rest of the paper is organized as follows:
section 2 introduces the concepts necessary for a
better understanding of the work and section 3
presents the related works that integrate SPL and
MDD. Section 4 presents an overview of the proposed
SPL and DSCHOLAR as well as the detailing of the
transformation and its evaluation. Finally, section 5
presents the conclusions and future work.
2 BACKGROUND
Several approaches have been proposed to meet the
increasing demand and complexity of software. These
approaches aim, among other things, to increase the
productivity of the development process and software
quality. Among them, SPL and MDD stand out in a
context such as the one we have: an information
system that needs extensive and non-trivial
customization for each specific customer.
SPL can be defined as a set of software products
with characteristics sufficiently similar to share a