2 RELATED WORK
The topic of the integration of process modeling tech-
niques with MDE approaches for the development of
WAs is not new in literature. In (Merialdo et al.,
2003), the authors use a workflow conceptual model
supporting the interaction between the hypertext and
an underlying workflow management system. In
(Koch et al., 2004), an approach is proposed based
on the integration of the Object-Oriented Hyperme-
dia method (OO-H) and the UML-based Web En-
gineering (UWE). In (Torres and Pelechano, 2006),
Business Process Management (BPM) (Weske, 2007)
and Object Oriented Web Solution (OOWS) (Fons
et al., 2003) are combined: model-to-model trans-
formations are used to generate a navigational model
from the BPM definition while model-to-text trans-
formations are used to produce an executable process
definition in BPEL. This approach has been extended
in (Brambilla et al., 2006).
The integration of MDE with process modeling
languages proposed in literature has always been
based on procedural notations. In our approach, we
decided to integrate the MDE methodology with De-
clare, a declarative process modeling language pro-
posed by Pesic and van der Aalst in (Pesic, 2008;
Pesic et al., 2007; van der Aalst et al., 2009). Declare
was adopted because it is equipped with a powerful
graphical notation together with a formal Linear Tem-
poral Logic (LTL) semantics. Based on its formal se-
mantics, tools for the execution and the verification of
Declare models have been developed
1
that are useful
in simulation and rapid prototyping to provide formal
verification of process properties. Moreover, our pre-
liminary studies shows several advantages, concern-
ing maintenance, quality and development effective-
ness, deriving by the adoption of MDE methodology
in combination with a declarative language.
3 THE APPROACH
In this paper, we propose an MDE approach for de-
veloping WAs based on four integrated metamodels
each one associated to a corresponding Domain Spe-
cific Language (DSL) describing a particular aspect
of the WA: (i) an information layer metamodel, used
to represent domain elements and their relationships;
(ii) a service layer metamodel used to model and ex-
press system operations and business logic; (iii) a pre-
sentation layer metamodel introducing the concepts
of Views, Sub-views, Canvas, Widgets and a model-
based component hierarchy to describe how the user
1
http://www.win.tue.nl/declare
interface is structured and how it behaves; and (iv) a
process layer based on the Declare metamodel, inte-
grated with the previous ones, that allows us to repre-
sent the business process underlying the WA as a set
of constraints.
In the definition of the WA information layer
metamodel, our aim is to use a common set of mod-
eling concepts that allow us to define sound and rich
information models. In order to define the necessary
constructs and modeling primitives, we decided to ad-
here to the well known object-oriented standard, i.e.,
to the semantics and notation provided by the UML
class diagrams. The information layer metamodel
resembles the standard Entity-Relationship model,
widely used and accepted for information modeling
tasks. An excerpt of this model is shown in Fig. 1-(a).
Here, the main concept is the Classifier that models a
generic domain object specialized as an Entity (rep-
resenting the super-class of unique and persistent ob-
jects in the WA domain model). A relationship speci-
fication is represented as an Association in the model.
It specifies minimum and maximum cardinality of re-
lationship roles, caching attributes, mappings to the
relational model and other properties useful to support
the generation of the source code and of the other arti-
facts needed for the WA development. The ValueOb-
ject metaclass can represent a TransferObject (needed
to handle values), a PrimitiveType (mapped to a lan-
guage type) or a UserDefinedType that refers to types
that need special treatment (e.g., binary objects, im-
ages, internationalized text). The metamodel also in-
troduces the Operation concept representing behav-
iors that refer to the elements of the information layer
metamodel.
Fig. 1-(b) shows the metamodel used to represent
the service layer of the WA. The main metaclass is
ServiceDefinition, defined as an externally accessible
entry point in the WA specifying a set of behaviors ad-
hering to a well known interface. This interface and
its properties, specified through the ServiceOperation
metaclass, allow the designer to customize the ser-
vice behavior in several ways. Each ServiceOperation
can specify a behavior directly or delegate it to one or
more operations of a DataAccessObject (DAO).
The presentation layer metamodel, shown in Fig.
1-(c), is devoted to the description of the presentation
layer. The UIRoot is the entry point of this layer. It is
centered on the Activity concept regarded as either a
user activity requiring human intervention or a batch
activity that can be performed automatically by the
process execution engine. The Activity metaclass is
the root of a hierarchy of several kinds of predefined
activities such as BatchActivity, CRUDActivity (as-
sociated by the code generator to the CRUD services
ModelDrivenDevelopmentofProcess-centricWebApplications
341