Sei sulla pagina 1di 12

Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198

ISSN 1405-7743 FI-UNAM


(artculo arbitrado)

Modelo formal para la reestructura de marcos orientados a objetos


hacia arquitecturas modelo-vista-adaptador
Formal Model for Restructuring of Object-Oriented Frameworks to Architecture
Model-View-Adapter

Santaolaya-Salgado Ren
Centro Nacional de Investigacin y Desarrollo Tecnolgico
(CENIDET)
Departamento de Ciencias Computacionales
Cuernavaca, Morelos, Mxico Zamudio-Lpez Sheydi Anel
Correo: rene@cenidet.edu.mx Centro Nacional de Investigacin y Desarrollo Tecnolgico
(CENIDET)
Departamento de Ciencias Computacionales
Fragoso-Daz Olivia Graciela
Cuernavaca, Morelos, Mxico
Centro Nacional de Investigacin y Desarrollo Tecnolgico Correo: snzamudio@cenidet.edu.mx
(CENIDET)
Departamento de Ciencias Computacionales
Cuernavaca, Morelos, Mxico
Correo: ofragoso@cenidet.edu.mx

Informacin del artculo: recibido: junio 2012, aceptado: mayo 2013

Resumen


Descriptores:
mantenimiento y la reutilizacin del cdigo. Los marcos orientados a objetos
(frameworks-  PDUFRVRULHQWDGRVDREMHWRV
  UHXVRGHsoftware
un proceso de reestructura de cdigo legado de marcos orientados a objetos  UHLQJHQLHUtDGHsoftware
arquitectura modelo-vista-adaptador (MVA).  SDWUyQ09$
  PRGHORIRUPDO
 7HRUtDGH0RGHORV

-

posterior hacia servicios web.


Modelo formal para la reestructura de marcos orientados a objetos hacia arquitecturas modelo-vista-adaptador

Abstract


the migration to new technologies that facilitate the maintenance and code reuse.
Keywords:

frameworks
code object-oriented frameworks (MOO) to code according to the architecture Mod- software reuse
el-View-Adapter (MVA). This process is carried out using 11 methods of restructur- software reeingeniering
MVA pattern
- formal model
- Model theory
work is ready for a subsequent migration to Web services.

Introduccin
marco orientado a objetos para obtener un marco orien-
El concepto de marco orientado a objetos aport una nue- tado a objetos con arquitectura MVA.
va dimensin a la nocin de reuso de software- 
travs de un modelo construido utilizando elementos
 
los componentes que integran el marco ocasiona que
las clases no puedan sacarse de su contexto y que el
Marcos orientados a objetos
marco deba ser reutilizado como un solo componente.
Para elevar el nivel de reuso del cdigo legado de un 
- semi-completo de clases en colaboracin que incorpora
- -

- 
-
-

En este trabajo se propone un proceso de reestructu- 
ra de cdigo de marcos orientados a objetos hacia cdi-
modelo-vista-adaptador -
 ciones de un dominio desarrolladas a partir del marco
(Froehlich et al 
- consideramos como elementos estructurales de los

aplicacin. 
Este proceso implementa el esquema de solucin de un marco orientado a objetos.
 
-
den a necesidades expresadas o implcitas cuando el
 
.

Marcos orientados a objetos con arquitectura


MVA
)LJXUD(VTXHPDGHVROXFLyQSURSXHVWRSDUDUHHVWUXFWXUDU
PDUFRVRULHQWDGRVDREMHWRVKDFLDPDUFRVRULHQWDGRVDREMHWRV El patrn Model-View-Adapter (MVA) es una variante del
FRQDUTXLWHFWXUD09$ patrn Model-View-Controller  -

188 Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM
Santaolaya-Salgado Ren, Fragoso-Daz Olivia Graciela, Zamudio-Lpez Sheydi Anel

)LJXUD'LDJUDPDGHFODVHVGHXQPDUFRRULHQWDGRDREMHWRV

trn arquitectnico que separa la lgica del negocio (el Variables: a1n1n1n1m
modelo) de la parte de presentacin de datos (la vista) Relatores: R1 1JRJRJR44JR55JRJ


- igualdad o equivalencia.
ciones orientado a objetos con arquitectura MVA es un Descriptor: |
marco reestructurado por medio de un conjunto de Signos lgicos: ol
- Signos relacionales: 
- Signos binarios: u
 Otros signos: \GN
Parntesis:!
patrn MVA.

$ se han incluido los sig-


Descripcin del modelo formal
nos relacionales  que corresponden a las opera-
   - ciones relacionales de la teora de conjuntos pertenece
mente el esquema de solucin propuesto. acontiene como elemento y no es igual a-
mente; el signo binario que corresponde a la opera-
cin binaria unin y el signo binario u que corres-
'HILQLFLyQGHOOHQJXDMHGHSULPHURUGHQ
ponde a la operacin binaria producto cartesiano-
P y Q bin se incluyen otros signos como \GN que co-
orden $ adecuado a P y Q rresponden a funcionalidadconjunto
con los smbolos siguientes: vaco y respectivamente.

Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM 189
Modelo formal para la reestructura de marcos orientados a objetos hacia arquitecturas modelo-vista-adaptador

)LJXUD(MHPSORGHXQDDUTXLWHFWXUDGHFODVHVFRQIRUPDGDDOSDWUyQ09$

'HILQLFLyQGHXQDFODVH
AT el conjunto de atributos y MT el conjunto de m- C ^ }
1 m
1 } n `donde   


ATa| a A(aA(a) = a es un atributo como:
de clase (1)
C = ni = Ci (4)
MT:
'HILQLFLyQGHUHODFLyQ
MTm|m (M(m) (Mi(mMa(m
Una relacin es una conexin entre elementos de con-
donde: 
M(m) = m es un mtodo
Mi(m) = m es un mtodo implementado  ^ C u C ` (5)
Ma(m) = m es un mtodo abstracto


cada una de las relaciones existentes en un marco.

190 Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM
Santaolaya-Salgado Ren, Fragoso-Daz Olivia Graciela, Zamudio-Lpez Sheydi Anel

'HILQLFLyQGHODVUHODFLRQHVGHDVRFLDFLyQ \ ^ 
   `

 donde:

A ^ A z ` ^ A  D ` (14)
D   1 donde R1() = est conectado
con y
^ A z ` ^ A  E ` (15)

'HILQLFLyQGHODVUHODFLRQHVGHGHSHQGHQFLD  ^ A z ` ^ A  J`
-
 ^ A z ` ^ A  R ` (17)

J    donde R() = depende de y (7)  ^ A z ` ^ A  U `

'HILQLFLyQGHODVUHODFLRQHVGHKHUHQFLD
^ A z ` ^ A  K `

P-

cin de las clases y relaciones existentes en el marco


E    donde R() = hereda de y P oGP

'HILQLFLyQGHODVUHODFLRQHVGHDJUHJDFLyQ -
-


0RGHORGHOPDUFRRULHQWDGRDREMHWRVFRQDUTXL-
R   4 donde R4() = es parte de y
WHFWXUD09$

'HILQLFLyQGHODVUHODFLRQHVGHFRPSRVLFLyQ Formalmente un marco orientado a objetos con arqui-


tectura MVA puede describirse como el sistema relacio-
U- nal Q

Q = B9-R1RRR4R5R donde B = im 1 Ci
U   5 donde R5() = existe
si y slo si existe y
En la estructura del patrn arquitectnico MVA existe
una conexin entre las partes del adaptador y de la vista
'HILQLFLyQGHODVUHODFLRQHVGHLPSOHPHQWDFLyQ
y tambin entre el adaptador y el modelo-
- 
conexiones se implementan como relaciones de compo-
sicin y se consideran individuos destacados del siste-
K    donde R() = ma Q
implementa y (11)
5
9    
0RGHORGHOPDUFRRULHQWDGRDREMHWRV
P -    5
P = AR1RRR4R5R donde A = Ci n

i 1 Las partes arquitectnicas del marco orientado a obje-
- -

subsistemas MV y A

Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM 191
Modelo formal para la reestructura de marcos orientados a objetos hacia arquitecturas modelo-vista-adaptador

M M R R R R R R tal que M es un subsistema de -


Q: M = Q
de los mtodos:
V V R R R R R R tal que V es un subsistema de
Q: V = Q
$$QDOL]DUHOFyGLJRGHO022RULJLQDO\HWLTXHWDU
ORVHQXQFLDGRVIXQFLRQHV\FODVHVGHDFXHUGRDODV
A D 9 - R R R R R R tal que A es un subsistema
SDUWHVGHOSDWUyQ09$DODVTXHSHUWHQHFHQ
de Q: A = Q
 -

(\ Q- 

como: Precondiciones: tener acceso al cdigo del conjunto de
-
Q = { A H D Ag CO I } cacin de los enunciados del lenguaje en que est
escrito el MOO.
donde:
Procedimiento:
 ^ B z ` ^ B  D `
Paso A1.1

^ B z ` ^ `
B  E 

 ^ B z ` ^ B  J` 

 ^ B z ` ^ B  R ` parte del patrn a la que pertenecen.
-
 ^ B z ` ^ B  U ` -
tes actividades del proceso de reestructura.
^ B z ` ^ `
B  K
-
Q -
tructura del MOO en estudio.
\Q o GQ
Poscondiciones: los elementos del cdigo del MOO en
'HVFULSFLyQIRUPDOGHOHVTXHPDGHVROXFLyQ estudio quedan etiquetados de acuerdo a la parte
-
P y Q
-
quema T1 de solucin si
los pasos de
T1(P) oQ tal que \P z \Q (P Q esta actividad se llevan a cabo aplicando el mtodo
de reestructura R1 y no interacciona con otros
T1 representa un conjunto de operaciones de mtodos.
reestructura.
$5HHVWUXFWXUDUHOFyGLJROHJDGR
Descripcin del proceso de reestructura
separar y reubicar los elementos de cdigo
Para integrar el conjunto de operaciones T1
- la parte del patrn que les corresponde.
tectura original del marco orientado a objetos hacia una
arquitectura MVA. El proceso consta de 11 mtodos (R1 Precondiciones: -
11 nes y las clases del marco orientado a objetos origi-

192 Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM
Santaolaya-Salgado Ren, Fragoso-Daz Olivia Graciela, Zamudio-Lpez Sheydi Anel

nal deben estar etiquetados de acuerdo a la parte del -


 ra 4).
  -
concretas deben estar creadas. ra 4).
-
Pasos a seguir en el desarrollo de esta actividad: 

Paso A2.1    
   Paso A2.5  

cdigo en la parte del patrn a la que pertenecen.
Paso A2.2 Obtener la jerarqua de clases del marco Este paso implica:
-
servarla en la parte del modelo.   

Paso A2.3  -
-
ses del nuevo marco orientado a objetos con arqui- 
tectura MVA. Este paso implica: -

 
 

Paso A2.4-  la parte del modelo mantiene la arquitec-


 tura del marco original y no tiene ningn elemento
de la clase en la parte del patrn a la que pertenecen. de la vista. La vista contiene solamente los elemen-
Este paso implica: tos de cdigo que pertenezcan a esta parte del pa-
trn. El adaptador gestiona las interacciones entre el
 modelo y la vista.

Mtodo R7

Paso A2.3.a
Mtodo R8 Mtodo R2
Crear la tabla "Tipos de
estatutos"

Mtodo R3
Paso A2.4.b

Inicio Mtodo R1 Mtodo R6


Paso A1.1 Paso A2.1 Mtodo R9 Mtodo R5
Paso A2.4.c

Mtodo R11

Retorno del flujo Mtodo R3


de control

Mtodo R4
Mtodo R10

Mtodo R5

Mtodo R11

)LJXUD3URFHVRGHUHHVWUXFWXUDFLyQSDUDREWHQHUHOPDUFRRULHQWDGRDREMHWRVFRQDUTXLWHFWXUD09$

Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM 193
Modelo formal para la reestructura de marcos orientados a objetos hacia arquitecturas modelo-vista-adaptador

Poscondiciones: se obtiene un marco orientado a obje- 


tos con arquitectura MVA. del dominio de la geometra. De la arquitectura original

despus de
El marco orientado a objetos cuadrado-rectngulo
-
- -
  tre s a travs de relaciones de herencia. De acuerdo al


-
 ne como:
termina cuando todas las clases del marco orientado a
objetos original han sido reubicadas en la arquitectura H = HR donde:
MVA. H  

cRectangulo}
Resultados
Para realizar las pruebas al proceso de reestructuracin \H
para obtener un marco orientado a objetos con arquitec-

)LJXUD$UTXLWHFWXUDGHFODVHVGHOPDUFRRULHQWDGRDREMHWRVFXDGUDGRUHFWiQJXOR

194 Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM
Santaolaya-Salgado Ren, Fragoso-Daz Olivia Graciela, Zamudio-Lpez Sheydi Anel

H  I = 
  
  
 

- R5 ()
\H o GH. R5 ()

Despus de aplicar el conjunto de operaciones que inte- \


gran el proceso de reestructura que se describe en la
- \  
- 
  

 
seccin modelo del marco orientado a objetos con ar- 
  aParalelogramosM

Una de las caractersticas que se debe cumplir para que


l= I9-R donde:

)LJXUD$UTXLWHFWXUDGHFODVHV09$GHOFDVRSUiFWLFRFXDGUDGRUHFWiQJXOR

Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM 195
Modelo formal para la reestructura de marcos orientados a objetos hacia arquitecturas modelo-vista-adaptador


 El area del cuadrado es: 25.0
 
- El area del rectangulo es: 27.0
terstica se establece en la restriccin: )LJXUD5HVXOWDGRVGHODHMHFXFLyQGHODDSOLFDFLyQ&OLHQWH
SDUDHOFDVRSUiFWLFR09$&XDGUDGR5HFWiQJXOR
(\H z \l) GH Gl
El resultado de la ejecucin de las aplicaciones Cliente
Dos conjuntos son iguales s y slo s tienen los mismos

H H zl
lH zl ) debido a que para los casos prcticos presentados.

La expresin (GH zl-


Trabajos relacionados
-
car que esta condicin se cumple se construy una La migracin de software-
aplicacin cliente con solicitudes de servicio similares mas tecnolgicas es una de las propuestas de solucin
 ms utilizadas para aumentar el nivel de reuso y el
el cdigo de estas aplicaciones. mantenimiento de este tipo de cdigo.
-
D public class Cliente canamente con el trabajo que se presenta en este docu-
{ public static void main(String[] args) mento son aqullos que implementan un proceso de
{ aFigura c=new cCuadrado(5); reingeniera basado en la reestructuracin arquitectni-
aFigura r=new cRectangulo(3, 9); ca del cdigo legado hacia una arquitectura de capas
System.out.println("CUADRADO"); -
c.area(); ceso de migracin. Estos trabajos consideran la separa-
System.out.println("RECTANGULO");
r.area();
} pueden ser reutilizables) del cdigo de la lgica de pre-
} sentacin (la vista).
 

E public class Cliente -


{ public static void main(String[] args)
-
{ aFiguraC oC=new cCuadradoC(5);
mas legados hacia arquitecturas orientadas a servicios.
aFiguraC oR=new cRectanguloC(3, 9);

System.out.println("CUADRADO");
-
oC.area();
System.out.println("RECTANGULO");
oR.area(); -
} -
} tes candidatos a servicios web.
El trabajo que se describe en las secciones anterio-
)LJXUD&ODVHV&OLHQWHD SDUDHOFDVRSUiFWLFR&XDGUDGR
5HFWiQJXORRULJLQDO\E SDUDHOFDVRSUiFWLFR09$&XDGUDGR
5HFWiQJXOR
marco orientado a objetos hacia una arquitectura de

Los resultados obtenidos al ejecutar las aplicaciones 
-

realizar el proceso de reestructuracin.

El area del cuadrado es: 25.0 En (Hunold et al
  conjunto de herramientas de ingeniera que dan sopor-
El area del rectangulo es: 27.0 -
)LJXUD5HVXOWDGRVGHODHMHFXFLyQGHODDSOLFDFLyQ&OLHQWH tectnica. Este proceso separa el software legado original
SDUDHOFDVRSUiFWLFR&XDGUDGR5HFWiQJXORRULJLQDO en varios componentes independientes y reemplaza-

196 Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM
Santaolaya-Salgado Ren, Fragoso-Daz Olivia Graciela, Zamudio-Lpez Sheydi Anel

-

 -
describe en Hunold et al ne un marco orientado a objetos con arquitectura
- 
- 
 -
-
-
cas empleadas para llevar a cabo la reestructuracin. Un punto importante que se debe considerar al aplicar
   el proceso de reestructuracin propuesto es que exis-
conjunto de requerimientos bsicos para el diseo y la
implementacin de un proceso de reingeniera de siste-
 con la parte arquitectnica del patrn MVA a la que
arquitecturas orientadas a servicios. Entre estos reque- -
-
quitectnica del sistema legado hacia una arquitectura
 -
- -
seo del proceso de reingeniera. Este planteamiento
- 
cin que se describe en este documento.
et
al- la participacin de un experto en el dominio y en el len-
- guaje.
 
 proceso de reestructuracin nos permiten concluir que
-
-
mas tecnolgicas.
 
pertenecen al modelo (accesos y consultas a la base de implementacin de una herramienta de ingeniera que

 automatice el proceso reestructuracin.




 
Referencias
trabajo que se describe en este documento se observa en
la realizacin del anlisis del cdigo legado como una 

    Designing Object-
actividad bsica del proceso de reingeniera; as como      -
en la obtencin de una nueva arquitectura organizada 


 

Conclusiones 

  
En la literatura especializada se han presentado traba- -
- -
ca del cdigo legado hacia una arquitectura de capas nd Annual

del negocio y puede considerarse como una estrategia     


-
El proceso de reestructuracin que se describi en ted Architectures. -
este documento presenta las siguientes ventajas:

Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM 197
Modelo formal para la reestructura de marcos orientados a objetos hacia arquitecturas modelo-vista-adaptador

-
vices Architectures. Journal of Mathematical Modelling in Phy-

Este artculo se cita:
      
Citacin estilo Chicago

6DQWDROD\D6DOJDGR 5HQp 2OLYLD *UDFLHOD )UDJRVR'tD] 6KH\GL
 -
$QHO=DPXGLR/ySH]0RGHORIRUPDOSDUDODUHHVWUXFWXUDGHPDU-
 
FRVRULHQWDGRVDREMHWRVKDFLDDUTXLWHFWXUDVPRGHORYLVWDDGDSWD-
 Discrete Mathematics and its Applications -
GRUIngenierta Investigaciyn y Tecnologta;9  


   Citacin estilo ISO 690
Reference Manual 6DQWDROD\D6DOJDGR5)UDJRVR'tD]2*=DPXGLR/ySH]6$
Modelo de representacin de patrones de cdigo para la 0RGHORIRUPDOSDUDODUHHVWUXFWXUDGHPDUFRVRULHQWDGRVDREMH-
- WRVKDFLDDUTXLWHFWXUDVPRGHORYLVWDDGDSWDGRUIngenierta Inves-
   - tigaciyn y TecnologtaYROXPHQ;9 Q~PHUR DEULOMXQLR
  

Semblanza de los autores


 E
  -

 -
-


  -
  


  
  -

  -

 -
 -
 
-


198 Ingeniera Investigacin y Tecnologa, volumen XV (nmero 2), abril-junio 2014: 187-198 ISSN 1405-7743 FI-UNAM

Potrebbero piacerti anche