Professional Documents
Culture Documents
[DISEO Y ARQUITECTURA DE
SOFTWARE]
Mxico D. F. a 12 DE Julio de 2013.
Se define como una herramienta capaz de soportar el mapeo de especificaciones arquitectnicas entre diferentes ADL, o en otras palabras, como un lenguaje de
intercambio de arquitectura. Es considerado como un ADL de 2da generacin.
Creador:
Tipos
Elementos
Componentes
Conectores
Sistemas
Puertos
Roles
Representaciones
Mapas de representacin.
Multiplataforma
Idioma:
Ingls y Espaol
Licencia
Software Propietario
AL11503411
UniCon
ADL de propsito general con nfasis en conectores y estilos. Sus siglas significan Conector Universal de Soporte.
Creador:
Mary Shaw
En UniCon los componentes son las unidades de compilacin de los lenguajes de programacin y otros objetos del nivel del usuario, por ejemplo
un fichero. Pero los conectores no pueden identificarse tan fcilmente en el nivel del usuario por ejemplo: entradas en una tabla, directivas de
ensamblado, estructuras de datos utilizadas en tiempo de ejecucin, protocolos estndares de comunicacin, etc.
Tanto a los componentes como a los conectores se les asocia un tipo o clase, que es la que determina cul ser su interfaz, adems estos estn
descritos mediante una serie de atributos y tienen una implementacin determinada. Los atributos de los componentes describen caractersticas
tales como su funcionalidad, rendimiento, mientras que su implementacin ser el cdigo en un lenguaje de programacin. Los atributos de un
conector incluyen diversas caractersticas por ejemplo la garanta de entrega de paquetes en una red de comunicacin, restricciones sobre el
orden de envi o recepcin de eventos, reglas sobre la instanciacin de parmetros, restricciones sobre el nmero de componentes que conectan
y los papeles que estos componentes juegan en la conexin, entre otros.
En el caso de los conectores su implementacin se realiza a travs de mecanismos proporcionados por los lenguajes de programacin, por medio
de entradas en tablas de tareas o de encaminamiento y llamadas a funciones del sistema operativo o una plataforma subyacente.
Con este ADL la descripcin de la interfaz se lleva a cabo con el propsito de definir las posibles conexiones entre componentes y conectores para
formar sistemas ms grandes. En los componentes la interfaz est constituida por varios actores mientras que en los conectores est formada por
roles. Actores y roles constituyen un tipo
En UniCon estos tipos estn predeterminados y forman parte del propio lenguaje, por lo que se tiene control sobre los tipos componentes y
conectores que pueden utilizarse y cules son las posibilidades de combinarlos, pero por otra parte no es posible definir sub.-tipos y por lo tanto
carece de capacidad de evolucin.
Windows
Idioma:
Ingls
Licencia :
Software Propietario
AL11503411
Jacal.
ADL de propsito general que se basa en la notacin de alto nivel para descripcin y creacin de prototipos de una arquitectura de
software
Creador:
Este ADL posee un conjunto predefinido y extensible de conectores, cada uno con una representacin distinta. Se utiliza para expresar
arquitecturas de distintos estilos. No ofrece una forma de restringir una configuracin a un estilo especfico, ni de validar la conformidad.
Cada componente cuenta con puertos que constituyen su interfaz y a los que pueden adosarse conectores.
Jacal tiene una semntica denotacional que asocia a cada arquitectura una red correspondiente que est dada en funcin de las redes de Petri la
cual justifica la animacin de las arquitecturas.
Ofrece adems del nivel de interfaz un nivel de comportamiento en el cual se describe la relacin entre las comunicaciones recibidas y enviadas
por un componente, usando diagramas de transicin de estados con etiquetas en los ejes que corresponden a nombres de puertos por los que se
espera o se enva un mensaje.
El objetivo principal de Jacal es lo que actualmente se denomina animacin de arquitecturas, que no es ms que poder visualizar una simulacin
de cmo se comportara en la prctica un sistema basado en la arquitectura que se ha representado ya que la notacin principal de Jacal es
grfica.
Windows
Idioma:
Ingls
Licencia :
Software Propietario
LEDA.
Es un lenguaje de especificacin y validacin de arquitecturas de software que fue desarrollado por el grupo de ingeniera de software de la
Universidad de Mlaga. Por sus caractersticas se considera un ADL.
Creador :
Posee dos niveles fundamentales, uno para la definicin de componentes los cuales representan partes o mdulos del sistema, proporcionando
cada uno de ellos una determinada funcionalidad al mismo; y otro para la definicin de roles los cuales describen el comportamiento observable de
los componentes y los protocolos de interaccin que siguen con el resto de los componentes, esto es utilizado para crear prototipos, validacin y
ejecucin de la arquitectura.
Los roles se logran especificar aplicando el clculo pi que es un lgebra de procesos que expresa de forma natural la movilidad lo que permite la
especificacin de arquitecturas cuya topologa de comunicacin vara en el tiempo es decir las arquitecturas dinmicas.
Los componentes estn compuestos por otros componentes. La estructura o arquitectura de los mismos se indica mediante las relaciones
establecidas entre sus subcomponentes, lo cual es expresado por un conjunto de conexiones entre los roles de dichos subcomponentes.
En LEDA los conectores se especifican como otro tipo de compones permitiendo que el lenguaje sea ms simple y regular, a la vez que no impone
un modelo composicional concreto para la descripcin de arquitecturas de software.
Con LEDA se puede adaptar un componente a otro donde la interfaz que no sea compatible con la suya a travs de los adaptadores, lo que
permite la reutilizacin del componente. Los adaptadores al igual que lo roles se describen usando el clculo pi.
Una descripcin arquitectnica realizada usando este lenguaje es marco de trabajo genricos que puede ser instanciados y reutilizados tantas
veces como sea necesario.
Windows
Idioma:
Ingls y Espaol
Licencia:
Software Propietario
AL11503411
Rapide
Se puede caracterizar como un lenguaje de descripcin de sistemas de propsito general que permite modelar interfaces de
componentes y su conducta observable. Sera tanto un ADL, como un lenguaje de simulacin.
Creador:
Universidad de Stanford
Idioma:
Ingls
Licencia :
Software Propietario
Patrn de Diseo
Whole-Part
Descripcin
Ayuda a constituir una coleccin de objetos que juntos conforman una unidad semntica
.
Atributos asociados:
Reusabilidad
Atributos en conflicto:
Desempeo
Patrn de Diseo
Descripcin
Master-Slave
Atributos asociados:
Escalabilidad
Atributos en conflicto:
Portabilidad
Modificabilidad
Un componente maestro (master) distribuye el trabajo a los componentes esclavos (slaves). El componente maestro
calcula un resultado final a partir de los resultados arrojados por los componentes esclavos.
Desempeo
AL11503411
Proxy
Descripcin
Atributos asociados:
Los clientes asociados a un componente se comunican con un representante de ste, en lugar del componente en s
mismo.
Desempeo
Reusabilidad
Atributos en conflicto:
Desempeo
Patrn de Diseo
Command Procesor
Descripcin:
Separa las solicitudes de un servicio de su ejecucin. Maneja las solicitudes como objetos separados, programa sus
ejecuciones y provee servicios adicionales como el almacenamiento de los objetos solicitados, para permitir que el
usuario pueda deshacer alguna solicitud.
Atributos asociados:
Funcionalidad
Atributos en conflicto:
Desempeo
Patrn de Diseo:
View Handler
Descripcin:
Ayuda a manejar todas las vistas que provee un sistema de software. Permite a los clientes abrir, manipular y eliminar
vistas. Tambin coordina dependencias entre vistas y organiza su actualizacin.
Atributos Asociados:
Escalabilidad
Atributos en conflictos:
Desempeo
Patrn de Diseo:
Forwarder-Receiver
Descripcin:
Provee una comunicacin transparente entre procesos de un sistema de software con un modelo de interaccin punto a
punto (peer to peer).
Atribvutos Asociados:
Mantenibilidad
Atributos en conflictos:
Configurabilidad
Patrn de Diseo:
Client-Dispatcher-Server
Descripcin:
Introduce una capa intermedia entre clientes y servidores, es el componente despachador (dispatcher). Provee una
ubicacin transparente por medio de un nombre de servicio, y esconde los detalles del establecimiento de una conexin
de comunicacin entre clientes y servidores.
Atributos Asociados:
Configurabilidad
Portabilidad
Atributos en conflicto:
Desempeo
Modificabilidad
Patrn de Diseo:
Publisher-Subscriber
Descripcin:
Ayuda a mantener sincronizados los componentes en cooperacin. Para ello, habilita una va de propagacin de cambios:
un editor (publisher) notifica a los suscriptores (suscribers) sobre los cambios en su estado.
Atributos Asociados:
Escalabilidad
Atributos en conflicto:
Desempeo
Modificabilidad
Facilidad de Prueba
Modificabilidad
Modificabilidad
Desempeo
Escalabilidad
AL11503411
Disponibilidad
Ejemplos:
Ejemplo 1:
AL11503411
Bibliografa:
RED. Revista de Educacin a Distancia. http://www.um.es/ead/red/M10/
http://prof.usb.ve/lmendoza/Documentos/PS-6116/Guia%20Arquitectura%20v.2.pdf
Conclusiones:
La inmadurez de la Ingeniera del Software como disciplina ingenieril queda plasmada cada vez que se
reinventa la rueda para afrontar un nuevo proyecto software, en lugar de recurrir a la gua de soluciones ya
existentes como sucede en otras ingenieras.
Este problema de falta de madurez se hace ms patente cuanto mayor es la organizacin, donde los proyectos
caminan independientes resolviendo una y otra vez problemas similares (por no decir idnticos en un alto
porcentaje de los casos) a los ya resueltos en otros proyectos.
Los ADLs y los patrones Arquitectonicos, y en general la nocin de patrn, constituyen una forma flexible y
adecuada que favorece la reutilizacin de la experiencia embebida en los procesos que representan soluciones a
problemas de software, con independencia de su nivel de abstraccin (anlisis, diseo o implementacin).
Dentro de los patrones software, los ms tiles desde el punto de vista de aportacin a la reutilizacin del
software son los patrones que se denominan generativos, esto es, aquellos que son activos y dinmicos, que no
se limitan a mostrar las caractersticas de los sistemas que se consideran adecuados, sino que ensean a
construirlos.
AL11503411