5.3.1 Definición de los metamodelos empleados en …Capítulo 5. Método Propuesto 66 El metamodelo...
Transcript of 5.3.1 Definición de los metamodelos empleados en …Capítulo 5. Método Propuesto 66 El metamodelo...
Capítulo 5. Método Propuesto
64
• Creación de las reglas de borrado de los elementos del esquema preconceptual.
5.3.1 Definición de los metamodelos empleados en este trabajo.
El formalismo de modelado utilizado por defecto en AToM3® es el diagrama entidad-
relación; mediante este formalismo se definen los metamodelos del esquema preconceptual
y de los diagramas de clases y de secuencias estereotipados con orientación a aspectos, los
cuales se pueden detallar en las ilustraciones 43, 44 y 45.
Ilustración 43. Metamodelo del Esquema Preconceptual estereotipado con orientación a aspectos en
AToM3®.
Fuente: Programa AToM3 v0.2.2 Elaboración propia
Capítulo 5. Método Propuesto
65
Ilustración 44. Metamodelo del Diagrama de Clases estereotipado con orientación
a aspectos en AToM3®.
Fuente: Programa AToM3 v0.2.2 Elaboración propia
Ilustración 45. Metamodelo del Diagrama de Secuencias estereotipado con orientación a aspectos en
AToM3®.
Fuente: Programa AToM3® v0.2.2 Elaboración propia
Capítulo 5. Método Propuesto
66
El metamodelo del esquema preconceptual está compuesto de siete entidades y ocho
relaciones que conectan las entidades. Las entidades permiten representar los conceptos,
las relaciones estructurales y dinámicas, las notas, el condicional, el marco y las
restricciones. A cada una de las entidades se le puede asociar una representación gráfica
(ver Ilustración 46) y se le pueden aplicar las restricciones que se consideren; por ejemplo,
ELEMENTO REPRESENTACION GRAFICA
Concepto
Relación Estructural
Relación Dinámica
Relación entre triadas estructurales y
dinámicas
Nota
Condicional
Implicación
Relación Concepto-Nota
Marco
Restricciones
Ilustración 46. Representación gráfica de los elementos del esquema preconceptual utilizados en AToM3®
Fuente: Elaboración propia.
Capítulo 5. Método Propuesto
67
para las relaciones estructurales se define que solo acepten las palabras ES y TIENE, en
tanto que las relaciones dinámicas aceptan cualquier otro tipo de verbo (ver Ilustración 47).
Por otra parte, a las relaciones que conectan las entidades se les puede aplicar restricciones
de cardinalidad para permitir establecer el número de relaciones entrantes y salientes para
cada entidad.
Ilustración 47. Definición de restricción.
Fuente: Programa AToM3® v0.2.2
Para los metamodelos de los diagramas de clases y de secuencias estereotipados con
orientación a aspectos, se toman los que se definen en AToM3® y se adaptan incluyendo
los elementos que los estereotipan. Constan para el caso del diagrama de clases de
entidades y relaciones que conectan las entidades. La representación gráfica para estos
metamodelos se pueden observar en las Ilustraciones 48 y 49.
Capítulo 5. Método Propuesto
68
ELEMENTO REPRESENTACION GRAFICA
Actor
Línea de Vida
Start Point
Activation Box
Mensaje
Objeto
Nota Estereotipada
Estereotipado
Ilustración 48. Representación gráfica de los elementos del Diagrama de Secuencias utilizados en AToM3®
Fuente: Elaboración propia.
ELEMENTO REPRESENTACION GRAFICA
Clase
Nota
Herencia
Agregación
Asociación
Estereotipado
Ilustración 49. Representación gráfica de los elementos del Diagrama de Clases utilizados en AToM3® Fuente: Elaboración propia
Capítulo 5. Método Propuesto
69
5.3.2 Implementación de las reglas de aplicación o de transformación en
AToM3®.
Para realizar la transformación de los esquemas preconceptuales en los diagramas de clases
y de secuencias estereotipados con orientación a aspectos en AToM3®, se crea un ambiente
de trabajo que consta de un nombre de transformación, una secuencia de aplicación de las
reglas de transformación, las acciones inicial y final, tal como se muestra en la Ilustración
50.
Ilustración 50. Secuencia de aplicación de las reglas de transformación
Fuente: Programa AToM3® v0.2.2
La definición de los métodos personalizados utilizados en cada una de las reglas de
transformación, se incluye en la especificación de la acción inicial a ejecutar, la cual se
hace en código de Python. Por ejemplo, el algoritmo para definir los métodos de inclusión
de los elementos del diagrama de clases estereotipado con orientación a aspectos es:
Capítulo 5. Método Propuesto
70
def addClass(name, obj): self.rewritingSystem.Classes[name.upper()] = obj
def addCandidateClass(name, obj): self.rewritingSystem.CandidateClasses[name.upper()] =
obj
def addStereotypedClass(name, obj): self.rewritingSystem.StereotypedClasses[name.upper()]
= obj
def getAllClasses(): return self.rewritingSystem.Classes.values() +
self.rewritingSystem.CandidateClasses.values() +
self.rewritingSystem.StereotypedClasses.values()
def removeCandidateClass(name):
if self.rewritingSystem.existCandidateClass(name): del
self.rewritingSystem.CandidateClasses[name.upper()]
def removeClass(name):
if self.rewritingSystem.existClass(name): del self.rewritingSystem.Classes[name.upper()]
def countClass(name):
count = 0
if self.rewritingSystem.existClass(name): count = count + 1
if self.rewritingSystem.existCandidateClass(name): count = count + 1
if self.rewritingSystem.existStereotypedClass(name): count = count + 1
return count
Algoritmo 1. Definición de métodos para adicionar los elementos de metamodelos.
Fuente: Elaboración propia.
La totalidad de los algoritmos implementados para las acciones iniciales y finales de las
transformaciones de los metamodelos se presentan en el Anexo 1.
De otro lado, para la escritura de las reglas de transformación en AToM3®, se emplea la
Gramática de Grafos.
Una regla en AToM3® está compuesta de cuatro elementos:
• Un lado izquierdo (left-hand side o LHS) donde se definen en forma gráfica las
precondiciones necesarias para que se active una regla.
• Un lado derecho (right-hand side o RHS), el cual contiene el modelo o
representación gráfica que reemplazará el que se equipare el lado izquierdo de la
regla.
• Una o varias condiciones (Condition).
Capítulo 5. Método Propuesto
71
• Una o varias acciones (Action) que se ejecutan cuando la regla se active.
La Gramática de Grafos de AToM3® posee un mecanismo adicional que va reescribiendo
el modelo a medida que las diferentes reglas se van activando hasta que ya no haya reglas
que se puedan ejecutar (De Lara, 2003a). Lo anterior, sugiere que se ejecutan las reglas de
transformación en una secuencia que permite la creación de cada uno de los elementos
constitutivos de los diagramas de clases y de secuencias estereotipados con orientación a
aspectos en los modelos actuales. Además, se debe definir para cada regla una prioridad
por medio de un número, el cual indica el orden de aplicación de las reglas.
A manera de ejemplo, se presenta en la Ilustración 51 los elementos de la Gramática de
Grafos para la creación del elemento Línea de Vida del Diagrama de Secuencias
estereotipado con orientación a aspectos.
NOMBRE DEL
COMPONENTE
DEFINICIÓN DEL COMPONENTE
LHS:
Esta es la precondición que
se debe cumplir para que se
cree una nueva Línea dentro
del Diagrama de secuencias.
Para el gráfico de la derecha,
se establece que para una
relación dinámica que une
dos conceptos A y B, el
concepto B es una clase
candidata si B no es el
concepto destino de una
relación estructural de tipo
“tiene”.
Capítulo 5. Método Propuesto
72
RHS:
Despliegue de los elementos
que se equiparan con el lado
izquierdo de la regla. Para
este caso se genera la Línea
de Vida.
CONDITION:
Es la implementación en
código Phyton de las
precondiciones que permiten
activar la regla
correspondiente a la creación
de la Línea de Vida.
ACTION:
Es la implementación en
código Phyton de las
acciones que se ejecutan
cuando se activa la regla
correspondiente a la Línea
de Vida.
Ilustración 51. Elementos de la Gramática de Grafos en AToM3
Fuente: Programa AToM3® v0.2.2 Elaboración propia
La especificación de los elementos LHS, RHS, Condition y Action para las reglas
planteadas para esta Tesis, se presentan en el Anexo 2.
5.3.3 Creación de las reglas de borrado en AToM3®.
AToM3®
posee un mecanismo adicional que va reescribiendo el modelo a medida que las
diferentes reglas se van activando. Este proceso se debe ejecutar hasta que no haya reglas
Capítulo 5. Método Propuesto
73
que se puedan aplicar. Sin embargo, para esta transformación, en la aplicación de cada
regla los elementos del esquema preconceptual fueron copiados en el esquema destino,
debido a que sobre ellos se pueden aplicar varias reglas. Por lo tanto, como último paso
para la implementación de las reglas de transformación en AToM3®, se realizó la
implementación de reglas que permiten eliminar cada uno de los elementos del esquema
preconceptual. Además, estas reglas son necesarias puesto que en el proceso de
transformación, los tres metamodelos están activos en la herramienta y deben quedar al
final únicamente elementos de los diagramas de clases y de secuencias estereotipados con
orientación a aspectos. En el Anexo 3 se presenta la especificación de las reglas de borrado
para cada uno de los metamodelos.
74
6. RESULTADOS
En este capítulo se presenta un caso de laboratorio que ilustra el aporte metodológico de
esta Tesis.
6.1 Definición e identificación de los requisitos de Caso de Laboratorio
hipotético
Esta sección tiene como propósito presentar la definición de requisitos de un caso de
laboratorio con el ánimo de mostrar la aplicación de las heurísticas y las reglas de
transformación.
El enunciado del caso de laboratorio es el siguiente:
“En una compañía, el interesado reveló durante la entrevista alguna información básica
para la construcción de una aplicación de nómina. La información fue la siguiente: la
asistente de personal es la persona encargada de liquidar la nómina de la compañía; este
proceso no debería de tardar más de 15 minutos en total; el jefe de producción debe reportar
las novedades en la planta, mientras que el jefe de personal reporta las cuotas que el
trabajador paga para reducir el saldo de los préstamos y registra al trabajador”.
Capítulo 6.Resultados
75
6.2 Especificación del modelo verbal en lenguaje controlado UN-
LENCEP del caso de laboratorio.
La información del discurso del interesado plasmada en lenguaje controlado tendrá la
siguiente presentación:
Asistente de personal liquida nómina.
Jefe de producción reporta novedad.
Jefe de personal reporta cuota.
Préstamo tiene cuota.
Préstamo tiene saldo.
Trabajador tiene préstamo.
Trabajador tiene nómina.
Trabajador tiene novedad.
La propuesta de esta Tesis para representar en UN-LENCEP los marcos y las restricciones
es la siguiente:
La restricción “tiempo de liquidación < 15 minutos”
afecta el proceso
“Asistente de personal liquida nómina”.
Capítulo 6.Resultados
76
Así, el proceso que deba ser afectado por la restricción es el que debe aparecer dentro del
marco en el esquema preconceptual. Además, todos aquellos procesos que deban afectarse
por alguna restricción, deben ser colocados dentro del rectángulo que representa el marco,
con la nota respectiva.
6.3 Presentación del esquema preconceptual para el caso de laboratorio.
Con base en el modelo verbal de la sección anterior y la aplicación de los nuevos elementos
propuestos para los esquemas preconceptuales, se obtiene el Esquema Preconceptual para el
caso de estudio propuesto que se presenta en las Ilustraciones 52 y 53.
Ilustración 52. Apariencia del Esquema Preconceptual para el caso de estudio.
Fuente: Elaboración propia.
6.4 Resultados de la aplicación de las reglas de transformación al caso de
estudio.
Como resultado de la aplicación al caso de estudio de las reglas de transformación
propuestas en los apartes 5.2.1. y 5.2.2., se obtiene el diagramas de clases (Ilustración 54 y
55) y de secuencias (Ilustración 56 y 57) estereotipados con orientación a aspectos.
Capítulo 6.Resultados
77
Ilustración 53. Esquema Preconceptual para el caso de estudio.
Fuente: Programa AToM3® v0.2.2 Elaboración propia
Ilustración 54. Apariencia de salida del Diagrama de clases estereotipado con orientación a aspectos para el
caso de estudio.
Fuente: Elaboración propia.
Capítulo 6.Resultados
78
Ilustración 55. Salida del Diagrama de Clases estereotipado con orientación a aspectos para el caso de estudio.
Fuente: Programa AToM3® v0.2.2 Elaboración propia
Ilustración 56. Apariencia de salida del Diagrama de secuencias estereotipado con orientación a aspectos para
el caso de estudio.
Fuente: Elaboración propia
Capítulo 6.Resultados
79
Ilustración 57. Salida del Diagrama de Secuencias estereotipado con orientación a aspectos para el caso de
estudio.
Fuente: Programa AToM3® v0.2.2 Elaboración propia
6.5 Manual de Usuario.
En esta sección se pretende facilitar al posible usuario, el manejo del prototipo desarrollado
en AToM3® para la obtención automática de los diagramas de clases y de secuencias
estereotipado con orientación a aspectos a partir de una representación del modelo verbal
del discurso o dominio del interesado, los llamados Esquemas Preconceptuales.
6.5.1 Requisitos mínimos de hardware.
Para el funcionamiento adecuado y eficaz del prototipo, los requisitos mínimos de hardware
Capítulo 6.Resultados
80
son:
• Procesador de 600 MHz.
• Memoria RAM: como mínimo se deben poseer 256 MB
• Espacio en disco duro: 100 MB
6.5.2 Requisitos de software.
Los principales requisitos de software que se detectaron en el desarrollo del prototipo y que
deben ser de consideración del posible usuario son:
• Sistema operativo: Windows 2000 o Windows XP.
• Herramienta MetaCASE AToM3® versión 0.2.2.
• Intérprete de AToM3®: Python versión 3.2.
6.5.3 Instalación del Software.
Se necesita instalar el lenguaje de programación Phyton, antes de ser instalado el AToM3®
puesto que esta herramienta está desarrollada en este lenguaje. Para llevar a cabo este
proceso se deben realizar los siguientes pasos:
• Descargar del sitio web http://atom3.cs.mcgill.ca/ el archivo comprimido que
contiene la versión de AToM3®.
Capítulo 6.Resultados
81
• Ubicar el archivo en la carpeta que el usuario desee. Para efectos de organización
de las estaciones de trabajo, se sugiere que sea en la carpeta c:\Archivos de
Programa
• Se debe proceder a descomprimir el archivo Atom3 v0.2.zip
• Seguir las indicaciones de instalación que sugiere el programa de instalación de
acuerdo con la arquitectura que se posea.
6.5.4 Funcionamiento del Software y del Prototipo.
En la carpeta en la cual se hizo la instalación, se instancia el archivo atom3.py. El
computador después de unos momentos despliega una ventana en la cual se permite la
visualización del formalismo principal de esta herramienta: El Diagrama Entidad-Relación.
6.5.4.1. Cerrar el formalismo.
Para iniciar con el proceso de edición del esquema preconceptual que se desee transformar,
se debe cerrar el formalismo del Diagrama Entidad-Relación, que es el que se encuentra
abierto por defecto, o cualquier otro formalismo que se tenga abierto, si es del caso. Para
ello se debe ejecutar las siguientes acciones:
• Haga <click> sobre las opciones File – Close Metamodel (Ver ilustración 58).
• Aparece un cuadro de diálogo que permite identificar cuáles Metamodelos se
encuentran activos. Se procede a seleccionar el o los que se desee cerrar.
• Se presiona el botón <delete>
Capítulo 6.Resultados
82
• Haga <click> sobre el botón <OK> si se desea cerrar el Metamodelo, o el botón
<Cancel> si se desea cancelar la operación de cierre de cualquiera de los
metamodelos presentados (Ver ilustración 59).
Ilustración 58. Procesos iniciales de cierre de formalismo
Fuente: Programa AToM3 v0.2.2
Capítulo 6.Resultados
83
Ilustración 59. Procesos finales para cierre de formalismos
Fuente: Programa AToM3 v0.2.2
Ilustración 60. Procesos para instanciar el formalismo Esquema Preconceptual
Fuente: Programa AToM3 v0.2.2