<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards a Pragmatic Model Driven Engineering Approach for the Development of CMS-based Web Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jurriaan Souer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thijs Kupers</string-name>
          <email>thijs.kupersg@gxwebmanager.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>GX</institution>
          ,
          <addr-line>Wijchenseweg 111, Nijmegen -</addr-line>
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <fpage>31</fpage>
      <lpage>45</lpage>
      <abstract>
        <p>Most enterprises utilize Web Content Management System (CMS) for the development and maintenance of their web applications. A CMS provides a high quality platform and creates web applications based on software configuration instead of software engineering from scratch. Although there are numerous advantages to implementing a CMS, there are two downsides not solved: for complex applications there is still a need for software developers and architects to configure the software based on business-user requirements, and there is no easy way to see how the application is implemented. This paper presents a pragmatic Model Driven Engineering method that allows the business-users to create CMSbased web applications themselves based on a business model without the need for software engineering and architects. With these business-users in mind, we minimized complexity by implementing only the modeling tools they need resulting in a useful web form diagram. The web form diagram allows business users to model generic business processes which are transformed into a CMS-specific configuration. The web form Diagram is implemented in a CASE environment a validated by means of a case study and an end user evaluation.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Most enterprises use Web Content Management software (CMS) to develop and
maintain their web applications. A CMS is a software product with out-of-the-box
functionalities for web applications and provide technical users with a standardized platform for
web development [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Most CMS-based web applications can be realized with merely
configuration of the CMS without writing actual code. Moreover a CMS allow non
technical users – or business users – to manage, control and update their web
applications without the need for technical support [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Still, configuration of a CMS for the
creation of more advanced and interactive web application can be complex and time
consuming. Business analysts know exactly what the interaction should look like, but
they only define the user requirements. This paper addresses the problem of how
business users would be able to generate interactive CMS-based web applications based on
their user requirements.
      </p>
      <p>
        Model Driven Engineering (MDE) is an evolving and promising approach to
software development which could help bridge the gap between requirements analysis and
implementation [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. MDE approaches deal with the provision of models,
transformations between them and code generators to address software development. One of the
main advantages of this approach is the definition of a conceptual structure where the
models used by business analysts can be traced towards more detailed models used by
software engineers. MDE proposals, and more specifically its OMG specification, the
MDA (Model Driven Approach) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], constitute an important tool for the alignment of
the business view and the information system view. MDA is a relatively new paradigm,
which aims at providing a standard baseline for model-driven development. The goal of
MDA is to (semi)automate the process of software development from requirements to
code using an interoperable set of standards. Although MDA provides useful insights
and constructs on how to develop software based on models, its generic application
makes it complex for business analysts. Others have tried Use Case based
tools/techniques [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] but the generic characteristics which makes this approach applicable
in most areas prevent business users from accepting it because of complexity. In this
paper we develop a pragmatic MDE approach with a single purpose: to allows
business users to configure a CMS to create an interactive web application based on a user
requirement model.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] we introduced the Web Engineering Method (WEM) as a web
engineering approach for the implementation of web content management systems in
particular to obtain high maintainability and give business owners the ability to manage
and control web applications. We call these type of web applications CMS-based web
Applications. WEM is integrated in a traditional implementation method consisting of
Orientation, Definition, Design, Realization and Implementation. This paper continues
this research and elaborates on the Design phase. In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we defined the Design phase
of WEM. This paper continues this research with an implementation of the Business
Process Model from the Design Phase of WEM.
      </p>
      <p>The rest of this paper is organized as follows: In Section 2 we describe the Approach
we used to analyze the problem area. Section 3 elaborates on all the aspects of the model
which we call the web form diagram. In section 4 we describe the implementation of
the web form diagram, a case description and some considerations. We validated the
resulting web form diagram with the end users which is described in section 5. Finally
conclusion are discussed in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Approach</title>
      <p>
        As described in the introduction, the goal of this research is to let business analysts
define requirements which will configure a CMS for the creation of a web
application. This requires a logical sound requirements model which can be transformed into
a configuration of a CMS. A similar construction can be found in the MDA literature
where they are referred to as a Platform Independent Model (PIM) and a Platform
Specific Model (PSM) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Since we want business analysts model a CMS we answer the
following questions:
– what elements of a CMS need to be modeled;
– how the business analysts would model the diagram in an ideal situation; and
– what existing method fragments could we use in our case to prevent ‘reinventing
the wheel’.
      </p>
      <p>
        The first question investigates what aspects of the CMS should be modeled. Since
the output should be a configured CMS, we use Domain Modeling to define which
aspect of the CMS need to be configured. If we know what aspects of the CMS need
to be configured, the second question is about how the business analysts would ideally
model these aspects. The resulting model will provide input for the configuration of
the CMS. We use a User Analysis to analyze how they would ideally create the model.
Finally, if we know what we want to model and how the business users want to model
this, we analyze existing methods to find if we could reuse certain method fragment
of these methods. In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we introduced the Method Association Approach in which we
compared existing methods. This paper extends the table with the CREWS framework
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. We detail these steps in the following sections.
2.1
      </p>
      <sec id="sec-2-1">
        <title>Domain Modeling</title>
        <p>We use a domain model to analyze the elements and their relationships. Domain
Modeling helps identify the key concepts which need to be modeled as well as
generalizations which relates the entities on a higher abstraction level and is a meta-model of
the objects of the modeling language. As mentioned in the introduction, we focus on
the definition of an interactive web form. This research is performed within GX – a
vendor of web content management Software called ‘GX WebManager’. A for this
research relevant functional component within the CMS is the ‘Advanced Form Module’:
a functional component which allows editors to develop business processes based on
advanced forms. The Advanced Form Module has been developed to create interactive
forms with all available formcontrols as defined by the World Wide Web Consortium
(W3C). An excerpt of the domain model is displayed in Figure 2: a form consists of
one or more steps (which are the screens displayed to a website visitor). A step has zero
or more formelements which are the input types of a form (e.g. text, list, radiobutton,
hidden, passwordfield, textarea, etc). A step can have zero or more subforms which is
a collection of formelements and allows the reuse of formelements (such as first name,
last name, gender, residence).</p>
        <p>Using a domain model, we identified all the elements that need to be modeled by
the business analysts.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>User analysis</title>
        <p>In the next step we investigated how end users would ideally model the web form.
We interviewed six typical end users who implement business processes during CMS
implementations: 3 senior functional consultants and 3 senior architects. The group of
interviewees includes both functional and technical users since they both would gain a
lot with a modeling tool. The six users were interviewed individually and were asked
how they would define a business process. Moreover, they were given an empty page
and a pencil and were asked to draw a visual model of a business process. We then
analyzed the drawings and abstracted it to a more generic model and refined it in a
second iteration of interviews. In the end, the model defined by the end users should be
transformed into the aspects as defined in the domain model.</p>
        <p>All six users defined a business process as a set of Steps – representing a screen
which a website visitor would see – and a Flow defining the order of the steps. They
visualized the process as a collection of square blocks with arrows in between
(representing the order of the steps). Users expected two levels of abstraction in the model:
1. A high level abstraction allowing them to model the complete process
2. A more detailed level specifying the formelements of the steps</p>
        <p>
          On the detailed level, each step has multiple input fields from a certain type (e.g.
text field, password field, radio button, etc), buttons and information (for example a
help-field). Two architects suggested adopting Business Process Modeling Language
(BPMN) as a solution for the modeling language especially since content management
systems are often integrated into other systems and BPMN is a well known standard for
defining processes [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and used within web engineering [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>
          The order of the steps was visualized with arrows. If the order was conditional, a
diamond was suggested with multiple outbound lines. The users did not have any clear
ideas how to cope with database connections and actions (known as ‘handlers’) except
for the idea of using an object to define that there should be a handler on that specific
place. The consultants suggested that they could use a temporary block in the form
which they would specify later. One illustration drawn by a consultant and one drawn
by an architect is displayed in Figure 4.
In this section we describe the analysis of existing web application modeling approaches
in order to find which aspects we could use. We continue with our previously filled
method base which we gathered using Situational Method-Engineering [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] ,
consisting of the following approaches: Object Oriented Hypermedia Design Model [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ],
WebML[
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], UML-based Web Engineering [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] and Object Oriented Web Solutions [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] we compared existing methods with a comparison matrix. In this research
additional requirements were gathered which resulted in an adjusted comparison matrix.
We compare existing models based on the Cooperative Requirements Engineering With
Scenarios Framework (CREWS) [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. We adapted the CREWS framework, analyzing
the methods based on different views.
        </p>
        <p>– Content view: analyzes which existing knowledge is being used within the model;
– Form view: identifies the structure and the graphical notation of the modeling
language; and
– Domain view: compares the entities within the domain with the modeling concepts
of the modeling language.</p>
        <p>Based on the three views, we conclude that the Activity Diagram (UWE) and the
Business Process Model (OOWS) are the closest to our target model since they provide
a way to define a form, have multiple abstraction levels and have a functional
perspective. However, they lack the possibility to define the different elements within the form.
The User Interaction Diagram (OOHDM) is more suitable in this particular area
because it actually does represent the form elements in a well-organized way. The UML
Class Diagram is also interesting since it can define different form elements but has a
rather generic application and will there for lack an end user acceptance. The Business
Process Diagram from WebML has other options to model these web forms, but has
a less compact notation to define the user interaction with the system. Taken all these
remarks into account, we selected the Business Process Model (BPM), the User
Interaction Diagram (UID) and the UML Class Diagram as the base models for our modeling
language.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Defining a Graphical Model for the Web form Diagram</title>
      <p>Now we now what needs to be modeled, how the end user would ideally model it and
what method fragments we intend to reuse, we define our graphical model for the web
form diagram. The web form diagram consists of a set of nodes with edges in between.
Each node can be either one of the following types: step, form element, validator,
handler, condition, webpage, and block. We detail these concepts in the following sections.</p>
      <p>The web form consists of a set of Steps and a Flow between those steps. A Step is
similar to an Activity (BPM), Interaction (UID) and Class (UML). A step is the
foundation of a form. Each step can be detailed with multiple Form Fields. A Form Fields is
similar to the Data Entry (UID) or Attribute (UML). It is a superclass of different
formfield types such as textinput, single selection (radiobutton), multiple selection
(checkbox), etc. As a result of the Domain Model, we know that each formfield is connected
to a single step. The concepts of a Step and Form Fields are visualized in Figure 5: On
the left side you see a single step which can be detailed with Form Fields as presented
on the right side.</p>
      <p>A Validator could be implemented in UML as an Operation which would check
certain input and will return a boolean. The user analysis learned that a validator is
ideally visualized as a gateway which will only allow the flow to continue if certain
conditions are met as can be seen in Figure 4. As the result of the Domain Model,
we identified two types of Validators: Field-Validators and Form-Validators. A
FieldValidator validates the user input of a single Form Field (e.g. check if the field Username
is not empty). A Form-Validator is used to check a complete Step (e.g. when signing
in both the ‘Username’ and ‘Password’ should be valid or the Username in Figure 5
is ‘Required’). In the graphical model we visualize the Validator as separate element
between two steps and is visualized in Figure 6.</p>
      <p>Handlers can also be seen as Operations in UML. The execution of a Handler takes
place between two steps – similar to Form-Validators. Handlers are therefore visualized
as separate nodes in the form flow as illustrated in Figure 7. Within the CMS, there is
a large set of Handlers available by default. The graphical notation consists of an icon
with below the name of the Handler where the icon represents the type of Handler. In
the example there are two Handlers: one reading from a database and one sending an
e-mail. With the icon illustrating the type of Handler it is easier for business analysts to
select the needed Handlers.</p>
      <p>A Condition is a decision point in a form flow and is similar to an Operation (UML)
or a Gateway (BPM). A condition will determine forking and merging of paths
depending on the conditions expressed and is visualized with a diamond containing the name
of the condition as illustrated in Figure 8. In the figure, a Condition checks whether a
user is logged on and will route the user to the next step depending on the outcome
of the Condition. In this particular example the user will be routed to a Page on the
website if the user is not logged on.</p>
      <p>Business analysts do not always know all the steps and contents of the complete
form in advance. One of the outcome of the user analysis was that business analysts
should be able to define a temporary Step which they could specify in a second iteration.
This however is not part of the Domain Model but was found as a necessity by the users.
We therefore introduce a Block and will be visualized as a temporary node containing
a description in natural language. An example is illustrated in 9. WebML has a similar
construct in the Business Process Diagram.</p>
      <p>To conclude, all the different elements are connected with directed Edges. An edge
is comparable to a Directed Association (UML) and a Sequence Flow (BPM). Each
Edge has a starting point (source) and an end point (target). Conditions have at least
two outgoing Edges since there is at least one different routing of the flow. Moreover,
Edges from a condition have a case which determines if the Edges is to be followed or
not (depending of the outcome of the condition). All other nodes have a maximum of
one outgoing Edge. A Step can be the last Step of the form and does not necessarily
have any outgoing Edges. Other nodes (Form-Validators, Handlers, and Blocks) are
never an end point (a website visitor will always see a Step or a WebPage) and they
always have one outgoing edge. Edges are illustrated with arrows and can be seen in all
previous examples.</p>
      <p>Now we have defined all constructs which are needed to create a complete web form
from the business analyst’s perspective. A complete form consisting of all elements is
displayed in Figure 11 which we will discuss in Section 4. To make the model logically
sound we defined a concrete syntax of our model.
3.1</p>
      <sec id="sec-3-1">
        <title>Transforming the Model to a CMS Configuration</title>
        <p>The next step in our research is to make a CMS-configuration based on the web form
diagram. Most of the defined concepts – such as Step, Validation, Handler, Page – are
available in the CMS which we know because of the Domain Model. With some
transformations, most concepts could therefore be applied directly to a CMS configuration.
However, there are some concepts that are not the same as the configuration parameters
of the CMS. For example, what end users defined as the ‘flow’ which became an Edge
in our model can in fact become either one of two separate concepts in the CMS: a
sequential number which determines the order in which the nodes are executed, or a
Router which defines the next Step or Page. A router is a concept in the CMS which
was not addressed explicitly end users. Also the definition of the router depends on
Condition concepts of the web form diagram. Conditions are not available in the CMS
as similar concepts but are parameters of the objects Handler or Router. Moreover the
‘Required’ attribute of a Form Field must be translated into a Validator in the CMS.
And Blocks are not available at all in the CMS and cannot be configured in the CMS.</p>
        <p>To make a CMS configuration out of the concepts of the web form diagram, we
need to transform the model. In de pseudocode below we convert the web form
diagram into CMS web form diagram. In the pseudocode, the web form diagram is
regarded as a directed graph. For each Edge the function ADDCHILD is invoked, which
iterates recursively over all nodes and adding these nodes to a Step. When it runs into
a Condition-node, the precondition is adjusted and added to the True-cases recursively.
When an target-node of an Edge refers to a Step or Page, the Edge is converted to a
Router. And the function ‘createName(node, condition)’ uses the type of target-node
and a condition to return the correct label for the router.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Algorithm 3.1: CONVERT()</title>
        <p>
          for each (s 2 Step)
do for each (e 2 fxjsourceE(x) = sg)
do addChild(s; e; o; null)
Algorithm 3.2: ADDCHILD(s; e; index; cond)
We have developed a tool to implement the web form diagram as a prototype. We used
MetaEdit+ [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] to build our prototype of the web form Diagram. This application is
both proven in building CASE tool as well as also provides computer aided support for
method engineering [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
        <p>
          The integration of MetaEdit+ and the CMS is facilitated by XML: the web form is
exported from MetaEdit+ as an XML file. However, this XML file is MetaEdit+ specific
and we transform this XML through XSLT towards our web form diagram compliant
XML. We call this XML the GXML. Since it is a prototype, we have written the
conversion in general-purpose languages Java and XSLT. The GXML need to be transformed
as described in the pseudocode to make it in line with the Domain Model. This
transformation is written in Java for speed of development purposes while upcoming
model-tomodel transformations seem promising [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. The resulting XML is called GXML’ and
has all the concepts which are available in a CMS. Through an XSLT transformation the
GXML’ is then transformed into GX WebManager specific XML which can be imported
into that specific CMS. Figure 10 gives an overview of the performed transformations.
The transformation process works both ways: CMS form definitions can be exported to
XML and can be transformed and imported into back into MetaEdit+ which provides
business analysts with a useful tool to analyze implementations and make adjustments
from a process perspective.
        </p>
        <p>The XSLT transformations are not necessary but it allows us to change modeling
tool or the implementation of the CMS without having to change the GXML
interface defining concepts of the web form diagram and the CMS concepts. The
GXMLdefinition is described in an XML-Schema which contains the restrictions as the
result of the web form diagram definition. All elements in the GXML (such as Steps,
Form Fields, Validationrules, Handlers, Parameters, Pages, Conditions and Edges) have
a unique identifier. This identifier is used for reference purposes: a Step for instance has
multiple Form Fields which are referenced through this identifier. An excerpt of GXML
is displayed in the excerpt below.</p>
        <p>Listing 1.1. GXML Excerpt
&lt;form i d = ” 3 3 7 0 6 ”&gt;
&lt;name&gt;S i g n i n&lt;/ name&gt;
&lt; s t e p s&gt;
&lt;s t e p i d = ” 3 3 7 4 0 ”&gt;
&lt;name&gt;S t a p 1&lt;/ name&gt;
&lt; f i e l d r e f = ” 3 3 7 2 8 ” /&gt;
&lt;h a n d l e r r e f = ” 3 3 7 7 3 ” /&gt;
&lt; r o u t e r r e f = ”¡2a327p0 ” /&gt;
&lt; / s t e p&gt;
&lt; f i e l d s&gt;
&lt; f i e l d i d = ” 3 3 7 1 6 ”&gt;
&lt;name&gt;Username&lt;/ name&gt;
&lt;t y p e&gt;T e x t F i e l d&lt;/ t y p e&gt;
&lt; / f i e l d&gt;
&lt; f i e l d i d = ” 3 3 7 2 8 ”&gt;
&lt;name&gt;P a s s w o r d&lt;/ name&gt;
&lt;t y p e&gt;T e x t F i e l d&lt;/ t y p e&gt;</p>
        <p>&lt; / f i e l d&gt;
&lt; / f i e l d s&gt;
&lt; v a l i d a t o r s&gt;
4.1</p>
      </sec>
      <sec id="sec-3-3">
        <title>The Web Form Diagram Modeling Tool in Practice</title>
        <p>We tested the application in practice at GX where we took a customer case implemented
a web form from an existing website using the modeling tool. The resulting form of
this case is displayed in Figure 11. The model shows a user registration scenario: it
illustrates how a new user can enter his account information, some personal information
and after validation by e-mail and text messaging he is allowed to enter the registered
area. However, there are some conditions which the system and user should meet and
during the process some system processes and databases access are initialized. The
complete implementation has been tested both ways which means we designing a web
form diagram in MetaEdit+, imported the XML into the CMS; and the same process
in the opposite order to visualize a defined web form in MetaEdit+. The import went
without any problems and the form had the correct configuration of handlers and routers
which could also be tested by registering a new user using the newly configured form.
Based on the functional validation, some limitations concerning this implementation
where identified preventing it from putting it directly into practice. We detail some
considerations.</p>
        <p>Within the CMS, there is an extensive library of existing handlers and routers. The
case we implemented however had a few specific handlers which were not available by
default. This resulted in a change in the web form diagram: a new placeholder handler
during the modeling phase which needs to be configured or developed within the CMS
afterwards. A second limitation we found when we visualized a web form based on a
predefined form definition: some routers were conditional based on volatile information
(e.g. user specific session information). This conditional information is not available in
the router definition and can it was not taken into consideration when we developed the
web form Diagram.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>End user evaluation</title>
      <p>The goal of this research is to allow end users create CMS-based web applications based
on a requirements model. We have proven that we are able – with some limitations – to
create CMS-based web applications based on the model. However, the end user
evaluation will decide how useful the modeling tool is. To find out how useful the modeling
tool is for CMS implementations, we interviewed eight experienced end users: four
business analysts and four architects. Each user was confronted with the model as
illustrated in 11 and were asked to rate (1 to 4) both the model and the modeling tool based
on usability, transparency, suitability and applicability in projects. The users were then
asked to substantiate their ratings during an interview.</p>
      <p>The results show that the end users found the web form diagram easy to read and
unambiguous. They would certainly want to use the model in projects since it would
improve communication internally and externally. It would also improve the validity of
requirements since customers would probably understand these diagrams. There was
some discussion concerning the details of the web form model: what icons should be
displayed to what extent. The general opinion was that it depends much on how it is
visualized in the modeling tool. They agree however that this visualization should keep
a balance of usable icons but not an overload of details.</p>
      <p>They also stated that they wanted to use the modeling tool if they had the proper
tools supporting it. However, a strong remark was made concerning the fact that the
current application as developed in MetaEdit+. Since MetaEdit+ is not web based in
contrast with the CMS, and would therefore not be regarded as useful.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper we have discussed a pragmatic Model Driven Engineering approach for the
creation of CMS-based web applications. Based on end user analysis, a Domain Model
and existing method fragments, we detailed the web form model. We have shown that
the web form diagram works in practice with a prototype of the model in MetaEdit+
and were indeed able to automatically configure the CMS, although there were some
limitations. An end user evaluation learned that the model itself is regarded as quite
useful and has a lot of potential. However, the modeling tool not being web enabled
will stop the end users from putting it into practice. Another aspect to note is that we
validated the web form diagram in one single CMS. Since the web form diagram is
defined conform W3C standards, we do believe that the modeling tool could be used
to configure other CMS systems but it would probably require a different
transformation. Our transformation mechanism however takes this possibility into account. Future
research includes further development of the WEM Framework and refinement of the
modeling tool to support the automated configuration of CMS.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Preciado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Linaje</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Sanchez-Figueroa</surname>
          </string-name>
          .
          <article-title>Business process-based conceptual design of rich internet applications</article-title>
          .
          <source>In ICWE '08: Proceedings of the 2008 Eighth International Conference on Web Engineering</source>
          , pages
          <fpage>155</fpage>
          -
          <lpage>161</lpage>
          , Washington, DC, USA,
          <year>2008</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S.</given-names>
            <surname>Ceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fraternali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bongio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Matera</surname>
          </string-name>
          .
          <article-title>Designing Data Intensive Web Applications</article-title>
          . Morgan Kaufmann,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>O. M.</given-names>
            <surname>Group</surname>
          </string-name>
          .
          <article-title>Unified modeling language: Infrastructure, version 2.2</article-title>
          . http://www.omg.org/docs/formal/09-02-02.pdf,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>S.</given-names>
            <surname>Kelly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lyytinen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Rossi</surname>
          </string-name>
          . Metaedit+
          <article-title>: A fully configurable multi-user and multitool case and came environment</article-title>
          .
          <source>In CAiSE '96: Proceedings of the 8th International Conference on Advances Information System Engineering</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>21</lpage>
          , London, UK,
          <year>1996</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>N.</given-names>
            <surname>Koch</surname>
          </string-name>
          .
          <article-title>A comparative study of methods for hypermedia development</article-title>
          .
          <source>Technical Report 9905, Institut fr Informatik der LMU</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>N.</given-names>
            <surname>Koch</surname>
          </string-name>
          , S. Melia´,
          <string-name>
            <given-names>N.</given-names>
            <surname>Moreno</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Pelechano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Sanchez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Vara</surname>
          </string-name>
          .
          <article-title>Model-driven web engineering</article-title>
          .
          <source>Upgrade-Novtica Journal (English and Spanish)</source>
          ,
          <source>Council of European Professional Informatics Societies (CEPIS)</source>
          ,
          <source>IX(2)</source>
          :
          <fpage>40</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>L.</given-names>
            <surname>Luinenburg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Souer</surname>
          </string-name>
          , I. van de Weerd, and
          <string-name>
            <given-names>S.</given-names>
            <surname>Brinkkemper</surname>
          </string-name>
          .
          <article-title>Designing web content management systems using the method association approach</article-title>
          .
          <source>In Proceedings of the 4th International Workshop on Model-Driven Web Engineering (MDWE</source>
          <year>2008</year>
          ), pages
          <fpage>106</fpage>
          -
          <lpage>120</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>O.</given-names>
            <surname>Pastor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Fons</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Pelechano</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Abrahao</surname>
          </string-name>
          .
          <article-title>Conceptual modelling of web applications: The oows approach</article-title>
          . E. Mendes and N. Mosley (eds.) Web Engineering:
          <article-title>Theory and Practice of Metrics and Measurement for Web Development</article-title>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. J. Ralyte´,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brinkkemper</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Henderson-Sellers</surname>
          </string-name>
          .
          <article-title>Situational method engineering: Fundamentals and experiences</article-title>
          .
          <source>Proceedings of the IFIP WG 8</source>
          .1 Working Conference,
          <volume>38</volume>
          (
          <issue>4</issue>
          ):XII +
          <fpage>368</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>C. Rolland</surname>
            ,
            <given-names>C. B.</given-names>
          </string-name>
          <string-name>
            <surname>Achour</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Cauvet</surname>
            , J. Ralyte´,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Sutcliffe</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Maiden</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Jarke</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Haumer</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Pohl</surname>
            , E. Dubois, and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Heymans</surname>
          </string-name>
          .
          <article-title>A proposal for a scenario classification framework</article-title>
          .
          <source>Requir. Eng.</source>
          ,
          <volume>3</volume>
          (
          <issue>1</issue>
          ):
          <fpage>23</fpage>
          -
          <lpage>47</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>D. C.</surname>
          </string-name>
          <article-title>Schmidt</article-title>
          .
          <article-title>Guest editor's introduction: Model-driven engineering</article-title>
          .
          <source>Computer</source>
          ,
          <volume>39</volume>
          (
          <issue>2</issue>
          ):
          <fpage>25</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>D.</given-names>
            <surname>Schwabe</surname>
          </string-name>
          and
          <string-name>
            <surname>G. Rossi.</surname>
          </string-name>
          <article-title>The object-oriented hypermedia design model</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>38</volume>
          (
          <issue>8</issue>
          ):
          <fpage>45</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>H.</given-names>
            <surname>Smith.</surname>
          </string-name>
          <article-title>Business process management-the third wave: business process modelling language (bpml) and its pi-calculus foundations</article-title>
          .
          <source>Information &amp; Software Technology</source>
          ,
          <volume>45</volume>
          (
          <issue>15</issue>
          ):
          <fpage>1065</fpage>
          -
          <lpage>1069</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Som</surname>
          </string-name>
          .
          <article-title>Supporting use case based requirements engineering</article-title>
          .
          <source>Information &amp; Software Technology</source>
          ,
          <volume>48</volume>
          :
          <year>2006</year>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>J. Souer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Honders</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Versendaal</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Brinkkemper</surname>
          </string-name>
          .
          <article-title>A framework for web content management system operation and maintenance</article-title>
          .
          <source>Journal of Digital Information Management (JDIM)</source>
          , pages
          <fpage>324</fpage>
          -
          <lpage>331</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>J. Souer</surname>
            , I. van de Weerd,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Versendaal</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Brinkkemper</surname>
          </string-name>
          .
          <article-title>Situational requirements engineering for the development of content management system-based web applications</article-title>
          .
          <source>Int. J. Web Eng. Technol. (IJWET)</source>
          ,
          <volume>3</volume>
          (
          <issue>4</issue>
          ):
          <fpage>420</fpage>
          -
          <lpage>440</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Sutcliffe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. A.</given-names>
            <surname>Maiden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Minocha</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Manuel</surname>
          </string-name>
          .
          <article-title>Supporting scenario-based requirements engineering</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>24</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1072</fpage>
          -
          <lpage>1088</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>J.-P. Tolvanen</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          . Metaedit+
          <article-title>: defining and using domain-specific modeling languages and code generators</article-title>
          .
          <source>In OOPSLA '03:</source>
          <article-title>Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications</article-title>
          , pages
          <fpage>92</fpage>
          -
          <lpage>93</lpage>
          , New York, NY, USA,
          <year>2003</year>
          . ACM.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>