30.04.2013 Views

Patrones de Coordinación

Patrones de Coordinación

Patrones de Coordinación

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

metodoA()<br />

X : CoponenteA Co : Coordinador Y : ComponenteS<br />

EoP(metodoA,X))<br />

BoP(metodoS,Y)<br />

AcKBop(metodoS,Y)<br />

Figura 2. Diagrama <strong>de</strong> secuencia <strong>de</strong>l patrón.<br />

metodoS()<br />

Este patrón <strong>de</strong> coordinador simple, podrá<br />

aplicarse en aquellos casos en que métodos <strong>de</strong> dos<br />

objetos activos necesiten coordinarse <strong>de</strong> manera<br />

que la ejecución <strong>de</strong> uno <strong>de</strong> los métodos esté<br />

supeditada a la ejecución previa <strong>de</strong>l otro.<br />

La <strong>de</strong>scripción estática y dinámica <strong>de</strong>l<br />

sistema, haciendo uso <strong>de</strong> los diagramas UML<br />

<strong>de</strong>scritos, junto con documentación que <strong>de</strong>scriba y<br />

facilite su aplicación pue<strong>de</strong> ser almacenada en un<br />

repositorio <strong>de</strong> patrones <strong>de</strong> coordinación para su<br />

posterior reutilización.<br />

Figura 3. Descripción <strong>de</strong> <strong>Patrones</strong> <strong>de</strong> <strong>Coordinación</strong>.<br />

La figura 3 resume las activida<strong>de</strong>s principales<br />

<strong>de</strong> nuestra propuesta:<br />

• Definición <strong>de</strong> los aspectos funcionales<br />

mediante diagramas <strong>de</strong> clase don<strong>de</strong> se<br />

<strong>de</strong>scriben tanto los eventos que <strong>de</strong>terminan la<br />

relación <strong>de</strong> coordinación, como las<br />

asociaciones con los componentes sujetos a<br />

dicha coordinación. De esta forma se <strong>de</strong>fine<br />

la parte estática <strong>de</strong> los patrones <strong>de</strong><br />

coordinación. Los eventos que <strong>de</strong>terminan la<br />

ocurrencia <strong>de</strong> una relación <strong>de</strong> coordinación<br />

entre componentes se pue<strong>de</strong>n <strong>de</strong>finir a partir<br />

<strong>de</strong> los cuatro tipos <strong>de</strong> eventos anteriormente<br />

<strong>de</strong>finidos, <strong>de</strong>terminando las relaciones que<br />

existen entre ellos, si más <strong>de</strong> un evento <strong>de</strong>be<br />

producirse al mismo tiempo para que se lleve<br />

a cabo la coordinación, o si más <strong>de</strong> un evento<br />

<strong>de</strong> forma individual pue<strong>de</strong> disparar la<br />

coordinación. Esta combinación <strong>de</strong> eventos en<br />

función <strong>de</strong> los eventos simples se <strong>de</strong>nominan<br />

eventos compuestos. Así mismo, las acciones<br />

en los componentes sujetas a coordinación<br />

pue<strong>de</strong>n ser más <strong>de</strong> una y tener que po<strong>de</strong>r<br />

producirse bien <strong>de</strong> forma in<strong>de</strong>pendiente, bien<br />

todas simultáneamente, bien siguiendo un<br />

<strong>de</strong>terminado or<strong>de</strong>n o bien <strong>de</strong> forma exclusiva.<br />

La <strong>de</strong>scripción <strong>de</strong> las acciones que requieren<br />

coordinación, podrá por tanto <strong>de</strong>finirse <strong>de</strong><br />

forma simple, cuando afecta a una sóla acción<br />

o componente, o como combinación <strong>de</strong> más<br />

<strong>de</strong> una <strong>de</strong> ellas, mediante alguna <strong>de</strong> las<br />

relaciones <strong>de</strong>scritas anteriormente.<br />

• Definición los aspectos dinámicos, don<strong>de</strong> se<br />

refleje el comportamiento coordinado <strong>de</strong>l<br />

sistema. Pare ello <strong>de</strong>finiremos utilizaremos los<br />

diagramas <strong>de</strong> interacción <strong>de</strong> UML. Los<br />

diagramas <strong>de</strong> secuencia, mostrarán la<br />

or<strong>de</strong>nación temporal <strong>de</strong> los mensajes entre los<br />

distintos componentes <strong>de</strong>l sistema, y los<br />

diagramas <strong>de</strong> colaboración facilitarán la<br />

comprensión, mostrando en todo momento la<br />

organización estructural <strong>de</strong> los componentes<br />

que se envían y reciben mensajes. La cantidad<br />

<strong>de</strong> mensajes necesarios para establecer la<br />

comunicación y el or<strong>de</strong>n en que tienen que<br />

producirse <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong>l evento producido,<br />

<strong>de</strong>l modo <strong>de</strong> comunicación (síncrona o<br />

asíncrona) y <strong>de</strong> la relación existente entre las<br />

acciones <strong>de</strong> los componentes sujetas a<br />

coordinación.<br />

• Una vez generados los aspectos funcionales y<br />

<strong>de</strong> coordinación se generará documentación<br />

en diferentes formatos estandarizados que<br />

faciliten su comprensión y aplicación, y que<br />

podrán ser almacenados junto con los<br />

diagramas anteriores, en formato XMI, en un<br />

repositorio <strong>de</strong> patrones <strong>de</strong> coordinación.<br />

La generación <strong>de</strong> código a partir <strong>de</strong> los<br />

patrones generados y almacenados en el<br />

repositorio <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong> la plataforma y <strong>de</strong>l<br />

mo<strong>de</strong>lo o lenguaje concreto <strong>de</strong> coordinación<br />

elegido para la implementación.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!