Está en la página 1de 7

2009 Primera Conferencia Internacional sobre Inteligencia, Sistemas y Redes de Comunicacin

Computacional

Modelos y Transformaciones en MDA


Yashwant Singh1 y Manu Sood2
1

Jaypee Universidad de Tecnologa de la Informacin, Waknaghat, Solan, Himachal Pradesh, India


2

Universidad Himachal Pradesh, Shimla, Himachal Pradesh, India


{Yashu_want, soodm_67}@yahoo.com
(PIM) es el modelo que es vertical a un muy alto nivel de
Abstracto
abstraccin. MDA tambin soporta Plataforma modelo
especfico (PSM) que contiene informacin de aplicacin
Model Driven Architecture (MDA) es un enfoque de
suficiente para ser utilizado para convertirlo en particular,
diseo de software iniciado por OMG. Modelos, Modelando,
cdigos fuente ejecutables. Cuando una nueva tecnologa de
y Model Driven Architecture son la base de un conjunto de
aplicacin est disponible, no es necesario disear de nuevo
enfoques de desarrollo de software conocidas como el
un sistema completamente nuevo con funcionalidades
desarrollo dirigido por modelos (MDD). Los modelos son los
similares, ya que los modelos existentes y los
artefactos centrales en MDA, cuyo objetivo es la
correspondientes horizontal y / o reglas transformaciones
transformacin de la plataforma independiente para los
verticales pueden ser reutilizados. De ah que la MDA no slo
modelos dependientes de la plataforma, y, finalmente, al
acorta el ciclo de vida de desarrollo de software, sino tambin
cdigo fuente ejecutable. Por lo tanto, la transformacin del
mejora la legibilidad del sistema para sus grupos de inters, ya
modelo juega un papel clave en la toma de MDA xito. La
que pueden ver el diseo del sistema compuesto por modelos
aplicacin efectiva del enfoque de desarrollo de software
en vez de los lenguajes de programacin especficos en una
basado en MDA se suscribe a la ejecucin automatizada de
perspectiva (tcnica) de altura.
transformaciones de modelos de software. Este artculo se
En un nivel de abstraccin, los modelos, los componentes
resaltan diversas clasificaciones y caractersticas ms
bsicos de MDA denotan conceptualizacin del mundo real
destacadas de la transformacin del modelo prominente
y el cdigo fuente en el otro representa la ejecucin real del
enfoques para transformar PIM a PSM y proporciona una
diseo. Las transformaciones de la MDA se utilizan para
penetracin en el proceso de transformacin completa con la
transformar un diseo visual resumen en forma de modelo
ayuda de un ejemplo de la vida real. Tambin se ofrece un
(s) a los idiomas de programacin detalladas textual con la
resumen de las reglas de transformacin de modelo de clase
ayuda de tecnologas de apoyo como marcas, cartografa,
UML en modelo especfico EJB.
etc., sin hacer ningn tipo de compromiso con la coherencia
de vida de desarrollo de software / sistema ciclo [2].
Palabras clave: Modelo, Modelo Impulsados Arquitectura,
Muchos enfoques y herramientas para transformaciones
Transformacin,
Plataforma
Modelo
independiente,
a) a partir de modelos de cdigos fuente y b) entre los
Plataforma modelo especfico.
modelos con diferentes niveles de abstraccin se encuentran
disponibles en la literatura. Este artculo resume algunos de
estos enfoques destacados de transformacin. Un ejemplo
1. Introduccin
adecuado tambin se ha elaborado para ilustrar
Los desarrolladores de software estn bajo una tremenda
adicionalmente
un
concepto
generalizado
de
presin para mantener un delicado equilibrio entre la calidad,
transformaciones
de
modelos.
El
resto
de
este
artculo
est
la longevidad y el coste de produccin de sistemas de software
organizado de la siguiente manera: en la seccin II introduce
empresarial centrado. Los enfoques actuales para el desarrollo
MDA, modelos y metamodelos. Seccin III se refiere a las
de software no son suficientes para resolver los problemas
marcas, mapeos y transformaciones. Seccin IV ilustra los
como los efectos de las tecnologas cambiantes, mltiples
conceptos de CIM, PIM y PSM con la ayuda de un ejemplo.
entornos de plataforma, la interoperabilidad, capacidad de
Seccin V presenta la conclusin.
servicio, los frecuentes cambios en los requisitos, etc. en los
productos de software [1].
Se propuso enfoque MDA para el desarrollo de software y
est siendo perseguido para abordar estas cuestiones con xito
con la ayuda de los conceptos de separacin de
preocupaciones a travs de los modelos a nivel vertical y
horizontal de las abstracciones y las transformaciones de
modelos correspondientes. Plataforma Modelo Independiente
978-0-7695-3743-6 / 09 $ 25.00 2009IEEE
DOI 10.1109 / CICSYN.2009.52

2. MDA y Modelos
2.1 MDA
El MDA es una nueva forma de especificaciones de
escritura, basado en un modelo independiente de la
plataforma. Una especificacin completa MDA consiste en
253

un modelo UML de base independiente de la plataforma


definitiva, ms uno o ms modelos especficos de la
plataforma y los conjuntos de definicin de interfaz, cada
uno que describe cmo se implementa el modelo de base en
una plataforma diferente. El MDA se centra principalmente
en la funcionalidad y el comportamiento de una aplicacin o
sistema distribuido, no la tecnologa en la que se va a
aplicar. Considera detalles de implementacin y funciones
de negocios en dos niveles diferentes. Por lo tanto, no es
necesario repetir el proceso de modelado de una aplicacin
o la funcionalidad del sistema y el comportamiento cada vez
que una nueva tecnologa (por ejemplo, XML / SOAP)
viene junto. Con MDA, la funcionalidad y el
comportamiento se modelan una vez y slo una vez. Mapeo
de las plataformas soportadas MDA ser implementado por
herramientas, facilitando la tarea de apoyar las tecnologas
nuevas o diferentes [3].

codificar mientras transformaciones horizontales pueden


incluir la transformacin de un PSM PSM en otro basado en
tecnologas de aplicacin [6,7].

3.1 Asignaciones
Mapeo de un modelo a otro modelo, en general, se
describen las especificaciones y reglas de transformacin. En
referencia especfica a MDA, un mapeo es una especificacin,
incluyendo las reglas y otra informacin, para la
transformacin de un PIM para producir un PSM para una
plataforma especfica (por favor, vase la figura 1) [8].
Definicin Transformacin
Fuente Modelo
(PIM)
Herramienta de
transformacin

Figura 1. Modelo de Transformacin

2.2 Modelos

3.2 Marcas

Modelo es una descripcin de un sistema en un lenguaje


bien definido. Un lenguaje bien definido es un lenguaje con la
sintaxis y la semntica bien definida, que es adecuado para la
interpretacin automatizada por un ordenador [4]. Los
modelos pueden ser transformadas entre los diferentes niveles.

Las marcas se definen por asignaciones instancia de


modelo. Las marcas se aplican a un elemento de la PIM que
representa un concepto en el PSM, para indicar cmo ese
elemento debe ser transformado.
Las marcas son parte de PSM [8].

2.3 Metamodelos en General

3.3 Enfoques Modelo de Transformacin

Un metamodelo es un tipo especial de modelo que


especifica la sintaxis abstracta de un lenguaje de modelado. Se
puede entender como la representacin de la clase de todos los
modelos expresados en ese idioma. Un metamodelos define
un lenguaje para especificar modelos y un modelo es un
ejemplo de metamodelo en un dominio. Metametamodel,
metamodelo, el modelo y los datos del usuario formar una
arquitectura de 4 capas [5] como se muestra en la tabla I.

Muchos enfoques y herramientas de transformacin de


modelo se han desarrollado por los investigadores. Diversas
clasificaciones se han propuesto desde diferentes perspectivas.
Un conjunto de criterios, sobre la base de necesidades de los
usuarios, se ha propuesto como directrices para la taxonoma
de transformacin de modelos con la intencin de ayudar a los
desarrolladores elegir enfoques adecuados en [9]. Para
clasificar los enfoques de transformacin de modelo
existentes, un modelo de funcin se ha propuesto en [10]. A
medida integral basado tres, marcos de clasificacin
dimensionales para comparar y encontrar las fortalezas y
debilidades de los enfoques de transformacin existentes ha
sido proporcionadas por Prakash et al en [11]. Zhao et al en
[12] han integrado las ventajas de los mtodos de clasificacin
anteriores y clasificado transformacin modelo existente se
acerca a lo largo de los siguientes cuatro dimensiones:

TABLA I. Una arquitectura metamodelado cuatro capas


Capa de
Modelado

Ejemplo

Metametamodel

Clase, objeto, atributo, Generacin

Metamodel

Clase, objeto, atributo, Generacin

Modelo

Estudiante {SSN, nombre, curso,


grado}

Los datos del


usuario

Modelo Transformado
(PSM)

Clase Estudiante {Pblica Nombre de


la cadena; Pblico
SSN Integer;
Curso de Cuerdas Pblica;
Pblica Grado Char;}

3.3.1 El formalismo Enfoque Basado Transformacin


Teniendo en cuenta los conceptos subyacentes de
formalismo en los enfoques de transformacin, este enfoque
actualmente se ha propuesto para las especificaciones de
transformaciones de modelos e incluye la transformacin
grfica y enfoques relacionales. Los grficos y las
transformaciones del grfico tienen sus races tericamente
bien fundadas y son apoyados por la manipulacin basado en
normas de los modelos de grafos [13,14]. El enfoque
relacional para modelar la transformacin por un lado est
bien desarrollada y algunas normas han sido desarrolladas por
el OMG para la transicin automtica entre los modelos en
diferentes niveles de abstraccin y de permitir el intercambio
estndar entre los modelos.

3. Transformacin Modelo en MDA


En general, la transformacin modelo es un proceso de
conversin de un tipo de modelo o de una instancia de modelo
en otro modelo con la ayuda de algunas reglas de
transformacin predefinidos. El proceso puede ser aplicado a
cualquiera de transformaciones horizontales o verticales. Pero
en referencia a MDA, una transformacin modelo es un
proceso de conversin de un PIM, junto con otra informacin,
en un PSM. Ejemplos de transformaciones verticales pueden
incluir transformacin de CIM para PIM o PIM a PSM PSM o
254

3.3.2

Aplicacin
Dominio
Basado
Enfoque de transformacin
Algunas transformaciones se aplican a algunos fines de
aplicacin especiales, mientras que otros pueden servir para
mltiples dominios. Por lo tanto dominio de aplicacin
tambin forma la base para la clasificacin de los enfoques de
transformacin. Como es el caso con FUJABA (De UML para
Java y viceversa), que tiene por objeto y se esfuerza por lograr
la conversin de diagramas UML a cdigos estndar de
cdigo de Java y viceversa, el proceso a su vez conoce como
ingeniera de ida y vuelta [14 ]. Lenguajes grficos y textuales
han sido utilizados en PROGRESS (programado sistema de
reescritura Grfico) para llevar a cabo las estructuras grfico
adscritos y transformaciones grfico [15]. AGG (atribuido
Graph Gramtica) soportado por enfoque algebraico de la
transformacin grfica, especifica el grfico de sistema de
reescritura sobre la base de entorno visual y reglas. [16]. Un
control preciso sobre la transformacin se ha logrado en gran
(Grfico reescritura y Transformacin) sobre la base de la
secuencia explcita de reglas y lenguajes de flujo de control de
alto nivel [17,18]. CheckVML (Herramienta para el control
visual de modelado Idiomas) [19] y VIATRA (VIsual modelo
de transformacin automatizada) [20] se utilizan para la
verificacin formal de la transformacin de modelos.

y no existe un algoritmo para su ejecucin automtica,


entonces se llama definicin transformacin de modelos
(vase la figura 1).

4. Ejemplo de Transicin Transformacin de PIM


a EJB modelo especfico (PSM)
Los conceptos de los tres modelos de software de proceso
del ciclo de vida de desarrollo MDA se pueden ilustrar con la
ayuda de un ejemplo de sistema del Mdico Actividad (PAS)
[24]. El PAS se utiliza para gestionar las actividades
relacionadas con la verificacin de los pacientes, el
tratamiento de los pacientes y la gestin de las transacciones
financieras involucradas.

4.1 Computacin modelo independiente


Para capturar los requisitos de este ejemplo PAS en un
modelo correspondiente a la CIM, desarrollador de software
MDA debe primero entender tanto su organizacin
empresarial y los requisitos especficos. Desde un CIM refleja
el dominio sin referencia a una implementacin del sistema o
tecnologa, seguira siendo el mismo incluso si el sistema se
implementara mecnicamente, en lugar de en los programas
informticos [8,9]. Despus de entrevistar a los actores
principales de la PAS y la comprensin de sus necesidades de
negocio, un desarrollador de software de la plataforma
especifica las siguientes actividades que pueden ocurrir en el
debido tiempo de trabajo de PAS:
1. El asistente o bien crea un nuevo archivo de paciente (para
nuevos pacientes) o abre un archivo existente (para
pacientes que ya estn registrados con PAS) que tome nota
de la informacin detallada del paciente entrante y enva al
paciente al mdico para chequeo inicial.
2. El mdico o el mdico prepara la receta mencionar pruebas
y medicamentos, si los hay, y; procedimiento de
tratamiento.
3. Si se recetan algunas pruebas auxiliar enva el paciente al
tcnico de laboratorio para estas pruebas.
4. El tcnico de laboratorio realiza las pruebas prescritas en el
paciente y despus de la grabacin de la informacin de
todas estas pruebas enva al paciente al mdico de nuevo.
5. El doctor examina los resultados de todas las pruebas y
prescribe el tratamiento para el paciente.
6. El asistente genera el proyecto de ley para el paciente que
incluye los honorarios de consulta, y las pruebas y los
cargos de la medicina, en su caso.
7. El paciente despeja el proyecto de ley al hacer el pago y

3.3.3 Compatibilidad con idiomas de transformacin en base


Enfoque
Modelizacin de idiomas y entorno de soporte tambin
formar una base para la clasificacin de los enfoques de
transformacin, como las normas de UML y MOF de medio
ambiente de OMG y metamodelling de GME (Genrico
Modelado Medio Ambiente) [19], STVM (Visual Modelado y
Transformacin del sistema) [21], que se utilizan ampliamente
[22].
TABLA II. TRANSFORMACIONES NIVEL MODELADO BASADO
Nivel de
modelado

Sistema / Idioma

Metametamodel

MOF

Metamodel

GME, grande, VIATRA

Modelo

UML, CheckVML, FUJABA,


AGG, PROGRESS

3.3.4 Modelado Nivel Transformacin enfoque basado en los


enfoques de transformacin de modelos y lenguajes de
modelado se pueden clasificar de acuerdo a los niveles de
modelo [23], como se muestra en la Tabla II.

3.4 Papel de Transformacin Modelo en MDA


Dos modelos PIM y PSM describen el mismo sistema en
gran parte de manera comn en MDA. Para obtener una PSM
de un PIM, diferentes artefactos del sistema se asignan a partir
de un modelo a otro. Por lo tanto, es necesario formular un
conjunto de criterios de transformacin que permite la
conversin de un modelo de fuente por ejemplo, PIM
representa una vista del sistema en el modelo de destino por
ejemplo, PSM que representa otra vista del sistema. Si la
transformacin del modelo se describe en un lenguaje formal
255

se aleja.

E XAMINPaciente
E
Medicina Prescribir
Paciente va a la clnica para
chequeo
[Hora de la cita

[ No Hora de la cita

dada]

Mdico

dada]

Analizar Tinforme est


s
TomarL OMBRAMIE
a NTO
Medicina Compra

Realizar Test

Labor
Tcnico
atorio

Visita Mdico
Visita otra
da

LlenInformacin sobre la
ar muestra
EntrarTest s para realizado
ser
RecogerMuestras para Pruebas

Crear archivos de
pacientes
Introduzca los detalles del
paciente
Generar Ben
fer

El doctor examina al paciente


[El paciente requiere
nica medicina]

Prescribir Tinter
eses
PrepararDiagnstico

<< ampliar >>

[Pocas pruebas de la
paciente a hacerse]

PagaBen
r
fer

Paciente

<<incluir >>
La entrada de base
de datos
Acepte el pago

Asistente

Figura 3. Diagrama de casos de PAS.


Prescribir
Medicina

Enviar paciente
Asistente para
Medicina

Marcas de
el
pago a
Pacientes
asistente

Prescribir
Prue
ba

4.2 Plataforma Modelo Independiente


El PIM no incluye detalles especficos de la plataforma;
que capta los conceptos clave del dominio. El objetivo
principal de la PIM es crear el concepto abstracto del sistema
usando el vocabulario del dominio medida de lo posible. Un
desarrollador de software puede representar este concepto a
travs de modelos en diferentes lenguajes de modelado. PIM
exige una representacin general de capturar la semntica de
muchos dominios diferentes, que tambin deben ser lo
suficientemente precisos para apoyar la transformacin en
cdigo objeto. Como un estndar OMG, MDA utiliza los
modelos UML como su representacin ncleo. La figura 2
muestra el diagrama de clases UML que es independiente de
cualquier plataforma.
Las caractersticas clave de PIM son los siguientes
[4,7,9,10]:
1. Alto nivel de abstraccin que es independiente de cualquier
tecnologa de aplicacin.
2. Describe un sistema de software que soporta algunos
negocios y se especifica mediante xUML.
3. Sistema se modela desde el punto de vista de la forma en
que mejor soporta el negocio.
4. Describe el comportamiento del sistema, independiente de
las tecnologas de la informtica y de entorno de ejecucin.
5. PIM pueden ser reutilizados en mltiples plataformas.

Lab.
Realizar
Tecnologa.
Ensayo prescrito
Haga Informe
prueb
as
Enviar informe
mdico

Figura 2. Diagrama de Actividad de PAS (A parte de CIM).

Como parte de la CIM, la figura 2 muestra el diagrama de


actividad de PAS y la figura 3 muestra el diagrama de casos
de uso UML de PAS. Los usuarios o actores del sistema y sus
caractersticas son las siguientes:
1. Doctor es una persona que examina al paciente, prescribe la
prueba y la medicina para los pacientes; y prepara el
diagnstico.
2. Tcnico de laboratorio que es una persona que es
responsable de: a) la realizacin de pruebas mdicas sobre
los pacientes, y b) la preparacin de los informes de
pruebas.
3. Assistant es una persona que es responsable de: a) entrar en
los detalles del paciente, b) la generacin de proyectos de
ley para la consulta de pago, los gastos de las pruebas y los
cargos de la medicina, y c) La aceptacin de pagos de los
pacientes.
4. El paciente es una persona que visita al mdico para el
tratamiento mdico de una dolencia.
Despus de la captura de los requisitos de la CIM, el
siguiente paso en el proceso es para generar el modelo
independiente de la plataforma.

4.3 Plataforma Modelo especfico


Las caractersticas clave de PSM son los siguientes
[7,9,10]:
1. Especifica cmo se realiza la funcionalidad en un PIM en
una plataforma de computacin.
2. Derivado de la PIM aadiendo atributos especficos de la
plataforma a los componentes estndar.
3. Comn a tener mltiples PSMs con un solo PIM.
Una vez que el PSM se ha generado, el siguiente paso en el
proceso de desarrollo de software est generando el cdigo de
PSM y la implementacin del sistema en el entorno
especfico. Puede ser deseable para apoyar varios
configuracin de despliegue por ejemplo diferente
implementacin, prueba y produccin de cada uno con su
propia especificacin de las vas de acceso de base de datos,
autenticacin, autorizacin y mecanismos de registro. Varios
256

++ Prepare_tests_report () enter_sample_number () + Prepare_test_repo ()

factores clave involucrados mientras se desplazan de PSM


para codificar y despliegue son las siguientes [7,9,10]:
1. Generacin de un modelo de objetos.
2. Modelo repositorio que contiene toda la informacin
requerida para producir un tiempo de ejecucin de la
plataforma.
3. Traduccin de abstracciones en los modelos a
implementaciones especficas con la ayuda de los
compiladores de modelos.
4. PSM es cdigo ejecutable que se ejecuta en la arquitectura
objetivo.

+ Collect_payment ()

Figura 4. Modelo de Plataforma Independiente para PAS.

4.4 Definicin Transformacin

Vamos a considerar el uso de transformacin de modelos


en un ejemplo de una tarea prctica de transicin
automatizada entre un PIM basado en diagramas de clases
UML y un modelo dependiente de la plataforma en EJB que
surge en la tecnologa MDA [25]. El modelo de clase UML se
Mdico
describe en la figura 4, y el modelo especfico EJB se presenta
-Nombre
en la figura 5.
-Direccin
La tabla III presenta la correspondencia entre elementos de
--Phone_Number EMAIL_ADDRESS
Paciente
estos
modelos. Tenga en cuenta que este mapeo presenta un
- + Checkup_of_patient Room_Number ()
ejemplo simplificado; ms completa cartografa y la
definicin
de
Mdico
-name.java.lang.string
transformacin
se
-address.java.lang.string
utilizan [26].
-phone.java.lang.string
-email.java.lang.string
Sobre la base de
-roomNum.java.lang.string
esta
descripcin,
+ CheckPatient (): java.util.List
podemos definir la
+ WritePrescription (): java.lang.String ()
+ AppointAssistant (): java.lang.String ()
transicin entre los
+ AppointLabTechnician (): java.lang.strin
LabTechnician
modelos utilizando la
-name.java.lang.string
Paciente
transformacin. Los
-address.java.lang.string
dos
modelos
-name.java.lang.string
participarn en la
-address.java.lang.string
Asistente
-phone.java.lang.string
transformacin: un
-phone.java.lang.string
-name.java.lang.string
-email.java.lang.string
modelo de fuente
-email.java.lang.string
-address.java.lang.string
-roomNum.java.lang.string
-problem.java.lang.string
PIM y el modelo de
phone.java.lang.string + testPreparation (): void
destino
PSM.
-allergies.java.lang.string -email.java.lang.string
+ TakeSample (); java.util.List -patietHistory.java.lang.string
Definicin
roomNum.java.lang.string
performTestOnSample + (+):cita (): void
+ enterPatientDetails ():
Transformacin
void
java.util.List + submitPersonalDetails ():
+ EnterTestsPrescribed (): + PrepareTestsReport ():
contendr
un bloque
java.util.List
java.util.List: int ()
java.util.List
relacional como se
+ payBill (): doble ()
+ EnterSampleInfo (): java.util.List
muestra en la figura
+ CollectReport (): java.util.List
+ PrepareTestsReport (): java.util.List
1.
+ PurchaseMedicine ()
+ CollectPayment (): doble ()
La primera regla
+ AllergiesRecord (): java.util.List
de los mapas de
todas las clases del
modelo de cdigo en
Figura 5. Plataforma Modelo especfico en EJB para PAS
clases de modelo de
- Nombre
+ Write_prescription () Direccin
+
java. Desde modelo de objetos UML implica singularidad de
Appoint_assistant () -Phone_Number + Appoint_lab_tech ()
cada modelo de objetos y EJB seguir esa singularidad.
-direccin De correo electrnico
-Nombre
El siguiente cdigo de java muestra las clases referenciadas
Del tcnico de laboratorio
desde el modelo de clase UML.
-problema
-Known_Allergies
Doctor en clase; Paciente clase; Asistente de clase; clase
-Direccin
LabTech;
-Problem_History
Asistente
clase doctor {name.java.lang.String;
- Nmero
++ Take_appointment () fill_the_form ()
-Nombre Direccin address.java.lang.String;
de telfono
Email_ID
email.java.lang.String;
roomNo.java.lang.String;
+ Pay_bill ()
--Phone_Number Email_ID - + Test_preparation Room_Number ()
phoneNumber.java.lang.String; Paciente
+ Collect_report ()
P []; Adjunto a; LabTech l;} {clase
+ Take_sample ()
+ Purchase_medicine ()
-Room_Number
Paciente
name.java.lang.String;
+ Allergies_record ()
++ Enter_detail_of_patient () enter_tests_prescribed ()
address.java.lang.String;
+
perform_test_on_
email.java.lang.String;
muestra ()
+ Patient_history_rec ()
257

mapas a miembros de datos de clase EJB. Tipos de datos


UML se asignan a los tipos de datos bsicos de java.

roomNo.java.lang.String;
phoneNumber.java.lang.String;
problemHistory.java.lang.String;
Mdico d; Adjunto a; LabTech l;}
Asistente
clase
{name.java.lang.String;
address.java.lang.String;
email.java.lang.String;
roomNo.java.lang.String;
phoneNumber.java.lang.String;
Paciente P []; Mdico d; LabTech l;}
clase
LabTech
{name.java.lang.String;
address.java.lang.String;
email.java.lang.String;
roomNo.java.lang.String;
phoneNumber.java.lang.String;
Paciente P []; Adjunto a; Mdico d;}
Definamos ahora el mapeo de los atributos de la clase
UML. Atributos de los tipos de datos bsicos se asignarn a
los miembros de datos de clase Java, pero aqu se aadir
miembro extra, por ejemplo, como se muestra en la figura 6
doctor est relacionada con el paciente

4.5 Reglas de transformacin


Siguientes puntos describen las reglas / asignaciones de
modelos de clase UML forman transformacin EJB
modelos especficos [27].
Para cada clase PIM en UML, se genera una clase de
clave EJB.
Cada clase PIM en UML que no es una pieza de material
compuesto de otra clase PIM se transforma en un
componente EJB y un esquema de datos EJB.
Cada clase PIM se transforma en una clase de datos EJB
que reside en un esquema de datos EJB que se genera a
partir de la
Clase PIM que es la composicin ms externa de la
clase PIM transformado.
Cada operacin de PIM se transforma en una operacin
EJB del componente EJB generado que se genera a partir
de la clase PIM que es la ms exterior
Cada asociacin PIM en el modelo UML se transforma en
una asociacin EJB dentro de un esquema de datos EJB
que se genera a partir de la clase PIM que es la ms
exterior composicin de la asociacin PIM transformado.
Cada clase de asociacin PIM se transforma en dos
asociaciones EJB y una clase de datos EJB.
Cada atributo PIM de una clase en UML se transforma en
un atributo EJB de la clase de datos EJB asignada.

Mdico

1... *
Paciente

Asistente

0... *

5. Conclusin

LabTechnician

0... *

MDA, basado en Model Driven enfoque de ingeniera para


el desarrollo de software es relativamente un nuevo y
extremadamente rpido desarrollo metodologa. Este
documento ofrece una visin general de los diversos modelos
estructurales (CIM, PIM y PSM) en el marco del enfoque
MDA, as como las reglas de transicin de PIM a PSM que
describen diversas formas de transformaciones y sus
clasificaciones disponibles en la literatura. Para el proceso de
desarrollo de software con MDA para ser realmente eficaz, es
necesario contar con tcnicas claramente definidas para la
definicin y ejecucin de transformaciones de modelos
automatizados. Este proceso de transformacin se ha ilustrado
a travs de un ejemplo real de transformacin de PIM a PSM
EJB destacando las asignaciones y reglas de transformacin
de la misma. La ilustracin lleva a la conclusin de que es
posible generar un cdigo ejecutable dependiente tecnologa /
plataforma de la PIM automticamente utilizando los
conceptos de MDA y que MDA puede manejar de manera
eficiente a los desafos de las tecnologas cambiantes,
mltiples entornos de plataforma, interoperabilidad etc
reutilizacin de los modelos.

Figura 6 Relaciones entre las diferentes clases.


TABLA III: EJEMPLO DE ASIGNACIN ENTRE ELEMENTOS
DE CLASE UML MODELO Y EJB MODELO

Elementos del Modelo de Clases


UML

EJB Modelo Elemento

UML Class

EJB Clase

Los atributos de clase de tipo de datos


bsico

Miembros de datos de
EJB
Clase

Atributo cuyo tipo es uno de los


Clases del modelo

Referencia a la clase

Tipo bsico de datos UML

Tipo de datos java bsico

en 1 a muchos relacin que significa que muchos pacientes


puede com en mdico, por tanto, uno de los miembros de
datos en el doctor categora debern ser gama de
referencias a la clase de pacientes. No es de 1 a 1 entre el
mdico y el asistente y el doctor y LabTech. As que dos
miembros adicionales sern referencias a la clase Asistente
y referencias a la clase LabTech. Del mismo modo para
otras tres clases. Atributos simples de clase UML son

Referencias
[1] D. S. Frankel, The Model Driven Architecture. La aplicacin de
MDA a Enterprise Computing. OMG Press, 2003.

258

[2] C. Zhao y Zhang K., "Enfoques transformacionales para Model


Driven Arquitectura- Una revisin", Proc. 31 de IEEE Software
Engineering Workshop, Washigton, DC, EE.UU., pp.67-74,
2007.
[3] S. S. Alhir, "Descripcin de la Model Driven Architecture
(MDA),
"http://www.methodsandtools.com/archive/archive.php?id=5,
2003.
[4] Y. Liu y Y. Ma, "Un enfoque para la transformacin de modelos
MDA basado en la plataforma JEE," conferencia internacional
cuarto WICOM, 12 a 14 septiembre 2008
[5] www.omg.com/mda
[6] A Meservy y KD FENSTERMACHER, "Transformacin de
desarrollo de software: Un MDA Hoja de Ruta", IEEE
Computer, vol. 38 no. 9, pp.52-58, 2005.
[7] S. Sendall, R. Hauser, J. Koehler, J. Kuster y M. Wahler,
"Entendiendo Modelo de Transformacin de Clasificacin y
Formalizacin", Proc. De Taller sobre sistemas de
transformacin de Software, Vancouver, Canad, 24 de octubre
de 2004.
[8] J. Mukerji y J. Miller, "Gua MDA versin 1.01,"
http://www.omg.org/docs/omg/03-06-01.pdf, 12 de junio 2003.
[9] T. Mens, K. Czarnecki y P.V. Gorp, "Un Texonomy de Modelo
Transformaciones", Proc. del Taller internacional sobre Graph y
Modelo de Transformacin (GraMoT), 2005.
[10] K. Czarnecki y S.Helsen, "Clasificacin de modelo de
transformacin de Enfoques", Proc. del segundo Taller sobre
Tcnicas OOPSLA generativos en el contexto de la Model
Driven Architecture, 2003.
[11] N. Prakash, S. Srivastava y S. Sabharwal. "El marco de
Clasificacin para el Modelo de Transformacin", Journal of
Computer Science 2 (2), pp.166-170, 2006.
[12] C. Zhao y Zhang K., "Enfoques transformacionales para Model
Driven Arquitectura- Una revisin", Proc. 31 de IEEE Software
Engineering Workshop, Washigton, DC, EE.UU., pp.67-74,
2007.
[13] G. taentzer1, K. Ehrig1, E. Guerra, JD Lara, L. Lengyel, T.
Levendovszky, U.Prange, D.Varro y SV Gyapay, "Modelo
Transformacin por Graph Transformacin: un estudio
comparativo ", Proc. del Taller Internacional de Modelo
Transformacin de la Prctica, 2005.
[14] "Herramienta de Dominio Pblico caso de UML",
http://www.fujaba.de, 15 de septiembre 2008.
[15] A. Schurr, "PROGRESO: Un BVS-idioma basado en Graph
Gramticas," Proc. del cuarto Taller Internacional de Grfica
Gramticas y su aplicacin a la Informtica, pp.641659, 1990.
[16] G. Taentzer, C. y M. Ermel Rudolf, "El Enfoque AGG: Lengua
y Herramienta de Medio Ambiente," Handbook of Grfico
Gramticas y Computacin por Graph Transformacin,
Aplicaciones, Lenguas y Herramientas, 1999.
[17] A. Agrawal, "Graph reescritura y transformacin (Grande): Una
solucin para el Modelo Integrado de Informtica (MIC) Cuello
de botella", Proc. del 18 de IEEE Conferencia Internacional
sobre Ingeniera de Software Automatizado de 2003.
[18] J. Sprinkle, A. Agarwal, T. Lavendovszky, F. y G. Shi Karsai,
"Modelo de Dominio Transformaciones", Proc. de la
Conferencia Internacional sobre Ingeniera de Sistemas Basados
en Computadoras, pp.159-168, 2003.
[19] A. Schmidt y D. Varrn, "CheckVML: una herramienta para
comprobar Modelo Visual Modelo Idiomas", UML, LNCS
(2863), pp.92-95,2003.
[20] G. Csertan, G. Huszerl, I. Majzik, Z. Papanicolaou, A. Pataricza
y D. Varrn, "VIATRA: Transformaciones visuales
automatizados para la verificacin formal y validacin de

[21]

[22]

[23]

[24]

[25]

[26]

[27]

259

modelos de UML", Proc. del 17 de IEEE Conferencia


Internacional sobre Ingeniera de software automatizado,
pp.267-270, 2002.
D.Varro, "Transformaciones genricos y Meta para Ingeniera
transformacin Modelo", UML, LNCS (3273), pp.290-304,
2004.
T. Levendovszky, L. Lengyel, G. y H. Mezei charaf, "Un
enfoque sistemtico para Metamodelling entornos y sistemas de
transformacin de modelos en STVM Proc. del Taller
Internacional sobre Herramientas grfico basado, 2004.
R. Soley, "Model Driven Architecture de Estrategias de Personal
OMG
Grupo,
Object
Management
Group
Proyecto
3.2,
"ftp://ftp.omg.org/pub/docs/omg/00-11-05.pdf.
Noviembre
27,2000.
Y. Singh y M. Sood, "Model Driven Architecture: una
perspectiva," IEEE Conferencia Internacional de Computacin
Avanzada (IACC'08), Thapar Universidad Patiala, India, pp,
1644-1652, 6-7 de marzo de 2008.
M.B. Kuznetsov, "Transformacin de modelos UML y su
Aplicacin a MDA Tecnologa," Programacin y software
informtico, Rusia, Vol.33, pp. 44-53, 2007.
F. Fleurey, J.Steel y B.Baudry, "Validacin de ingeniera
dirigida por modelos: Pruebas Modelo Transformaciones", Proc.
De MODEVA, Rennes, Francia, septiembre de 2004
A.Kleppe, J. y W. Calentador Bast, MDA Explicacin: El
Model Driven Architecture: La prctica y la Promesa, Pearson
Education, Inc., abril de 2003.

También podría gustarte