<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0717-5000</journal-id>
<journal-title><![CDATA[CLEI Electronic Journal]]></journal-title>
<abbrev-journal-title><![CDATA[CLEIej]]></abbrev-journal-title>
<issn>0717-5000</issn>
<publisher>
<publisher-name><![CDATA[Centro Latinoamericano de Estudios en Informática]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0717-50002011000100002</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[A MDA Approach for Navigational and User Perspectives]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[Magalí]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Casariego]]></surname>
<given-names><![CDATA[Jorge]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Bareiro]]></surname>
<given-names><![CDATA[Juan José]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Cernuzzi]]></surname>
<given-names><![CDATA[Luca]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pastor]]></surname>
<given-names><![CDATA[Oscar]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Catholic University Ntra. Sra. de la Asunción- Paraguay  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Paraguay</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Politecnic University of Valencia  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Spain</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>04</month>
<year>2011</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>04</month>
<year>2011</year>
</pub-date>
<volume>14</volume>
<numero>1</numero>
<fpage>1</fpage>
<lpage>1</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_arttext&amp;pid=S0717-50002011000100002&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_abstract&amp;pid=S0717-50002011000100002&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_pdf&amp;pid=S0717-50002011000100002&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[The study presented in this paper focuses on a navigational and user perspectives analysis of Web applications, highlighting some of their critical points for modeling. To consider these critical points, we propose a notational definition focused on a general metamodel, consisting of three specific metamodels: the Navigational Tree, the Node, and Roles. The metamodels have been implemented with a specific MDA (Model Driven Architecture) tool called AndroMDA, to generate applications for PHP language. Both, the general metamodel and its implementation have been analyzed by means of a proof of concept. Finally, some interesting results as well as the contribution of the proposed metamodel in comparison with other methodological proposals are discussed.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[El presente estudio se enfoca en un análisis de las perspectivas navegacional y de usuarios en Aplicaciones Web, resaltando algunos puntos críticos para el modelado. A partir de esto, se realiza una propuesta notacional y su definición centrada en un Metamodelo general que consta de tres Metamodelos específicos: el Árbol de Navegación, el de Nodos, y el de Roles. Los Metamodelos han sido implementados utilizando una herramienta específica de MDA (AndroMDA) mediante el desarrollo de un cartucho que considera como plataforma destino aplicaciones en PHP. Tanto el Metamodelo general, como el cartucho para AndroMDA han sido analizados por medio de una Prueba de Concepto, culminando con una serie de resultados interesantes en cuanto a la aplicación del enfoque MDA, así como también las contribuciones del metamodelo propuesto en relación a otras propuestas metodológicas existentes.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Model Driven Architecture]]></kwd>
<kwd lng="en"><![CDATA[Navigational and User Perspectives in Web Applications]]></kwd>
<kwd lng="en"><![CDATA[Metamodel for Navigation and User]]></kwd>
<kwd lng="es"><![CDATA[Model Driven Architecture]]></kwd>
<kwd lng="es"><![CDATA[Perspectivas Navegacional y de Usuarios en Aplicaciones Web]]></kwd>
<kwd lng="es"><![CDATA[Metamodelo para la Navegación]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <div id="TextSection" dir="ltr">     <p style="margin-left: -1.25cm; margin-bottom: 0cm;" align="center" lang="en-US">  <font face="Verdana" size="2">     <br>    </font>    </p>        <p style="margin-left: 0.25cm; margin-bottom: 0cm;" align="center" lang="en-US">  <font size="4" face="Verdana"><b>A MDA Approach for Navigational and User Perspectives </b></font> </p>        <p style="margin-left: -1.25cm; margin-bottom: 0cm;" align="center" lang="en-US">  <font face="Verdana" size="2">     <br>    </font>    </p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="2" face="Verdana"><b>Magal&iacute; Gonz&aacute;lez</b></font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="3" face="Verdana" style="font-size: 10pt">Catholic University "Ntra. Sra. de la Asunci&oacute;n&ldquo; - Paraguay</font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="3" face="Verdana" style="font-size: 10pt">DSIC - Politecnic University of Valencia &ndash; Spain</font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"><a href="mailto:mgonzalez@uca.edu.py"> <font size="3" face="Verdana" style="font-size: 10pt">mgonzalez@uca.edu.py</font></a></p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" align="center" lang="de-DE"> <font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US">  <font size="2" face="Verdana"><b>Jorge Casariego</b></font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="3" face="Verdana" style="font-size: 10pt">Catholic University &rdquo;Ntra. Sra. de la Asunci&oacute;n&rdquo; - Paraguay</font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"><a href="mailto:jorgekasa@gmail.com"> <font size="3" face="Verdana" style="font-size: 10pt">jorgekasa@gmail.com</font></a></p>        <p style="margin-bottom: 0cm;" align="center" lang="de-DE"> <font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="2" face="Verdana"><b>Juan Jos&eacute; Bareiro</b></font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="3" face="Verdana" style="font-size: 10pt">Catholic University &rdquo;Ntra. Sra. de la Asunci&oacute;n&rdquo; - Paraguay</font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"><a href="mailto:juan_bareiro@uca.edu.py"> <font size="3" style="font-size: 10pt" face="Verdana">juan_bareiro@uca.edu.py</font></a></p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" align="center" lang="de-DE"> <font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="2" face="Verdana"><b>Luca Cernuzzi</b></font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="3" face="Verdana" style="font-size: 10pt">Catholic University &rdquo;Ntra. Sra. de la Asunci&oacute;n&rdquo; - Paraguay</font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"><a href="mailto:juan_bareiro@uca.edu.py"> <font size="3" face="Verdana" style="font-size: 10pt">lcernuzz@uca.edu.py</font></a></p>        <p style="margin-bottom: 0cm;" align="center" lang="es-ES"> <font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="2" face="Verdana"><b>Oscar Pastor</b></font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font size="3" face="Verdana" style="font-size: 10pt">DSIC &ndash; Politecnic University of Valencia - Spain</font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"><a href="mailto:opastor@dsic.upv.es"> <font size="3" face="Verdana" style="font-size: 10pt">opastor@dsic.upv.es</font></a></p>        ]]></body>
<body><![CDATA[<p style="margin-left: 1cm; margin-right: 1cm; text-indent: 0cm; margin-top: 1.06cm; widows: 0; orphans: 0;" align="left">  <font style="font-size: 10pt;" size="2" face="Verdana"><b>Abstract.</b> The study presented in this paper focuses on a navigational and user perspectives analysis of Web applications, highlighting some of their critical points for modeling. To consider these critical points, we propose a notational definition focused on a general metamodel, consisting of three specific metamodels: the Navigational Tree, the Node, and Roles. The metamodels have been implemented with a specific MDA (Model Driven Architecture) tool called AndroMDA, to generate applications for PHP language. Both, the general metamodel and its implementation have been analyzed by means of a proof of concept. Finally, some interesting results as well as the contribution of the proposed metamodel in comparison with other methodological proposals are discussed. </font> </p>        <p style="margin-left: 1cm; margin-right: 1cm; text-indent: 0cm; margin-top: 0.21cm; widows: 0; orphans: 0;" align="left">  <font style="font-size: 10pt;" size="2" face="Verdana"><b>Keywords: </b>Model Driven Architecture, Navigational and User Perspectives in Web Applications, Metamodel for Navigation and User.</font></p>        <p style="margin-left: 1cm; margin-right: 1cm; text-indent: 0cm; margin-top: 1.06cm; widows: 0; orphans: 0;" align="left">  <font style="font-size: 10pt;" size="2" face="Verdana"><b>Resumen.</b> El presente estudio se enfoca en un an&aacute;lisis de las perspectivas navegacional y de usuarios en Aplicaciones Web, resaltando algunos puntos cr&iacute;ticos para el modelado. A partir de esto, se realiza una propuesta notacional y su definici&oacute;n centrada en un Metamodelo general que consta de tres Metamodelos espec&iacute;ficos: el &Aacute;rbol de Navegaci&oacute;n, el de Nodos, y el de Roles. Los Metamodelos han sido implementados utilizando una herramienta espec&iacute;fica de MDA (AndroMDA) mediante el desarrollo de un cartucho que considera como plataforma destino aplicaciones en PHP. Tanto el Metamodelo general, como el cartucho para AndroMDA han sido analizados por medio de una Prueba de Concepto, culminando con una serie de resultados interesantes en cuanto a la aplicaci&oacute;n del enfoque MDA, as&iacute; como tambi&eacute;n las contribuciones del metamodelo propuesto en relaci&oacute;n a otras propuestas metodol&oacute;gicas existentes.&nbsp; </font> </p>        <p style="margin-left: 1cm; margin-right: 1cm; text-indent: 0cm; margin-top: 0.21cm; widows: 0; orphans: 0;" align="left">  <font style="font-size: 10pt;" size="2" face="Verdana"><b>Palabras clave: </b>Model Driven Architecture, Perspectivas Navegacional y de Usuarios en Aplicaciones Web, Metamodelo para la Navegaci&oacute;n.</font></p>        <p style="margin-left: 1cm; margin-right: 1cm; text-indent: 0cm; margin-top: 0.21cm; widows: 0; orphans: 0;" align="left"> <font style="font-size: 10pt;" size="2" face="Verdana">Received 2011-Jan-24, Revised 2011-Mar-31 Accepted 2011-Mar-31.</font></p>    <font face="Verdana" size="2">        <br>    </font>        <p style="text-indent: 0cm; margin-top: 0.92cm; margin-bottom: 0.49cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font size="2" face="Verdana"><b>1 Introduction and Motivation</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">Software development techniques are continuously evolving with the goal of solving the main problems that still affect the construction and maintenance of software systems: mainly time and cost. </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">During the last years the Web Engineering community has proposed various languages, architectures, methods and processes for Web Applications development. In particular, a variety of methods for modeling such systems have been defined. Amongst others, we can mention Hera <a href="#c13">[13]</a><a name="c13."></a>, OOHDM <a href="#c17">[17]</a>,<a name="c17."></a> OO-H <a href="#c3">[3]</a><a name="c3."></a>, OOWS <a href="#c8">[8]</a><a name="c8."></a>, UWE <a href="#c14">[14]</a>, WebML <a href="#c5">[5]</a><a name="c5."></a>, and W2000 <a href="#c2">[2]</a><a name="c2."></a>. These methods mainly focus on the analysis and design specification for Web systems, considering the most relevant aspects of this kind of systems. Two relevant aspects are those that refer to &ldquo;Navigational&rdquo; and &ldquo;User&rdquo; perspectives.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Navigation has been highlighted to be a characteristic at the same time fundamental and critic within Web Engineering <a href="#c10">[10]</a><a href="#c17">[17]</a><a name="c10."></a>. Nevertheless, navigational models in some situations do not provide of an appropriate syntax to model certain common behavior of current Web Systems, such as dynamic navigation obtained by the users&rsquo; behavior.</font></p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Speaking in terms of user modeling, current needs focus on the identification of goals, preferences and knowledge of each user separately, jointly with navigation and presentation modeling. Starting from these aspects, user modeling is later used to personalize both the content (presentation) as well as the environment in which it unfolds (navigation). It should be noted that at the user modeling level some current proposals provide support for the personalization based on roles and adaptation, such as OOHDM <a href="#c17">[17]</a>, WSDM <a href="#c6">[6]</a><a name="c6."></a>, W3I3 <a href="#c5">[5]</a> or UWE <a href="#c14">[14]</a><a name="c14."></a>.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">This work intends to define a navigational and user model that intends to facilitate the development of personalisable Web applications with simple and complete navigational structures. Actual proposals define navigational structures, but we consider they are not always as complete as they should be (as explained in section 2.2). To validate the proposal, transformation rules were defined applying the MDA (Model Driven Architecture) approach <a href="#c16">[16]</a><a name="c16."></a>, and a relevant proof of concept was carried out to show the way in which the proposal faces common problems to various Web application domains.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The rest of the paper is organized as follows: Section 2 introduces the Navigational and Users perspectives in Web applications, and analyzes the way in which such perspectives are covered in current proposals, concluding with the identification of critical aspects; Section 3 presents the notational proposal for modeling, the definition of the proposal using MOF (Meta Object Facility), and the definition of transformation rules with a MDA tool; Section 4 analyzes the results of the proposal&rsquo;s application to the proof of concept; and Section 5 concludes and points out some possible future works.</font></p>        <p style="text-indent: 0cm; margin-top: 0.92cm; margin-bottom: 0.49cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font size="2" face="Verdana"><b>2 The Navigational and Users Perspectives in Web Applications</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">This section discusses definitions about the navigational and users perspectives. Subsequently, such perspectives are analyzed according to different methodological proposals, to identify the critical aspects that must be considered to create a formal definition of them. </font> </p>        <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font face="Verdana" size="2"> <b>2.1 The Concept of Navigation and its Relationship with the User Perspective</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">While the navigation began to be considered as a fundamental aspect in the methodological proposals for the hypermedia applications <a href="#c9">[9]</a><a name="c9."></a>, it acquired a fundamental role in the methodological proposals for the design and development of Web Applications <a href="#c13">[13]</a>, <a href="#c17">[17]</a>, <a href="#c3">[3]</a>, <a href="#c8">[8],</a> <a href="#c14">[14]</a>, <a href="#c5">[5]</a>, <a href="#c2">[2]</a> and, consequently, each methodology defines a specific diagram for modeling it. Despite that many authors propose different definitions <a href="#c7">[7]</a><a name="c7."></a>, <a href="#c4">[4]</a><a name="c4."></a>, <a href="#c17">[17]</a>, a standard definition of what &rdquo;navigation&rdquo; means does not exist. Hereinafter, some of the most used definitions:</font></p>    <ul>          <li>                   <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">Navigation is considered the navigation space model that specifies which objects can be visited through the Web application <a href="#c14">[14]</a>.</font></p>      </li>          <li>                   ]]></body>
<body><![CDATA[<p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">Navigation is the cognitive process of acquiring knowledge about a space, strategies to move through space, and change the meta-space <a href="#c18">[18]</a><a name="c18."></a>.</font></p>      </li>          <li>                   <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">Navigation expresses how pages and content units are linked to form hyperspaces <a href="#c5">[5]</a>.</font></p>      </li>          <li>                   <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">Navigation is the way a node is reached via a link. Navigation is the most important feature of hypermedia <a href="#c19">[19]</a>.<a name="c19."></a></font></p>      </li>        </ul>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">It can be noted in the different definitions that the navigation introduces the concept of &ldquo;space&rdquo; to be explored in some way through a set of nodes that conforms it. However, the granularity or definition of what represents each &ldquo;navigable&rdquo; node and the way of &ldquo;exploring&rdquo; them varies in each definition. Besides, to be able to explore the &ldquo;space&rdquo;, the existence of a &ldquo;user&rdquo; or &ldquo;external agent&rdquo; that activates the exploration is necessary.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">In the context of this work, a &ldquo;Navigable Node&rdquo; is defined as a functional unit of the system, and the Navigation is defined as &ldquo;the change from a navigational node to another as a result of an invocation from the user or an external agent&rdquo;. Therefore, navigation occurs when an external agent (be it a user, an external system, or any other resource) interacts through the invocation of a &ldquo;navigational node&rdquo;.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">It is possible to note that the user fulfills a key role, since it is responsible for invoking navigation over the system. In this regard, user modeling corresponds to the process of &ldquo;constructing, maintaining and using user models to store specific information about a user, and so be able to customize both the content as the environment in which it unfolds&rdquo; <a href="#c15">[15]</a><a name="c15."></a>. Finally, user modeling must contemplate aspects that identify its interests, relationships with other users, knowledge, etc.</font></p>        <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font face="Verdana" size="2"> <b>2.2 Modeling Navigational and User Perspectives: Relevant Aspects</b></font></p>        ]]></body>
<body><![CDATA[<p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">In order to find a solution for the issues identified, an analysis of Web methods has been performed. A large numbers of methods exist; among others we can mention: OOHDM <a href="#c17">[17]</a>, WSDM <a href="#c6">[6]</a>, W3I3 <a href="#c5">[5]</a>, UWE <a href="#c14">[14]</a>. </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">It should be noted that all methods consider navigational and user perspectives in some way. Both aspects are usually covered by means of specific models, usually considering navigation user needs as well as presentation of the system. </font> </p>        <p style="text-indent: 0.5cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">From the analysis of different methods and our experience in the development of real cases, it was possible to identify a number of elements considered of paramount importance when modeling aspects of navigation and users of a system. First, we identified the need of an order in the navigation map where a well organized and structured hierarchy to facilitate user orientation exists. In this sense, the current proposals usually define notations of the navigational structure that can become very fuzzy for complex systems. A second aspect is that on several circumstances different types of navigation exist: inter-contextual navigation, widely known through conventional navigation; and intra-contextual navigation, where user navigates within the same context. An example of inter-contextual navigation is the access to new functionality (e.g. how to proceed with purchase of a product in a on-line shop). An example of intra-contextual navigation could be the culmination of the purchasing process in which a series of intermediate steps exist that require some navigation within the same context to complete the purchase. This distinction, in most cases is not given by current methods, generating complex and difficult to understand navigational models. A third critical aspect is that navigation is in response to certain behavior by a foreign agent, and can produce action invocation, execution of services, or change of context, and we believe that using behavioral rather than static models could simplify the modeling task. </font> </p>        <p style="text-indent: 0.5cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">Regarding the modeling of users, we consider a necessity to represent differentiated users. In this sense, as a Web system usually represents a multi-user environment where multiple users have different permissions and access privileges, it is essential to differentiate roles that diverge in capabilities. In addition, it is important to represent users with more than one role and identify individual users and not as a group, with the purpose of improving both the navigation and the presentation according to the needs of the project.<font color="#00b050"> </font> </font> </p>        <p style="text-indent: 0cm; margin-top: 0.92cm; margin-bottom: 0.49cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font size="2" face="Verdana"><b>3 A MDA Proposal for Navigation and User Management</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">This section introduces the MDA approach for the definition of a proposal for Navigation and User management in Web Applications. First, we present the proposed notation for modeling the PIM (Platform Independent Model) using UML as a notational language. Second, we present the proposed formal definition with MOF (Meta Object Facility). The section ends with the definition of transformation rules for the generation of PSMs (Platform Specific Model) and an ISM (Implementation Specific Model) using an open source MDA tool (AndroMDA) <a href="#c1">[1]</a><a name="c1."></a>.</font></p>        <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US"> <font face="Verdana" size="2">To clarify the proposal, an example that presents the critical elements identified in section 2.2 is considered. The example is a Web-based Academic System for the Catholic University of Asunci&oacute;n. The system is aimed at teachers, students, staff and public in general and covers a range of basic functions such as: processing student registrations, course monitoring, and management of the different schools, departments and careers. Teachers have sufficient privileges to manage their courses providing also students with information regarding their current status. Students have the required privileges to track the courses they attend and can also access their current academic status. Finally, the system provides the facility to perform administrative tasks such as management of the faculties, courses, departments, and subjects.    <br>    </font>    </p>        <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US"> <font face="Verdana" size="2"><b>3.1 The Navigational Model</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">To model the navigation concept considering the definition given in Section 2.1, we define two diagrams: <i>Navigational Tree Diagram</i> and <i>Navigational Node Diagram</i>. </font> </p>        ]]></body>
<body><![CDATA[<p style="text-indent: 0.5cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">The Navigational Tree represents the application&rsquo;s navigational space and is composed of zero or more navigational elements that define a hierarchical structure. These elements may be <i>nodes</i> or <i>links</i>. A navigational node corresponds to a basic functional unit of the system, and connects to other nodes by means of elements called <i>hard links</i> (hLinks). Hard links, connect two nodes, and denote a hierarchy in the navigational tree, indicating that the origin context node contains the context of the destination node. </font> </p>        <p style="text-indent: 0.5cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">The Navigational Tree is defined with notational elements of the Use Cases UML Diagram. In this sense, a Use Case with stereotype &lt;&lt;node&gt;&gt; represent nodes, and associations between use cases stereotyped with &lt;&lt;hLink&gt;&gt; represent hard links. An example of a navigational tree is shown in <a href="/img/revistas/cleiej/v14n1/1a02f1.gif" target="_blank">figure 1</a>. This diagram presents the navigational structure of the Web Academic System. The tree root corresponds to the home page of the system, and from it the system functionalities are hierarchically organized: Faculty Management, Login, etc.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">It should be noted that while the vast majority of Web Methods propose navigational maps (generic graphs), this proposal seeks to define the navigational structure as a hierarchy of functional units connected by hard links. With this contribution it is possible to generate various levels of exploration through menus and submenus, and keep the user located through "breadcrumbs" and "history of navigation". </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" align="center" lang="en-US">  <font face="Verdana" size="2"> <a href="/img/revistas/cleiej/v14n1/1a02f1.gif" target="_blank"> <b>Figure 1.</b> Example of Navigational Tree for Academic System</a></font></p>        <p style="text-indent: 0.5cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">It is worth noting that hard links are not sufficient to model the navigational structure of an application, because there are situations in which navigation through a different context will be necessary (e.g, once authenticated, the user must specify the destination node). To meet this need, we define other type of links (<i>soft link</i>). The soft links (sLink) will be specified in the node diagram.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Each tree node must have an associated <i>Navigational Node Diagram</i> representing the internal navigation of it. The node diagram is defined using the UML State Diagram. In this sense, the node diagram consists of two types of elements, <i>states</i> and <i>transitions</i>. There are three categories of states: <i>Flow states</i>, <i>Virtual states</i> and <i>Final states</i>. Flow states are transient and so are crossed momentarily to create linkages with other elements of the model. Among these we have four types: 1) the <i>initial</i> states, 2) <i>pseudo </i>states, such as choice, 3) <i>junctions</i>, 4) and finally the s<i>ervice</i> states that models the services provided by the node. <i>Virtual</i> states, represent stationary states indicating the fact that the model remains in a "virtual point" within a node and should be linked to a presentation page. </font> </p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>    <a name="f2">     <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font face="Verdana" size="2"> <img alt="" src="/img/revistas/cleiej/v14n1/1a02f2.gif" style="border: 0px solid ; width: 624px; height: 328px;"></font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font face="Verdana" size="2"> <b>Figure 2.</b> Example of Node Diagram for &ldquo;Subjects Management&rdquo; tree node</font></p>  </a>      <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The node diagram allows modeling aspects related to navigation behavior obtained from dynamic interactions with the user. <a href="#f2">Figure 2 </a>shows a diagram example for the navigational node "Subjects Management". This figure first shows the virtual state "Subject Management" which will display all existing subjects for a particular career. The user has the possibility to add a new subject, delete or edit an existing one. </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Another element of the diagram node is called <i>Transition</i>. Transitions specialize in two subtypes: the <i>control flow</i> transitions and <i>hyperlinks</i>. The first transition models the natural control transfer that occurs between the states during the generation of the node. The second models the user activation of an <i>internal link</i>, which leads to an interaction between the user and the system. The first type of transition can only have as source a <i>flow</i> <i>state</i>, and can have as target any type of state (e.g., the transition between the service "Add" and "Subject Management"). The second type of transition can only have as source a <i>virtual state</i>, and as target any state (e.g., the transition between "Subject Management" and virtual state "Warning Message" which represents an intermediate warning page to the user before deleting a subject). <i>Hyperlinks</i> defined in the node diagram correspond to possible internal navigations, triggered from user interactions. The <i>Hyperlink</i> whose target state corresponds to a <i>final</i> state can be connected to another node in the navigational tree; if there is such a linkage, it defines a <i>soft link</i> (sLink) that will allow navigation to a unit not directly linked to the functional node of the navigational tree structure.</font></p>        <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font face="Verdana" size="2"> <b>3.2 The User Model</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">The User Model includes the following diagrams: <i>Role and Zone Diagrams</i>. </font> </p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The <i>Role Diagram</i> represents the hierarchy of user roles. To set this diagram notation we propose the use of the actor&rsquo;s hierarchy provided by UML in which, in addition, each actor may have a number of attributes in order to model personalization aspects. These attributes are called "personalized attributes" (examples of attributes are customizable language, style pages, colors, grants, etc.). <a href="/img/revistas/cleiej/v14n1/1a02f3.gif" target="_blank">Figure 3</a> shows an example of a role diagram.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font face="Verdana" size="2"> <a href="/img/revistas/cleiej/v14n1/1a02f3.gif" target="_blank"> <b>Figure 3.</b> Example of Role Diagram</a></font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Another diagram for user modeling is called <i>Navigational Zone Diagram</i>. This diagram allows defining contexts of navigation. Contexts represent zones that contain certain behavioral profiles mutually related. The zones give the system designer the possibility to explicitly define different contexts within which multiple roles assumed by users can be identified. A role contains a default behavior within a zone, with its privileges and limitations. An example of a navigational zone could be one which both students and teachers can access, consisting of navigational nodes that provide access to subjects, career, etc. On the other hand, managers may be defined in a different zone of the academic system, since the specific type of functionality they need to access is different.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">In general the idea is that there may be several zones defined in a system, each one can have several roles assigned, and each role can be played by zero or more users. The zone can be relative, that is, it depends on a class of the domain model, indicating that for a user to assume certain role, additional information is needed. To specify that a zone is dependent on a domain element, an association with a dependency relationship to a domain model class is represented. As an example of relative zone, we could have an "Academic" zone, which would include the roles of "Professor, Student&rdquo;, and users would take at most one of these roles for each subject, for example a user could take the role of "Professor" in a particular subject and the role of "student" in another one. An example of zone diagram is shown in <a href="#f4">Figure 4</a>.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>    <a name="f4">     ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font face="Verdana" size="2"> <img alt="" src="/img/revistas/cleiej/v14n1/1a02f4.gif" style="border: 0px solid ; width: 576px; height: 363px;"></font></p>       <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font face="Verdana" size="2"> <b>Figure 4.</b> Example of Navigational Zone Diagram</font></p>  </a>      <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The zone diagram, use the UML packages notation with the stereotype &lt;&lt;zone&gt;&gt;. Each package contains the available roles in that zone and a possible dependency relationship with a domain class. Then, whenever defining the accessibility level on the <i>Navigational Tree</i> diagram is necessary, we can specify a zone or a particular role for any navigational node. Finally, if instead of associating a zone to a node, we associated it to a particular role, the access node would be limited by the specified role. </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The roles or zones association to navigational nodes can be visualized in the navigational tree (<a href="/img/revistas/cleiej/v14n1/1a02f1.gif" target="_blank"> Figure 1</a>). In this figure, it is possible to observe that some nodes do not have access privileges (i.e., can be accessed by any user), as is the case of the root node "Home". The node "Perform tracking of courses" assigns access privileges to the zone "Academic" (this zone contains the roles "Student" and "Professor" and depends on the domain class "Subject"). This indicates that both the node "Perform tracking of courses" as those which are below of it have access privileges of such a zone. The role each user assumes will depend on the courses he selects. Finally, the node "Faculty Management" assigns access privileges to the zone &ldquo;Administration&rdquo;. However, the child node "Career Management" assigns access privileges to "Academic Secretary&rdquo;, indicating that it may be viewed and accessed by one of the roles played in the "Administration", and such access is restricted to the nodes children ("Enroll Students" and "Courses Management").</font></p>        <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font face="Verdana" size="2"> <b>3.3 MOF Definition of the Navigational and User Notational Models</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">With the notational definition proposed in previous sections, we define a general metamodel which in turn is composed of three specific sub-metamodels: the Navigational Tree, the Node, and the Role (see <a href="/img/revistas/cleiej/v14n1/1a02f5.gif" target="_blank">Figure 5</a>).</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">In the <i>Navigational Tree Metamodel</i> a general element, called <i>Navigational Tree</i>, represents the entire navigational structure and consists of zero or more navigational elements. These elements include: <i>Node</i> or <i>Link</i>. Node represents the navigational nodes that comprise the web application and connects to other units by means of elements called <i>hLink</i>. </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The proposed metamodel for internal navigation of the nodes, named <i>Node,</i> consists of a &ldquo;Node Diagram&rdquo;, and all the elements it contains are represented in its most general level <i>SD Element</i>. SD Element is specialized in two types of elements: s<i>tate,</i> representing all states of the diagram (flow states, final state and virtual states); and <i>transition,</i> representing all transitions between different states (Hyperlinks, ControlFlow and sLink). The association between <i>FlowState</i> and <i>ControlFlow</i> suggests that the output transition for a <i>FlowState</i> can only be of type <i>ControlFlow</i>. The association between <i>VirtualState</i> and <i>Hyperlink</i> suggests that the output transition for a <i>VirtualState</i> can only be of type <i>Hyperlink</i>. The association between <i>FinalState</i> and <i>sLink</i> indicates that it is possible to define a soft link transition to a tree node as a final transition of the node diagram.</font></p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Following, we present the <i>Role Metamodel</i>. The element <i>RoleDiagram</i> represents the diagram of different roles of the system, which consists of <i>RD Elements</i>. The RD elements are specialized in three different elements: <i>Zone</i>, <i>Role</i> and <i>User</i>. The first, <i>zone</i>, represents the contexts with certain behavioral profiles related to each other. Zones can be related to each other by an aggregation relationship and can contain one or more roles. A <i>role</i> contains a predefined behavior within a zone, with its privileges, attributes, customizable and well-defined limitations. Roles are related to each other by a hierarchy relationship, and it is possible to assign to them one or more <i>roleAttributes</i>. The <i>user</i> element represents the different users that interact with the system.</font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">     <br>    </font>    </p>        <p style="text-indent: 0cm; margin-bottom: 0cm; page-break-inside: avoid; page-break-after: avoid;" align="center" lang="en-US">  <font face="Verdana">  <a href="/img/revistas/cleiej/v14n1/1a02f5.gif" target="_blank"> <b><font size="2">Figure 5.</font></b><font size="2"> Navigational and User Metamodels</font></a></font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Finally, we can mention the different relations between the three metamodels. The <i>node</i> element in the <i>Navigational Tree</i> has an association with <i>NodeDiagram</i> (node metamodel) meaning that for each node there exist at most one <i>NodeDiagram</i>. <i>Node</i> also has an association with <i>sLink</i> (node metamodel) since it is possible to assign a soft link transition to any node of the tree as a final state of a node diagram. The association between <i>node</i> (navigational tree metamodel) and <i>RD Element</i> (role metamodel) indicates the level of accessibility of each node of the tree (zone, role or user).</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">In order to apply the Navigational and User metamodels we define UML profiles for them. These UML Profiles allow us to specify the different models with the proposed notation using a Case Tool for modeling. <a href="#f6">Figures 6</a>, <a href="#f7">7</a> and <a href="#f8">8</a> present the profiles defined for this purpose.</font></p>    <font face="Verdana" size="2">    <a name="f6"><img alt="" src="/img/revistas/cleiej/v14n1/1a02f6.gif" style="border: 0px solid ; width: 469px; height: 317px;">    <br>    <b>Figure 6.</b> Navigational Tree Profile</a>    <br>    </font>    <a name="f7">     ]]></body>
<body><![CDATA[<p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" align="center" lang="en-US">  <font face="Verdana" size="2"> <img alt="" src="/img/revistas/cleiej/v14n1/1a02f7.gif" style="border: 0px solid ; width: 469px; height: 317px;"></font></p>    <font face="Verdana">    <b><font size="2">Figure 7.</font></b><font size="2"> Role Profile</font></font></a><font size="2" face="Verdana"> </font>     <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font face="Verdana" size="2">    <br>  </font>  </p>    <a name="f8">     <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" align="center" lang="en-US">  <font face="Verdana" size="2"> <img alt="" src="/img/revistas/cleiej/v14n1/1a02f8.gif" style="border: 0px solid ; width: 469px; height: 317px;"></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" align="center" lang="en-US">  <font face="Verdana" size="2"> <b>Figure 8.</b> Node Profile</font></p>  </a>      <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font face="Verdana" size="2"> <b>3.4 PSM and ISM Transformations Using a MDA Tool</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">To carry out a deeper analysis of the metamodel proposal, the transformation rules for the generation of both PSMs and ISM have been implemented using the Open Source MDA Tool called AndroMDA <a href="#c1">[1]</a>. The tool selection resulted out of a comparative study of various MDA tools. AndroMDA was selected mainly due to its flexibility for cartridge creation, language standardization, MDA approach suitability, and its Open Source nature <a href="#c11">[11]</a><a name="c11."></a>. </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">In the AndroMDA transformation approach, PSMs are generated instantiating the metafacades in a series of metaclasses. Subsequently, the templates use the metafacade to retrieve the necessary data from the models, and are therefore able to transform the final code.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The steps for implementing the metamodels can be summarized in the following: definition of the diagrams to be used with their respective UML profiles: 1) creation of the UML profiles; 2) identification of transformation rules; 3) modeling, creation and generation of metafacades; 4) implementation of transformation rules on metafacades; 5) configuration of the respective descriptors (cartridge.xml, metafacade.xml, profile.xml); and 6) tests of the cartridge with the proof of concept. </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">PHP was chosen as the target platform, due mainly to the fact that AndroMDA still did not offer any cartridge for this language, and also due to PHP&rsquo;s widespread diffusion in the Web environment.</font></p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Once the implementation of metamodels finishes, the transformation process with AndroMDA is as follows: </font> </p>    <ol>          <li>                   <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">All the required cartridges are loaded by the engine.</font></p>      </li>          <li>                   <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">Some special repositories load into memory the XMI model and create run-time meta-classes and meta-objects that represent instances of them.</font></p>      </li>          <li>                   <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">The engine encapsulates each meta-object called "helper classes", better known as metafacades, which can be defined in the cartridge or outside it.</font></p>      </li>          <li>                   <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">The engine runs through each meta-object instantiated in step 2, looking for classes labeled with known stereotypes.</font></p>      </li>          <li>                   ]]></body>
<body><![CDATA[<p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">When a labeled class is located, the correct template cartridge is identified and used to generate code. On the other hand, the Metafacades mentioned in step 3 are available to the templates as specified in the descriptors of the cartridge. Multiple source files can be generated for every labeled class.</font></p>      </li>          <li>                   <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US">     <font face="Verdana" size="2">Step 5 is repeated for each class loaded from XMI.</font></p>      </li>        </ol>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2"><a href="/img/revistas/cleiej/v14n1/1a02f9.gif" target="_blank"> Figure 9</a> graphically explains the steps just mentioned. In this figure, it is possible to visualize the major components and how they participate in the process of transformation and code generation. Flows are labeled corresponding the steps (2 to 5).</font></p>        <p style="margin-bottom: 0cm;" align="center" lang="en-US"> <font face="Verdana" size="2"> <a href="/img/revistas/cleiej/v14n1/1a02f9.gif" target="_blank"> <b>Figure 9.</b> Transformation Process with AndroMDA</a></font></p>        <p style="text-indent: 0cm; margin-top: 0.92cm; margin-bottom: 0.49cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font size="2" face="Verdana"><b>4 Proof of Concept with AndroMDA</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">After implementing the proposed metamodel, we applied the cartridge to a proof of concept, which allowed us to obtain feedback on its usefulness. This section presents the generation of the application using the cartridge developed for AndroMDA and the analysis of the results obtained. </font> </p>        <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font face="Verdana" size="2"> <b>4.1 Generation of the Application </b> </font> </p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">For the implementation of the Academic System we modeled various diagrams, such as <i>Navigational Tree Diagram</i>, and for each node a <i>Node Diagram</i>. For <i>User Modeling,</i> the <i>Role and Zone Diagram </i>was defined. Examples of such diagrams were presented in sections 3.1 and 3.2. </font> </p>    <a name="f10">     ]]></body>
<body><![CDATA[<p style="text-indent: 0cm; margin-bottom: 0cm;" align="center" lang="en-US">  <font face="Verdana" size="2"> <img alt="" src="/img/revistas/cleiej/v14n1/1a02f10.gif" style="border: 0px solid ; width: 424px; height: 279px;"></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" align="center" lang="en-US">  <font face="Verdana" size="2"> <b>Figure 10.</b> Node Diagram for <i>Login</i> tree node</font></p>  </a>      <p style="text-indent: 0cm; margin-bottom: 0cm;" align="center" lang="en-US">  <font face="Verdana" size="2">     <br>    </font>    </p>        <p style="margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">In addition to the navigational tree diagram (<a href="/img/revistas/cleiej/v14n1/1a02f1.gif" target="_blank"> figure 1</a>), the role diagram (<a href="/img/revistas/cleiej/v14n1/1a02f3.gif" target="_blank">figure 3</a>), and the zone diagram (<a href="#f4">figure 4</a>), we can show another node diagram in <a href="#f10">figure 10</a>. This figure models the login process in which the user has to type a user name and a password (&ldquo;Entering data&rdquo; virtualState), then a login service is executed to validate data, and finally, depending on the results, an error message will appear (&ldquo;Error Message&rdquo; virtualState), or a soft link will take the user to the &ldquo;home&rdquo; node of the system.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">With the <i>navigational tree diagram</i> it was possible to dynamically generate the menus, depending on the role / roles of the user accessing the system, and &ldquo;breadcrumbs&rdquo; to keep the user located. <a href="/img/revistas/cleiej/v14n1/1a02f11.gif" target="_blank">Figure 11</a> shows the main structure of the application. The <i>node diagram</i> allowed the generation of the internal behavior of each function of the system. The <i>role diagram</i> indicates the hierarchy of roles within the system. Furthermore, this diagram is used to carry out user customization from custom attributes available to each role. Similarly, attributes of each of the roles are also used as session variables. These variables can be initialized from the model itself, which causes the user accessing the system for the first time to have certain preferences that distinguish it from other users with different roles. It is worth noting that in regard to navigation and users, the system generates 100% of the final code. However, in order to add the presentation elements it has been necessary to integrate the proposal with an additional presentation model, not presented in this work, but developed as part of a global project <a href="#r12">[12]</a>.</font></p>        <p style="text-indent: 0cm; page-break-inside: avoid; page-break-after: avoid;" align="center" lang="en-US">  <font face="Verdana" size="2"> <a href="/img/revistas/cleiej/v14n1/1a02f11.gif" target="_blank"> <b>Figure 11. </b>An example of generated page</a></font></p>        <p style="text-indent: 0cm; margin-top: 0.78cm; margin-bottom: 0.39cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font face="Verdana" size="2"> <b>4.2 Analysis of Results</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">The actual proposal adopts standard modeling languages and architectures. On one hand, the notational proposal corresponds to an extension of UML. In addition, MOF has been used to define the different metamodels. The transformations were defined using the MDA approach with an open source MDA tool. These features were designed to facilitate: i) the understanding of the usefulness of the proposal; ii) the adoption of the models by using CASE tools supporting UML notation; and, iii) the possible integration of the proposal with other methodological approaches. </font> </p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">With regard to the notational proposal defined for PIM, here are some important considerations. While the vast majority of Web methods propose navigational maps, the contribution of the <i>Navigational Tree Diagram</i> focuses on one side in the differentiation between the "hard-links" and "soft-links" for navigational structures definition. The "hard-links" are used to define hierarchical navigation structures related to functional units, while the "soft-links" are intended to model those navigations that are made from changes in functional units or contexts. With this contribution it is possible to generate various levels of explorations through menus and submenus, while maintaining the user located through "breadcrumbs" and "history of navigation." Although other proposals do not consider these types of navigation, OOWS provides the ability to model hierarchical structures and navigation levels with <i>sequence</i> and <i>exploration</i> <i>links, </i>and <i>subsystems</i> definition, which is considered to be useful but we think they have not the same conceptual clarity introduced by the <i>hard</i> and <i>soft links</i>. Another contribution of the <i>Navigational Tree</i> corresponds to the granularity used to model the navigational structure, considering the navigational elements as functional units. In fact, this proposal adopted the <i>Use Case Diagram</i> to define the navigational structure. Use cases represent functional units that may include process flows. The navigational hierarchies are based on these principles and not on the contexts that other methods use to represent one or several web pages with the same structure. Finally, the navigational model of the implementation is simplified for two reasons. The first is due to navigational nodes represent a higher aggregation level than normally used in other proposals, therefore the number of navigational nodes tends to be much smaller. The second reason is that displaying only the navigational hierarchy in the overall structure of the application makes the overall system vision much simpler, because the number of links is strongly reduced. </font> </p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The <i>Navigational Tree Diagram</i> is independent of the conceptual model and could correspond to the starting point of the system modeling process. The navigational tree diagram is defined by structuring the basic functionality that the system should provide instead of using a conceptual model view (in the case of OOHDM, UWE, WebML the navigational structure is created from the conceptual model). We believe this concept can help to define simpler functions oriented navigational structures, which can simplify user orientation.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">A <i>Node Diagram</i> is defined for each node (functional unit) of the <i>Navigational Tree</i>. The abstraction of functional unit provides more flexibility for modeling aspects related to navigation behavior obtained from dynamic interactions with the user. Moreover, the diagram provides the ability to model navigational elements as "soft links", "index", "guided tours", and "service links" in a more natural way and without using specific constructors for this purpose.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2"><i>Roles and Zones Diagrams</i>, in addition to providing a hierarchical model of user roles, establish relationships between zones and single users with multiple roles, and guide the navigation depending on the role that the user play within a particular zone. In addition, the possibility of allowing nodes access to both zones and roles, gives greater flexibility and simplicity to the application model. In this sense, when we assign zones privileges, we are indicating that the node can be accessed by any of the roles of that zone, and if it is linked to an element of the domain, the assumed role depends on the domain element linked to the node.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">With regard to the ISM (i.e., the generated code), it is worth noting that navigational and user aspects were 100% covered in the final code. However, to add the elements of presentation it was necessary to integrate the proposal with an additional presentation model, no presented in this work, but developed as part of a global project <a href="#c12">[12]</a>.<a name="c12."></a></font></p>        <p style="text-indent: 0cm; margin-top: 0.92cm; margin-bottom: 0.49cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font size="2" face="Verdana"><b>5 Conclusions and Future Works</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">The present study focuses on an analysis of the navigational and user perspectives in Web Applications, highlighting some critical aspects for the navigation and users modeling. Specifically, we present a notational proposal and its definition through a metamodel using the MOF language. The Metamodel in turn is composed of three sub-metamodels: Navigational Tree, Node Tree, and Roles Tree. Metamodels have been implemented on a specific MDA tool (AndroMDA) through the development of a user and navigational cartridge that considers PHP applications as the target platform. Both the Metamodel and the Cartridge for AndroMDA have been analyzed by means of a proof of concept.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">The experimental result shows that the considered aspects for the definition of the Users and Navigational model present meaningful contributions compared with other current methodological proposals. Particularly, in the navigational tree modeling, hard and soft link constructors have been introduced to enhance the definition of the hierarchy structure and to differentiate them from the links that imply a context change between functional units.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">Furthermore, a new way of considering nodes as functional units is proposed, allowing to model behavioral diagrams. Besides providing a hierarchical model for the users, associations were established with zones that allow the assignment of various roles to the same user and to guide the navigation depending on the role that the same user has on a particular zone.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">It is also important to mention that with this study, a new cartridge for AndroMDA has been developed, to generate application in the PHP platform.</font></p>        <p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">This work has made possible to distinguish some challenges considered important as future works; such as the metamodels proposal with its transformation rules for the other layers (presentation, domain, services); the extension of the cartridge to other target platforms, such as JSP; and, the integration of the current proposal into other methods to complement the navigational and user layer modeling. In this sense, studies about the integration with OOWS could be made, replacing the navigational map context by nodes with the navigational nodes diagram. Each virtual state of the node diagram would represent a navigational context. In the UWE case, the navigational structure could be enriched with the node diagram, defining it for each navigational class, and then analyzing the results from the obtained models.</font></p>        ]]></body>
<body><![CDATA[<p style="margin-bottom: 0cm;" lang="en-US"><font face="Verdana" size="2">    <br>    </font>    </p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2"> <b>ACKNOWLEDGEMENT</b></font></p>        <p style="text-indent: 0cm; margin-bottom: 0cm;" lang="en-US"> <font face="Verdana" size="2">The first author would like to thank the &ldquo;Itaipu Technological Park&rdquo; (Parque Tecnol&oacute;gico Itaip&uacute; &ndash; PTI) for partially funding the research under a scholarship program. </font> </p>        <p style="text-indent: 0cm; margin-top: 0.92cm; margin-bottom: 0.49cm; page-break-inside: avoid; page-break-after: avoid;" lang="en-US">  <font size="2" face="Verdana"><b>References</b></font></p>        <!-- ref --><p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c1"></a><a href="#c1.">1</a>. AndroMDA. <a href="http://www.andromda.org/=">http://www.andromda.org/</a></font><p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c2"></a><a href="#c2.">2</a>. Baresi, L. and Mainetti, L. &ldquo;Beyond Modeling Notations: Consistency and Adaptability of W2000 Models&rdquo;. In Proc. Of ACM Symposium on Applied Computing, USA, (2005)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c3"></a><a href="#c3.">3</a>. Cachero C., G&oacute;mez J., Pastor O. &ldquo;OO-HMethod: Un M&eacute;todo de Dise&ntilde;o de Lugares Web&rdquo;. Conference Proceedings, IDEAS 00. Canc&uacute;n, pp 133-144, M&eacute;xico (2000)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c4"></a><a href="#c4.">4</a>. Cachero, C., Koch, N. &ldquo;Conceptual Navigation Analysis: a Device and Platform Independent Navigation Specification&rdquo;. 2nd International Workshop on Web-oriented Software Technology (IWWOST&rsquo;02). M&aacute;laga, Espa&ntilde;a (2002)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c5"></a><a href="#c5.">5</a>. Ceri, S., Fraternali, P., Bongio. &ldquo;Web Modelling Language: A Modelling Language for Designing Web Sites&rdquo;. Conference WWW9/Computer Networks 33, pp. 137-157 (2000)</font></p>        ]]></body>
<body><![CDATA[<p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c6"></a><a href="#c6.">6</a>. De Troyer, O. y Casteleyn, S. &ldquo;The Conference Review System with WSDM&rdquo;. In First International Workshop on Web-Oriented Software Technology, (2001)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c7"></a><a href="#c7.">7</a>. Escalona M. J. &ldquo;Modelos y T&eacute;cnicas para la Especificaci&oacute;n y el An&aacute;lisis de la Navegaci&oacute;n en Sistemas Software&rdquo;. Tesis Doctoral. Universidad de Sevilla. (2004)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c8"></a><a href="#c8.">8</a>. Fons, J. - Pelechado, V. - Pastor, O. - Valderas, P. - Torres, V., &ldquo;Applying the OOWS Model-Driven Approach for Developing Web Applications: The Internet Movie Database (IMDB) Case Study&rdquo; en Pastor, O. - Olsina, L. et al (eds.) Web Engineering: Modeling and Implementing Web Applications. Springer, Chapter 5, pp 65-108, London (2007)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c9"></a><a href="#c9.">9</a>. Garzotto, F., Paolini, P., Schwabe, D. &ldquo;HDM- a Model-Based Approach to Hypertext Application Design&rdquo;. ACM Transaction On Database Systems, 11(1), pp. 1-26 (1993)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c10"></a><a href="#c10.">10</a>. Ginige, A., and Murugesan, S. (Eds), &ldquo;IEEE Multimedia Special Issue on Web Engineering: Part 1&rdquo;, 8,1, (2001)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c11"></a><a href="#c11.">11</a>. Gonz&aacute;lez M., Bareiro J., Rodriguez R., Cernuzzi L. &ldquo;Estudio Comparativo de Herramientas MDA para el Desarrollo de Sistemas Web&rdquo;. XXXV Conferencia Latinoamericana de Inform&aacute;tica (CLEI). Pelotas, pp. 56 , Brasil (2009)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c12"></a><a href="#c12.">12</a>. Gonz&aacute;lez M., Cernuzzi L., Pastor O. &ldquo;Una Aproximaci&oacute;n para Aplicaciones Web: MOWEBA&rdquo;. XIV Congreso Iberoamericano en &ldquo;Software Engineering&rdquo; &ndash; CibSE, R&iacute;o de Janeiro, Brasil (2011)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c13"></a><a href="#c13.">13</a>. Houben, G., Van der Sluijs, K., Barna, P., Broekstra, J., Casteleyn, S., Fiala, Z., and Frasincar, F., &ldquo;HERA&rdquo; en Pastor, O., Olsina, L. et al (eds.) Web Engineering: Modeling and Implementing Web Applications. Springer, London, chapter 10, pp 1-6 (2007)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c14"></a><a href="#c14.">14</a>. Koch, N., Knapp, A., Zhang, G., Baumeister, H., &ldquo;UML-based Web Engineering, An Approach Based on Standards&rdquo; en Pastor, O. et al (eds.) Web Engineering: Modeling and Implementing Web Applications. Springer, Chapter 7, pp 157-192, London (2007)</font></p>        <!-- ref --><p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c15"></a><a href="#c15.">15</a>. Nurmi, P, Laine, T., Seminar on User modeling: Introduction to User Modeling, (2007)</font><!-- ref --><p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c16"></a><a href="#c16.">16</a>. MDA Guide Version 1.0.1. <a href="http://www.omg.org/docs/omg/03-06-01.pdf">http://www.omg.org/docs/omg/03-06-01.pdf</a> (2003)</font><p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c17"></a><a href="#c17.">17</a>. Rossi, G., Pastor, O., Schwabe, D., Olsina, L. &ldquo;Web Engineering: Modelling and Implementing Web Applications&rdquo;. (Human-Computer Interaction Series), 1 edition. ISBN:9781846289224 . Springer, London, (2007)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c18"></a><a href="#c18.">18</a>. Schwabe, D., Rossi, G. &ldquo;An Object Oriented Approach to Web-Based Application Design&rdquo;. Theory and Practice of Object Systems 4(4), 1998. Wiley and Sons, New York, ISSN 1074-3224 (1998)</font></p>        <p lang="en-US"> <font style="font-size: 10pt;" size="2" face="Verdana"><a name="c19"></a><a href="#c19.">19.</a> Suh, W., Lee, H. &ldquo;A Methodology for Building Content-oriented hypermedia systems&rdquo;. The Journal of Systems and Software, Vol 56, pp. 115-131. (2001)</font></p>    </div>         ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="">
<collab>AndroMDA</collab>
<source><![CDATA[]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Baresi]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Mainetti]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Beyond Modeling Notations: Consistency and Adaptability of W2000 Models]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ ACM Symposium on Applied Computing]]></conf-name>
<conf-date>2005</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cachero]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Gómez]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Pastor]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[OO-HMethod: Un Método de Diseño de Lugares Web]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ IDEAS 00]]></conf-name>
<conf-date>2000</conf-date>
<conf-loc>Cancún </conf-loc>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cachero]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Koch]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Conceptual Navigation Analysis: a Device and Platform Independent Navigation Specification]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[(2 International Workshop on Web-oriented Software Technology (IWWOST’02)]]></conf-name>
<conf-date>2002</conf-date>
<conf-loc>Málaga </conf-loc>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ceri]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Fraternali]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Bongio]]></surname>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Web Modelling Language: A Modelling Language for Designing Web Sites]]></article-title>
<source><![CDATA[Computer Networks]]></source>
<year>2000</year>
<volume>33</volume>
<conf-name><![CDATA[ Conference WWW9]]></conf-name>
<conf-loc> </conf-loc>
<page-range>137-157</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[De Troyer]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Casteleyn]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The Conference Review System with WSDM]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ First International Workshop on Web-Oriented Software Technology]]></conf-name>
<conf-date>2001</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Escalona]]></surname>
<given-names><![CDATA[M. J]]></given-names>
</name>
</person-group>
<source><![CDATA[Modelos y Técnicas para la Especificación y el Análisis de la Navegación en Sistemas Software]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fons]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Pelechado]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<name>
<surname><![CDATA[Pastor]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Valderas]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Torres]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Applying the OOWS Model-Driven Approach for Developing Web Applications: The Internet Movie Database (IMDB) Case Study]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Pastor]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Olsina]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Web Engineering: Modeling and Implementing Web Applications]]></source>
<year>2007</year>
<page-range>65-108</page-range><publisher-loc><![CDATA[London ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Garzotto]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Paolini]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Schwabe]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[HDM- a Model-Based Approach to Hypertext Application Design]]></article-title>
<source><![CDATA[ACM Transaction On Database Systems]]></source>
<year>1993</year>
<volume>11</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>1-26</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ginige]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Murugesan]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[IEEE Multimedia]]></source>
<year>2001</year>
<volume>8</volume>
<numero>1</numero>
<issue>1</issue>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Bareiro]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Rodriguez]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Cernuzzi]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Estudio Comparativo de Herramientas MDA para el Desarrollo de Sistemas Web]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[XXXV Conferencia Latinoamericana de Informática (CLEI)]]></conf-name>
<conf-date>2009</conf-date>
<conf-loc>Pelotas </conf-loc>
<page-range>56</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Cernuzzi]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Pastor]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Una Aproximación para Aplicaciones Web: MOWEBA]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[XIV Congreso Iberoamericano en “Software Engineering” - CibSE]]></conf-name>
<conf-date>2011</conf-date>
<conf-loc>Río de Janeiro </conf-loc>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Houben]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Van der Sluijs]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Barna]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Broekstra]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Casteleyn]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Fiala]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[Frasincar]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[HERA]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Pastor]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Olsina]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Web Engineering: Modeling and Implementing Web Applications]]></source>
<year>2007</year>
<page-range>1-6</page-range><publisher-loc><![CDATA[London ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Koch]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Knapp]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Baumeister]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[UML-based Web Engineering: An Approach Based on Standards]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Koch Pastor]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<source><![CDATA[Web Engineering: Modeling and Implementing Web Applications]]></source>
<year>2007</year>
<page-range>157-192</page-range><publisher-loc><![CDATA[London ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nurmi]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Laine]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[Seminar on User modeling: Introduction to User Modeling]]></source>
<year>2007</year>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="">
<collab>MDA</collab>
<source><![CDATA[Guide Version 1.0.1]]></source>
<year>2003</year>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rossi]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Pastor]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Schwabe]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Olsina]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Web Engineering: Modelling and Implementing Web Applications]]></source>
<year>2007</year>
<publisher-loc><![CDATA[London ]]></publisher-loc>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schwabe]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Rossi]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An Object Oriented Approach to Web-Based Application Design]]></article-title>
<source><![CDATA[Theory and Practice of Object Systems]]></source>
<year>1998</year>
<month>19</month>
<day>98</day>
<volume>4</volume>
<numero>4</numero>
<issue>4</issue>
<publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[Wiley and Sons]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Suh]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[Lee,]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Methodology for Building Content-oriented hypermedia systems]]></article-title>
<source><![CDATA[The Journal of Systems and Software]]></source>
<year>2001</year>
<volume>56</volume>
<page-range>115-131</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
