<?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>0012-7353</journal-id>
<journal-title><![CDATA[DYNA]]></journal-title>
<abbrev-journal-title><![CDATA[Dyna rev.fac.nac.minas]]></abbrev-journal-title>
<issn>0012-7353</issn>
<publisher>
<publisher-name><![CDATA[Universidad Nacional de Colombia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0012-73532005000200008</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[CONVERSIÓN DE DIAGRAMAS DE PROCESOS EN DIAGRAMAS DE CASOS DE USO USANDO AToM³]]></article-title>
<article-title xml:lang="en"><![CDATA[CONVERSION OF PROCESSES DIAGRAMS IN USE CASE DIAGRAMS USING AToM³]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[ZAPATA J.]]></surname>
<given-names><![CDATA[CARLOS M.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[ÁLVAREZ.]]></surname>
<given-names><![CDATA[CARLOS ALBERTO]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Nacional de Colombia. Facultad de Minas. Escuela de Sistemas.]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Nacional de Colombia. Facultad de Minas. Escuela de Sistemas.]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>07</month>
<year>2005</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>07</month>
<year>2005</year>
</pub-date>
<volume>72</volume>
<numero>146</numero>
<fpage>103</fpage>
<lpage>113</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0012-73532005000200008&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0012-73532005000200008&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0012-73532005000200008&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Toda pieza de software se origina en el modelo verbal, con el cual se pueden definir los diferentes modelos conceptuales que acerquen el problema a una solución. Las herramientas convencionales para la construcción de los modelos conceptuales no toman en consideración las diferentes reglas de consistencia que se pueden presentar entre los diferentes modelos. En este artículo se emplea el AToM³ como herramienta para la definición de los meta-modelos del diagrama de procesos y el diagrama de casos de uso, con el fin de reexpresar el primero para obtener algunos elementos básicos del segundo.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Every software piece has its origins in the verbal model. With this model, it’s possible to define several conceptual models that allow reaching a solution closer to the problem. Conventional tools for conceptual model building don’t take into account the different consistency rules between different models. In this paper we use AToM³ as a tool for the meta-models’ definition of process diagram and use case diagrams, trying to redefine the first to obtain some basic elements from the second.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Meta-modelos]]></kwd>
<kwd lng="es"><![CDATA[AToM³]]></kwd>
<kwd lng="es"><![CDATA[Gramática de Grafos]]></kwd>
<kwd lng="es"><![CDATA[consistencia entre modelos]]></kwd>
<kwd lng="en"><![CDATA[Meta-models]]></kwd>
<kwd lng="en"><![CDATA[AToM³]]></kwd>
<kwd lng="en"><![CDATA[Grammars Graphs]]></kwd>
<kwd lng="en"><![CDATA[consistency between models]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><b>CONVERSIÓN         DE DIAGRAMAS DE PROCESOS EN DIAGRAMAS DE CASOS DE USO USANDO AToM<sup>3</sup>   </b></font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>CONVERSION       OF PROCESSES DIAGRAMS IN USE CASE DIAGRAMS USING AToM<sup>3</sup></b></font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>CARLOS M. ZAPATA J.</b>    <br>     <i>Grupo de Investigación UN-INFO.       Escuela de Sistemas. Facultad de Minas. Universidad Nacional de Colombia. <a href="mailto:cmzapata@unalmed.edu.co">cmzapata@unalmed.edu.co</a></i></font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>CARLOS         ALBERTO ÁLVAREZ.</b>    <br>       <i>Grupo de Investigación UN-INFO.       Escuela de Sistemas. Facultad de Minas. Universidad Nacional de Colombia.</i></font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Recibido         para revisar 26 de Abril de 2004, aceptado 19 de Mayo de 2004, versión     final 20 de Mayo de 2004</b></font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN:</b> Toda       pieza de software se origina en el modelo verbal, con el cual se pueden       definir los diferentes modelos conceptuales que acerquen el problema a       una solución.  Las herramientas convencionales     para la construcción de los modelos conceptuales no toman en consideración     las diferentes reglas de consistencia que se pueden presentar entre los diferentes     modelos.  En este artículo se emplea el AToM<sup>3</sup> como herramienta     para la definición de los meta-modelos del diagrama de procesos y el diagrama     de casos de uso, con el fin de reexpresar el primero para obtener algunos     elementos básicos del segundo.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>PALABRAS CLAVES:</b> Meta-modelos, AToM<sup>3</sup>,     Gramática de Grafos, consistencia entre modelos.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>ABSTRACT:</b> Every       software piece has its origins in the verbal model. With this model, it’s possible to define several     conceptual models that allow reaching a solution closer to the problem. Conventional     tools for conceptual model building don’t take into account the different     consistency rules between different models.  In this paper we use AToM<sup>3 </sup>as     a tool for the meta-models’ definition of process diagram and use case diagrams,     trying to redefine the first to obtain some basic elements from the second.</font></p>       ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>KEYWORDS:</b> Meta-models, AToM<sup>3</sup>,     Grammars Graphs, consistency between models.</font></p>       <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>1.  INTRODUCCIÓN</b></font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La creación de una pieza de software implica     una serie de etapas que permiten la simplificación sucesiva de los problemas     del mundo real.  En esta simplificación, los diferentes mecanismos de abstracción     juegan un papel fundamental, puesto que son los que permiten extraer las     características relevantes en cada una de las etapas para generar los diferentes     modelos asociados con el problema y su posible solución.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Entre los diferentes       tipos de modelos enfocados a la construcción de software, el UML (Unified Modeling Language) ha suministrado     desde sus inicios una serie de modelos que constituyen un lenguaje para la     representación de los problemas de la realidad con miras a su solución mediante     piezas de software (OMG, 2004).</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La construcción de los diferentes modelos se     realiza empleando una sintaxis gráfica completamente definida para cada uno     de los modelos, lo que facilita la visualización e interpretación de los     diferentes diagramas por parte de los analistas y usuarios familiarizados     con la sintaxis de los mismos.  Además, existen lenguajes especiales de programación     que posibilitan la definición de cada uno de los modelos para la representación     de la realidad; algunos de estos lenguajes como el OCL (Object Constraint     Language) (Warmer y Kleppe, 2003) y el MAUDE (MAUDE, 2004) poseen expresiones     sintácticas en forma de texto, mientras que otros lenguajes toman partido     de ciertas características visuales para facilitar la definición de los diferentes     modelos.  Estos últimos, denominados Lenguajes Visuales Específicos del Dominio     (Sprinkle y Karsai, 2004) permiten la definición de meta-modelos, que posibilitan     la expresión de las características de los modelos que pueden posteriormente     traducir las características de un problema del mundo.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la literatura       se pueden encontrar diferentes productos de meta-modelado, tales como el       Generic Model Environment – GME     (Ledeczi et al. 2001), el DOME (DOME, 2004) y el AToM<sup>3</sup> (De Lara     y Vangheluwe, 2002) (ATOM3, 2004), entre otros.  Estos productos se caracterizan     por la definición de meta-modelos mediante un entorno gráfico que también     se emplea para generar modelos con la sintaxis expresada en el meta-modelo,     tal como se hace en las herramientas CASE convencionales.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si bien las       tres herramientas mencionadas permiten la elaboración de meta-modelos mediante una sintaxis de tipo gráfico, existen     algunas diferencias apreciables que fundamentan la elección de AtoM3 como     herramienta para la conversión entre modelos planteada en este artículo,     a saber:</font></p>   <ul>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> DOME utiliza       una forma ampliada del diagrama de clases adicionando algunos símbolos propios,       que le entregan gran versatilidad para la definición de los meta-modelos,  y       se puede combinar con un lenguaje de programación similar al LISP llamado       ALTER, especialmente para la definición de ciertas restricciones difíciles       de explicar mediante la simbología gráfica.  Cuando las restricciones son       tan complejas que ni siquiera mediante el ALTER se puedan expresar, se puede       recurrir al lenguaje en el cual está basado el DOME, que es el Smalltalk.  Estas       características hacen del DOME una herramienta muy adecuada para la realización       de meta-modelos y chequeos de consistencia entre los mismos; sin embargo,       cualquier transformación entre modelos debe ser programada en ALTER o incluso       en Smalltalk, dependiendo del grado de dificultad, pues no cuenta con una       herramienta de traducción que posibilite la transformación de un esquema       en otro.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> GME igualmente       utiliza una simbología similar al diagrama de clases para la definición de       los meta-modelos, e incorpora la posibilidad de interpretación de restricciones       utilizando OCL, que es el lenguaje de meta-modelamiento de UML, y en el cual       se han ya definido algunas reglas de consistencia para la especificación       de UML.  Esto hace del GME una excelente herramienta para la elaboración       de modelos basados en UML;  sin embargo, el modelamiento conceptual posee       diagramas que no pertenecen al UML y que son igualmente importantes en el       análisis.  Por ejemplo, en este artículo se pretende la construcción inicial       de los casos de uso a partir del Diagrama de Procesos, que no pertenece a       UML.  Si bien es posible aún definir diagramas diferentes a UML en GME, la       expresión de las reglas de consistencia debe ser programada completamente       en OCL, pues GME tampoco cuenta con un mecanismo que facilite la elaboración       de dichas reglas.  La transformación entre modelos también se podría hacer,       pero requiere un conocimiento muy a fondo del manejo de OCL.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> AtoM3, como       se verá más detalladamente en la sección 2, basa la definición de sus meta-modelos       en el modelo entidad – relación y, además de interpretar posibles restricciones       escritas en OCL o Phyton, posee una gramática de grafos que permite definir       fácilmente las reglas de transformación para dos modelos dados.  Estas características       hacen del AtoM3 una herramienta muy versátil para la transformación entre       diferentes modelos, tales como los definidos para este artículo.</font></li>         ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Queda fuera       del alcance de este artículo la definición de cuál de las tres herramientas       podría manejar de mejor manera las reglas de consistencia entre dos meta-modelos       definidos.</font></li>       </ul>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ahora, tomando       como partida el modelo verbal del proceso, el grupo de desarrollo se enfrenta       con la realización de los     diferentes modelos que apoyan la definición, el análisis y el diseño de la     pieza de software particular que se va a construir.  Cada modelo que se incorpora     al análisis contribuye con una vista parcial del mismo problema, surgida     del modelo verbal, el cual se expresa a veces en forma ambigua e inexacta.  La     construcción de cada modelo, sin embargo, debe estar exenta de las ambigüedades     propias del lenguaje natural y posibilitar una expresión formal del dominio     de que trata el problema.  Ese punto de partida comúnmente ocasiona la aparición     de inconsistencias entre los modelos empleados en la definición y el análisis     del problema, que se facilitan por la carencia de productos comerciales de     modelamiento con mecanismos de control que impidan la introducción de inconsistencias     entre los diferentes diagramas que hacen parte de un mismo proyecto.  En     la mayoría de esas herramientas de modelado es posible, por ejemplo, introducir     en el diagrama de colaboración de un proyecto un conjunto de clases que no     han sido definidas en el diagrama de clases del mismo proyecto y viceversa;  estos     productos tampoco controlan reglas sencillas de consistencia que validen,     por ejemplo, la existencia de métodos asociados con una clase del modelo     de clases para verificar los mensajes que viajan a través de los enlaces     en el diagrama de colaboración.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como una primera       aproximación a la solución       de este tipo de situaciones, el AToM<sup>3</sup> como herramienta de meta-modelado     permite la introducción y utilización de gramáticas de grafos (De Lara et     al., 2003), que permiten la evolución de los modelos mediante la reescritura     de los mismos para cambiar su apariencia.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este artículo se analiza específicamente la     utilización de las gramáticas de grafos en el entorno AToM<sup>3</sup> para     la generación de elementos de casos de uso a partir de la definición del     Diagrama de Procesos de la organización.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El artículo está organizado así: en la sección     2 se muestran las principales características del AToM<sup>3</sup> y de las     gramáticas de grafos que se pueden emplear para la construcción y reexpresión     de modelos y meta-modelos; en la sección 3 se introduce la notación de los     Diagramas de procesos y de los Casos de Uso; en la sección 4 se muestra la     definición de estos modelos en el entorno AToM<sup>3</sup>, al igual que     las reglas definidas mediante gramáticas de grafos para la generación de     algunos elementos del diagrama de casos de uso a partir del diagrama de procesos;     en la sección 5 se muestra un caso de aplicación; en la sección 6 se discuten     los trabajos futuros que se pueden generar; finalmente, en la sección 7 se     muestran las conclusiones del trabajo.</font></p>       <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>2. AToM<sup>3</sup> Y       LAS GRAMÁTICAS DE GRAFOS</b></font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">AToM<sup>3</sup>.(A       Tool for Multi-Formalism Modelling and Meta-Modelling) es una herramienta       escrita en el lenguaje de programación Phyton. Esta herramienta posee un procesador que incluye un     meta-meta-modelo inicial basado en el modelo entidad relación extendido con     restricciones, que permite la definición de los diferentes meta-modelos en     un entorno gráfico con las mismas características que emplea el usuario en     la construcción de los diferentes modelos.  De esta manera, se puede definir     cualquier tipo de meta-modelo en términos de las “entidades” que hacen parte     del mismo y sus posibles interconexiones o “relaciones”.  Una vez definido     el meta-modelo, se puede emplear su definición para construir los modelos     pertinentes a un problema específico del mundo (De Lara y Vangheluwe, 2002).</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Además del formalismo       descrito, AToM<sup>3</sup> tiene     la posibilidad de expresar ciertas restricciones en términos de Gramáticas     de Grafos, que están incorporadas en su entorno.  Las Gramáticas de Grafos     tienen similitudes con las gramáticas basadas en texto en el sentido de que     pueden ser usadas para describir las transformaciones a un grafo determinado;     la diferencia radica en que las reglas que hacen parte de este tipo de gramáticas     se expresan de manera gráfica y no a modo de texto.  Las gramáticas de grafos     se definen como un conjunto de reglas que poseen un lado izquierdo (left-hand     side o LHS) que contiene las precondiciones (expresadas de forma gráfica)     que deben ser cumplidas para activar una determinada regla y un lado derecho     (right-hand side o RHS) que contiene el grafo que reemplazará el que equipare     el lado izquierdo de la regla.  Para las reglas expresadas de esta manera     también se deben definir unas condiciones y unas acciones para ejecutar cuando     la regla se active.  La Gramática de Grafos de AtoM<sup>3</sup> posee también     un mecanismo que va rescribiendo el modelo a medida que las diferentes reglas     se van activando hasta que no haya reglas que se puedan ejecutar (De Lara     et al., 2003).</font></p>       <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>3. DIAGRAMAS       DE PROCESOS Y DIAGRAMAS DE CASOS DE USO</b></font></p>       ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El modelo verbal       de un problema suministra los elementos necesarios para trazar el diagrama       de procesos de la organización,     que se constituye en una descripción de las secuencias de actividades que     describen el quehacer de la organización.  Este diagrama ha sido descrito     en los textos clásicos de administración de negocios, tales como (Harrington,     1991) y se ha retomado su utilización en herramientas actuales como el Oracle® Designer     (Anderson y Wendelken, 1996).  En el diagrama se incluyen varios elementos     relevantes al problema, tales como:</font></p>   <ul>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Los <i>actores </i>(denominados       también <i>Unidades Organizacionales</i> por su notación en el Oracle® Designer),       que son  responsables de cada uno de los procesos que ocurren en la organización.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Los <i>procesos</i>,       que son secuencias de pasos que se ejecutan en la organización.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Los <i>eventos</i>,       que son los “detonadores” que inician una determinada secuencia de procesos.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Los <i>almacenamientos</i>,       que son los sitios donde se guarda la información generada.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Los <i>condicionales</i>,       que permiten la bifurcación de los procesos en diferentes caminos dependiendo       del cumplimiento de una condición especificada.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Los <i>finales       de procesos</i>, que marcan sitios o momentos especiales donde mueren los       procesos.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Los <i>flujos</i>,       que son los conectores que se presentan entre los diferentes elementos       del diagrama y que representan físicamente el paso de algún tipo de información       entre los elementos que unen.</font></li>       </ul>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las responsabilidades       de los procesos definidos se asocian con cada uno de los actores o unidades       organizacionales mediante unos carriles o rectángulos horizontales que representan el área de influencia     o responsabilidad del actor.  Por simplicidad, y para efectos de este artículo,     se sustituyó el carril correspondiente al actor por un dibujo del actor mismo.  La     simbología básica del diagrama de procesos se puede apreciar en la <a href="#fig01">Figura     1</a>.</font></p>       ]]></body>
<body><![CDATA[<p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig01"></a><img src="/img/revistas/dyna/v72n146/a08fig01.gif">    <br>   Figura 1. </b> Simbología básica       del Diagrama de procesos.    <br>       <b>Figure 1.</b>  Basic simbology of process     diagrams.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En AToM<sup>3</sup> la       construcción de los meta-modelos     se realiza mediante el formalismo correspondiente al diagrama entidad-relación,     en el cual las entidades se representan como rectángulos y los rombos representan     las relaciones.  La construcción del meta-modelo del diagrama de procesos     en AToM<sup>3</sup> se puede visualizar en la <a href="#fig02">Figura 2</a>.  Para cada una de     las entidades se puede definir la imagen que la representa dentro de las     propiedades de la entidad;  la representación del carril correspondiente     a la zona de influencia de un actor o unidad organizacional, en el meta-modelo     se coloca al interior de las entidades   “Eventos” y “Procesos” mediante una propiedad llamada “Actores”, en la cual   se pueden listar los actores o unidades organizacionales que tienen responsabilidad   sobre el proceso.</font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig02"></a><img src="/img/revistas/dyna/v72n146/a08fig02.gif">    <br>   Figura       2.</b> Meta-modelo en AToM<sup>3</sup> para el Diagrama de procesos.    <br>     <b>Figure 2.</b> Meta-model in AToM<sup>3</sup> for process diagrams.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ahora, para     analizar cómo será la interacción     entre los diferentes actores que van a hacer parte de la solución al problema     propuesto y el sistema que servirá como solución, en (Jacobson et al., 1992)     se propuso el modelo de “Casos de Uso”; los elementos fundamentales de este     modelo son:</font></p>   <ul>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  El <i>actor</i>,       que es el responsable de la iniciación o culminación de un caso de uso.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Las <i>funciones       o procesos</i> que se pueden ejecutar dentro del caso de uso.</font></li>         ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Las <i>asociaciones</i>,       que representan intercambios de información entre los actores y las funciones. </font></li>       </ul>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por simplicidad       de uso de este modelo, se han obviado otros elementos que hacen parte de       la descripción de un caso de uso     como son las asociaciones tipo   &lt;&lt;extend&gt;&gt; y las asociaciones tipo &lt;&lt;include&gt;&gt;.  La   simbología básica del diagrama de casos de uso se puede apreciar en la <a href="#fig03">Figura   3</a>.</font></p>            <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig03"></a><img src="/img/revistas/dyna/v72n146/a08fig03.gif">    <br>   Figura 3.</b> Simbología Básica       del Diagrama de Casos de Uso.    <br>   <b>Figure 3.</b>  Basic simbology of use case   diagrams.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La construcción       del meta-modelo del Diagrama de casos de uso en AToM<sup>3</sup>, con las       entidades definidas “actor” y “función     o proceso” y los flujos como las conexiones, se puede apreciar en la <a href="#fig04">Figura     4</a>.</font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig04"></a><img src="/img/revistas/dyna/v72n146/a08fig04.gif">    <br>   Figura       4. </b> Meta-modelo en AToM<sup>3</sup> para el Diagrama de Casos de         Uso.    <br>     <b>Figure 4.</b> Meta-model in AToM<sup>3</sup> for use case diagrams.</font></p>       ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>4.  CONVERSIÓN     DE DIAGRAMAS DE PROCESOS EN CASOS DE USO</b></font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Existen ciertas similitudes que pueden ser explotadas     entre los diagramas de procesos y los de casos de uso:</font></p>   <ul>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Los       actores están presentes en ambos modelos.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  Los       procesos del diagrama de procesos se pueden asimilar a funciones o procesos       del caso de uso.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Los       procesos pertenecen al carril de responsabilidad de un actor en el diagrama       de procesos.  Además, en los casos de uso los actores son los que inician       funciones o procesos.</font></li>       </ul>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Estas similitudes       posibilitan la definición de ciertos elementos     a partir de los diagramas de procesos que pueden facilitar la construcción     de los casos de uso.  Por ejemplo, utilizando la primera similitud se puede     concluir que un actor o unidad organizacional en el diagrama de procesos     se podrá convertir directamente en un actor del diagrama de casos de uso.  De     igual manera, se pueden emplear las demás similitudes para generar diferentes     reglas en gramática de grafos para la conversión del diagrama de procesos     en el punto de partida del diagrama de casos de uso.  Se habla de “punto     de partida” porque no todos los actores que se encuentran definidos en el     Diagrama de Procesos se involucrarán de manera definitiva en los Diagramas     de Casos de Uso; sin embargo, deberá estar disponible en la “versión inicial” del     diagrama de casos de uso generado a partir del diagrama de procesos.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Diagrama de Casos de Uso se definieron nueve reglas, cuyo     listado se puede apreciar en la <a href="#fig05">Figura 5</a>.</font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig05"></a><img src="/img/revistas/dyna/v72n146/a08fig05.gif">    <br>   Figura       5.</b> Listado en AToM<sup>3</sup> de Reglas para la conversi&oacute;n         de Diagramas de Procesos en Diagrama de Casos de Uso.    ]]></body>
<body><![CDATA[<br>       <b>Figure 5.</b> List in AToM<sup>3</sup> of rules to change process diagrams   in use case diagrams.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El número que está ubicado a la derecha de cada regla corresponde a la prioridad     de ejecución de la misma.  Las reglas que inician con “delete” realizan la     eliminación de las entidades que no se van a utilizar en el diagrama de casos     de uso, tales como eventos, almacenes, condicionales, finales de procesos,     etiquetas, flujos y flujos de condicionales.  Para estas reglas, el lado     izquierdo de la regla (LHS) posee la imagen del elemento correspondiente,     mientras que el lado derecho (RHS) se encuentra vacío (esto le indica al     entorno que el elemento del LHS no aparecerá en el modelo resultante) porque     lo que se busca es que estos elementos no estén presentes en el diagrama     de casos de uso que se está   generando.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para la conversión   del Diagrama de Procesos en </font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las reglas que       comienzan con “change”, asociadas     con una prioridad de 8 y 9 respectivamente, realizan inicialmente el borrado     de los elementos actores y procesos, para luego realizar su construcción     en los equivalentes a actores y funciones (o procesos) del diagrama de casos     de uso.  Para estas reglas, el RHS también está vacío, ya que inicialmente     esos elementos deben ser borrados del diagrama resultante; su creación posterior     se realiza mediante un código Phyton que se coloca en la parte de “acciones” asociadas     con la regla.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Al seleccionar       la regla “ChangeActores” se activa la pantalla     que se muestra en la <a href="#fig06">Figura 6</a>, en la cual se muestran las propiedades que     hacen parte de una regla de transformación.</font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig06"></a><img src="/img/revistas/dyna/v72n146/a08fig06.gif">    <br>   Figura 6.</b> Propiedades       de la regla   “ChangeActores”.    <br>   <b>Figure 6.</b> Properties of the rule “ChangeActores”.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Al seleccionar       LHS en la <a href="#fig06">Figura 6</a> se puede apreciar la sintaxis correspondiente al lado       izquierdo de la regla (ver <a href="#fig07">Figura 7</a>), que incluye la palabra reservada &lt;ANY&gt; para significar que cualquier entidad del     tipo definido (con cualquier valor en la propiedad Nombre) que se encuentre     en el modelo activará la regla.</font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig07"></a><img src="/img/revistas/dyna/v72n146/a08fig07.gif">    ]]></body>
<body><![CDATA[<br>   Figura 7. </b> LHS       de la regla “ChangeActores”    <br>     <b>Figure 7.</b> LHS of     the rule “ChangeActores”.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El LHS de la       regla   “ChangeProcesos” es similar a la <a href="#fig07">Figura 7</a> pero en lugar de la imagen del actor   tiene la imagen del proceso.</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para que el       actor aparezca en el diagrama de Casos de Uso resultante, es necesario       definir una acción que cree ese actor con características     similares al que le dio origen en el diagrama de procesos, pero con el tipo     y características del diagrama de casos de uso.  El código Phyton correspondiente     a esta acción es el siguiente:</font></p>       <p><font size="2" face="Courier New, Courier, mono">from DiagramaCasosDeUso_MM import createNewcuProceso, createNewcuconnFlujo       <br>   n1 = self.getMatched( graphID, self.LHS.nodeWithLabel(1))     <br>   n2 = createNewcuProceso(atom3i,   n1.graphObject_.x, n1.graphObject_.y, 1)     <br>   n2.Nombre   = n1.Nombre     <br>   n2.Descripcion =n1.Descripcion     <br>   n2.graphObject_.ModifyAttribute(&quot;Nombre&quot;,   n2.Nombre.toString()) </font></p>      ]]></body>
<body><![CDATA[<p><font size="2" face="Courier New, Courier, mono">for name in n1.Actores.getValue():     <br>      for sem_objTo in atom3i.ASGroot.listNodes[&quot;cuActor&quot;]:     <br>           if   sem_objTo.Nombre.toString().upper() == name.toString().upper():     <br>                dx   = sem_objTo.graphObject_.x - n2.graphObject_.x     <br>                dy   = sem_objTo.graphObject_.y - n2.graphObject_.y     <br>                x   = n2.graphObject_.x + dx/2     <br>                y = n2.graphObject_.y   + dy/2     <br>                flujo = createNewcuconnFlujo(atom3i,   x, y, 1)     <br>                atom3i.drawConnections((sem_objTo,   flujo), (flujo, n2))     <br>                break </font></p>      ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con la aplicación de estas reglas no se obtienen todos     los elementos que hacen parte del diagrama de casos de uso, pero, por lo     menos, permiten tener un punto de partida que facilite la realización del     diagrama de casos de uso y que, adicionalmente, genere elementos que son     totalmente consistentes con aquellos definidos en el diagrama de procesos,     dado que se originaron a partir del mismo.</font></p>       <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>5.  APLICACIÓN DE       LA CONVERSIÓN A UN CASO DE EJEMPLO</b></font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#fig08">Figura       8</a> se presenta una parte del modelo de procesos de una empresa de Consultoría para la definición de encuestas     de satisfacción.  En este modelo se presentan dos actores (la secretaria     y el cliente) y los eventos, procesos, flujos y almacenamientos asociados     con sus funciones en relación con la organización.</font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig08"></a><img src="/img/revistas/dyna/v72n146/a08fig08.gif">    <br>   Figura         8. </b> Modelo del Diagrama de Procesos para una Empresa de Consultor&iacute;a         de Definici&oacute;n de Encuestas de Satisfacci&oacute;n (Parcial).    <br>     <b>Figure 8.</b> Process diagram model for a consultancy company of definition     of satisfaction surveys (Partial).</font></p>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Al aplicar las     reglas de transformación definidas     para la generación del diagrama de casos de uso a partir de este modelo se     obtiene la imagen de la <a href="#fig09">Figura 9</a>, la cual se constituye en un punto de partida     para la elaboración del diagrama de casos de uso completo para la organización.</font></p>       <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><a name="fig09"></a><img src="/img/revistas/dyna/v72n146/a08fig09.gif">    <br>   Figura         9. </b> Modelo del Diagrama de Casos de Uso generado a partir del diagrama         de procesos de la <a href="#fig08">Figura 8</a>.    <br>     <b>Figure 9.</b> Use case diagram model generated from figure 8 process diagram.</font></p>       ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como se puede     apreciar en la <a href="#fig02">Figura 2</a>, la entidad “Proceso” del     meta-modelo del Diagrama de procesos tiene asociada una propiedad que es “Actores” en     la cual se consigna una lista de los nombres de las instancias de la entidad “Actor”   que están asociados con ese proceso.  Esto se realizó debido a que no se     pudieron generar con el formalismo de AToM3 los “carriles” descritos para     el diagrama de procesos.  Con esta propiedad, una vez se han creado tanto     los actores como las funciones en el diagrama de casos de uso, la aplicación     de las regla “ChangeProcesos” genera las conexiones entre actores y funciones.</font></p>       <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>6. TRABAJOS   FUTUROS</b></font></p>   <ul>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> En       este artículo sólo se definieron algunas de las reglas que permiten la conversión       de los diagramas de procesos en diagramas de casos de uso.  Se podrían       definir posteriormente otras reglas que puedan asociarse con la consistencia       entre los modelos planteados.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Cuando       se realiza el modelamiento conceptual se utilizan otros modelos que podrían       generar información complementaria.  Por ejemplo, los diagramas de clases       y de los diagramas de colaboración presentan similitudes que son evidentes       y que también podrían manejarse como reglas para la transformación de los       primeros en los segundos.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> No       se maneja plenamente la consistencia con lo que se definió en este artículo,       ni siquiera entre los dos modelos que sirvieron de base para este trabajo.  Aquí se       empleó el diagrama de procesos para generar parte del diagrama de casos de       uso y no a la inversa.  Ello implica que, si al terminar la construcción       del caso de uso generado con la transformación definida se presentan cambios       radicales en el diagrama, esos cambios no se podrán reflejar mediante conversiones       en el diagrama de procesos que le dio origen.  Para el manejo de la consistencia       se podrían emplear los formalismos de los dos meta-modelos y verificar, mediante       algunas reglas definidas en gramáticas de grafos, la equivalencia entre       los elementos de uno y del otro que deban ser iguales.</font></li>       </ul>       <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>7. CONCLUSIONES</b></font></p>   <ul>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">  En       AToM<sup>3</sup> las gramáticas de grafos posibilitan la expresión de reglas       de conversión que se pueden utilizar entre diferentes tipos de modelos       conceptuales, dependiendo de sus similitudes.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Un       punto de partida para el manejo de la consistencia entre modelos pertenecientes       al mismo problema consiste en la reexpresión de las características de un       modelo en las características de otro.  En el caso de este artículo, las       similitudes entre el diagrama de procesos y el de casos de uso posibilitaron       la conversión del primero en la primera versión del segundo, con los consecuentes       beneficios para el proyecto como tal.</font></li>       </ul>       ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>REFERENCIAS</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000123&pid=S0012-7353200500020000800001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[2]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ATOM3.       MSDL – ATOM3. Página Web de la herramienta ATOM3. Available: <a href="http://atom3.cs.mcgill.ca/">http://atom3.cs.mcgill.ca/</a>.     [Citado 22 de Marzo de 2004]</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000124&pid=S0012-7353200500020000800002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[3]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">DE LARA, J., y VANGHELUWE, H.. AToM3: A tool for Multi-Formalism and Meta-Modelling. Proceedings of the Fifth Ingernational Conference on Fundamental Approaches to Software Engineering. Pp. 174-188. 2002.</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000125&pid=S0012-7353200500020000800003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[4]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">DE LARA, J., VANGHELUWE, H y ALFONSECA, M. Using Meta-Modelling and Graph-Grammars to Create Modelling Environments. Electronic Notes in Theoretical Computer Science, Vol. 72 No. 3. 2003.</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000126&pid=S0012-7353200500020000800004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[5]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">DOME. What is Dome. Available: <a href="http://www.htc.honeywell.com/dome/description.htm">http://www.htc.honeywell.com/dome/description.htm</a>. [Citado 22 de Marzo de 2004].</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000127&pid=S0012-7353200500020000800005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[6]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">HARRINGTON, H. J. Business Process Improvement: The Breakthrough Strategy for Total Quality, Productivity, and Competitiveness. McGraw-Hill. 1991.</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000128&pid=S0012-7353200500020000800006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[7]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">JACOBSON, I. et al. Object Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley. 1992.</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000129&pid=S0012-7353200500020000800007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[8]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LEDECZI A., MAROTI M., BAKAY A., KARSAI G., GARRETT J., THOMASON IV C., NORDSTROM G., SPRINKLE J. y VOLGYESI P. The Generic Modeling Environment. Proceedings of the Workshop on Intelligent Signal Processing, Budapest. 2001.</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000130&pid=S0012-7353200500020000800008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[9]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MAUDE. The Maude System. Stanford Research Institute. Available: <a href="http://maude.cs.uiuc.edu/">http://maude.cs.uiuc.edu/</a>. [Citado 22 de Marzo de 2004]</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000131&pid=S0012-7353200500020000800009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[10]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">OMG. OMG Unified Modeling Language Specification. Object Management Group. Available: <a href="http://www.omg.org/UML/">http://www.omg.org/UML/</a>. [Citado 22 de Marzo de 2004]</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000132&pid=S0012-7353200500020000800010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[11]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SPRINKLE J. Y KARSAI G. A Domain-Specific Visual Language For Domain Model Evolution. Journal of Visual Languages and Computing, vol. 15, no. 2. 2004.</font></td></tr> <tr><td align="right" valign=top><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000133&pid=S0012-7353200500020000800011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref -->[12]</b></font></td><td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">WARMER,       J., KLEPPE, A. The Object Constraint language: Getting your models ready     for MDA. Addison – Wesley. 2003.</font></td></tr> 	</table>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000134&pid=S0012-7353200500020000800012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ANDERSON]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[WENDELKEN]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<source><![CDATA[The Oracle® Designer/2000 Handbook]]></source>
<year>1996</year>
<publisher-name><![CDATA[Addison-Wesley.]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="">
<source><![CDATA[ATOM3. MSDL - ATOM3.]]></source>
<year>Cita</year>
<month>do</month>
<day> 2</day>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DE LARA]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[VANGHELUWE]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
</person-group>
<source><![CDATA[AToM3: A tool for Multi-Formalism and Meta-Modelling]]></source>
<year>2002</year>
<conf-name><![CDATA[ Proceedings of the Fifth Ingernational Conference on Fundamental Approaches to Software Engineering.]]></conf-name>
<conf-loc> </conf-loc>
<page-range>174-188</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DE LARA]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[VANGHELUWE]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[ALFONSECA]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Using Meta-Modelling and Graph-Grammars to Create Modelling Environments.]]></source>
<year>2003</year>
<volume>72</volume>
<edition>3</edition>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="">
<source><![CDATA[DOME. What is Dome. Available:]]></source>
<year>22 d</year>
<month>e </month>
<day>Ma</day>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HARRINGTON]]></surname>
<given-names><![CDATA[H. J.]]></given-names>
</name>
</person-group>
<source><![CDATA[Business Process Improvement:: The Breakthrough Strategy for Total Quality, Productivity, and Competitiveness]]></source>
<year>1991</year>
<publisher-name><![CDATA[McGraw-Hill.]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JACOBSON]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
</person-group>
<source><![CDATA[Object Oriented Software Engineering:: A Use Case Driven Approach.]]></source>
<year>1992</year>
<publisher-name><![CDATA[Addison-Wesley.]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LEDECZI]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[MAROTI]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[BAKAY]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[KARSAI]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[GARRETT]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[THOMASON IV]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[NORDSTROM]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[SPRINKLE]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[VOLGYESI]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<source><![CDATA[The Generic Modeling Environment. Proceedings of the Workshop on Intelligent Signal Processing,]]></source>
<year>2001</year>
<publisher-loc><![CDATA[Budapest ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="book">
<source><![CDATA[MAUDE. The Maude System]]></source>
<year>22 d</year>
<month>e </month>
<day>Ma</day>
<publisher-name><![CDATA[Stanford Research Institute]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="book">
<source><![CDATA[OMG. OMG Unified Modeling Language Specification.]]></source>
<year>22 d</year>
<month>e </month>
<day>Ma</day>
<publisher-name><![CDATA[Object Management Group]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SPRINKLE]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[KARSAI]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<source><![CDATA[A Domain-Specific Visual Language For Domain Model Evolution.]]></source>
<year>2004</year>
<volume>15</volume>
<edition>2</edition>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[WARMER]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[KLEPPE]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<source><![CDATA[The Object Constraint language:: Getting your models ready for MDA.]]></source>
<year>2003</year>
<publisher-name><![CDATA[Addison - Wesley]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
