easier maintainability of this class of applications.
With the emergence and evolution of many
CMSs frameworks (see for example, the popular
CMS Matrix website: http://www.cmsmatrix.org),
the adoption of a development approach that can
keep the core development portable and easy to
apply to new CMS would be also a great advantage.
For this reason, such an approach should be as much
cross-platform as possible, meaning it should be
independent of any CMS framework.
Model-Driven Development (MDD) is an
approach that tries to mitigate the above problems in
multiple application domains (Schmidt, 2006);
(Selic, 2008); (Hutchinson et al., 2014). MDD is a
software development paradigm that combines
domain-specific languages (DSLs) with
transformation engines and generators. DSLs are
textual or graphical languages used to specify an
application domain, the requirements and
functionalities (Deursen, 2000); (da Silva, 2015).
DSLs might be described by metamodels that define
the domain concepts and associations established
between them. Additionally, transformations engines
are tools that process a model (defined in a DSL)
and generate other models, through Model-to-Model
(M2M) transformations, or textual artifacts such as
source code, through Model-to-Text (M2T)
transformations (Hermans et al., 2009).
This paper proposes the XIS-CMS approach for
the development of CMS-specific modules by
defining platform-independent domain models with
simple or medium complexity, and then to generate
the corresponding source code automatically. This
approach includes the XIS-CMS language and the
XIS-CMS framework that is its companion
supporting tool. The XIS-CMS language is a DSL,
defined as a UML profile, organized in multiple
views that describe several aspects of a set of CMS
modules, such as domain model, types of users and
permissions. In turn, the XIS-CMS framework
supports that language by offering features like
design, validation and model transformations.
The outline of this paper is as follows. Section 2
describes the context in which the XIS-CMS
approach is based. Section 3 presents the definition
of the XIS-CMS language, describing each view and
illustrating their use with a very simple case study.
Section 4 describes the XIS-CMS framework and
the tools used to support the applicability of the XIS-
CMS language. Section 5 presents the results of the
evaluation of XIS-CMS. Section 6 refers and
discusses the related work. Finally, Section 7
presents the conclusion and issues for future work.
2 BACKGROUND
XIS-CMS derives from previous work, namely from
the XIS and XIS-Mobile UML profiles. XIS is
focused on the design of interactive systems at a
Platform-Independent Model (PIM) level following
a MDD approach. XIS (Silva et al., 2007) comprises
three major sets of views: Entities, Use-Cases and
User-Interfaces. First, the Entity view is composed
of the Domain and BusinessEntities views. The
Domain view represents the relevant classes to the
problem domain, their attributes and the
relationships among them. In turn, the
BusinessEntities view defines higher-level entities,
known as business entities, that aggregate entities of
the Domain view or other business entities that can
be more easily manipulated in the context of a given
use case. Second, the Use-Cases view contains the
Actors and the UseCases views. The Actors view
defines the entities that interact with the system
under study. The UseCases view specifies the
operations that the actors can perform over the
business entities, when interacting with the system.
Third, the User-Interfaces view comprises the
NavigationSpace and InteractionSpace views. The
NavigationSpace view defines the navigation flow
between the several screens of the system
(designated by interaction spaces) with which the
user interacts. In turn, the InteractionSpace view
represents the elements of the graphical interface
contained in each interaction space and can also
specify the access control of the actors to these
elements.
XIS also proposes two modeling approaches: the
smart approach and the dummy approach (Silva et
al., 2007). When using the smart approach, the
designer only needs to define the Domain,
BusinessEntities, Actors and UseCases views. Then,
the User-Interfaces views are automatically
generated through M2M transformations (based on
the models defined in the Domain and UseCases
views). After that, it is possible to refine these
generated UI models through direct authoring or
design. On the other hand, in the dummy approach,
the designer needs to define manually the entire
Domain, Actors, NavigationSpace and
InteractionSpace views. XIS was originally defined
to develop desktop or web interactive applications
and to generate code for software frameworks, such
as Windows Forms.NET and Microsoft ASP.NET,
while XIS-CMS is specifically focused on CMS
modules applications, particularly in CMS module
development.
More recently, XIS-Mobile, an extension of XIS,