Professional Documents
Culture Documents
Lenguaje ADL
10
Componentes
y y y y y y Interfaz Tipos Semntica Restricciones Evolucin Propiedades no funcionales y y y y y y
Conectores
Interfaz Tipos Semntica Restricciones Evolucin Propiedades no funcionales
Configuraciones arquitectnicas
Comprensibilidad Composicionalidad Heterogeneidad Restricciones Refinamiento y trazabilidad Escalabilidad Evolucin Dinamismo Propiedades no funcionales
Soporte de herramientas
Especificacin activa Mltiples vistas Anlisis Refinamiento Generacin de cdigo Dinamismo
Lenguajes ADL
Acme-Armani Acme se define como una herramienta capaz de soportar el mapeo de
especificacionesarquitectnicas entre diferentes ADLs, o en otras palabras, como un lenguaje deintercambio de arquitectura. No es entonces un ADL en sentido estricto, aunque laliteratura de referencia acostumbra tratarlo como tal. De hecho, posee
numerosasprestaciones que tambin son propias de los ADLs. En su sitio oficial se reconoce quecomo ADL no es necesariamente apto para cualquier clase de sistemas, al mismo tiempoque se destaca su capacidad de describir con facilidad sistemas relativamente simples. ADML ADML agrega al mundo de los ADLs una forma de representacinbasada en estndares de la industria, de modo que sta pueda ser leda por cualquierparser de XML. En ambientes Windows el parser primario y el serializador de XML seinstala con Microsoft Internet Explorer de la versin 4 en adelante, y todas lasaplicaciones de Office, as como SQL Server, poseen soporte nativo de XML y por lotanto del lenguaje arquitectnico de markup. El Framework .NET de Microsoft incluyeadems clases (xmlreader, xmlwriter) que hacen
que implementar tratamiento dedocumentos ADML, xADL, xArch y sus variantes resulte relativamente trivial.
Aesop. Aesop es una herramienta para construir ambientes dediseo de software basada en principios de arquitectura. El ambiente de desarrollo deAesopSystem se basa en el estilo de tubera y filtros propio de UNIX. Un diseo enAesop requiere manejar toda una jerarqua de lenguajes especficos, y en particular FAMCommandLanguage (FCL, a pronunciar como fickle), que a su vez es una extensin deTCL orientada a soportar modelado arquitectnico. ArTek ArTek fue desarrollado por Teknowledge. Se lo conoce tambin
comoARDEC/TeknowledgeArchitectureDescriptionLanguage. En opinin de Medvidovic noes un genuino ADL, por cuanto la configuracin es modelada implcitamente medianteinformacin de interconexin que se distribuye entre la definicin de los componentesindividuales y los conectores. En este sentido, aunque pueda no ser un ADL en sentidoestricto, se le reconoce la capacidad de modelar ciertos aspectos de una arquitectura. C2 (C2 SADL, C2SADEL, xArch, xADL) C2 o Chiron-2 no es estrictamente un ADL sino un estilo de arquitectura de software quese ha impuesto como estndar en el modelado de sistemas que requieren intensivamentepasaje de mensajes y que suelen poseer una interfaz grfica dominante. C2
SADL(SimulationArchitectureDescriptionLanguage) es un ADL que permite describir arquitecturasen estilo C2. C2SADEL es otra variante; la herramienta de modelado cannicade este ltimo es DRADEL (Development of Robust Architecturesusing a Descriptionand EvolutionLanguage). CHAM CHAM (ChemicalAbstract Machine) no es estrictamente un ADL, aunque algunos autores, en particular Inverardi y Wolf [BB92] aplicaron CHAM para describir la arquitecturade un compilador. Se argumenta, en efecto, que CHAM proporciona una base til para
ladescripcin de una arquitectura debido a su capacidad de componer especificaciones paralas partes y describir explcitamente las reglas de composicin.
Darwin Darwin es un lenguaje de descripcin arquitectnica desarrollado por Jeff Magee y JeffKramer [MEDK95, MK96]. Darwin describe un tipo de componente mediante una interfazconsistente en una coleccin de servicios que son ya sea provistos (declarados porese componente) o requeridos (o sea, que se espera ocurran en el entorno). Lasconfiguraciones se desarrollan instanciando las declaraciones de componentes yestableciendo vnculos entre ambas clases de servicios. Jacal Es un lenguaje de descripcin de arquitecturas de software de propsito general creado enla Universidad de Buenos Aires, por un grupo de investigacin del Departamento deComputacin de la Facultad de Ciencias Exactas y Naturales. LILEANNA Al igual que en el caso de ArTek, en opinin de Medvidovic LILEANNA no es ungenuino ADL, por cuanto la configuracin es modelizada implcitamente medianteinformacin de interconexin que se distribuye entre la definicin de los componentesindividuales y los conectores. En este sentido, aunque pueda no ser un ADL en sentidoestricto, se le reconoce la capacidad de modelizar ciertos aspectos de una arquitectura. MetaH/AADL As como LILEANNA es un ADL ligado a desarrollos que guardan relacin especficacon helicpteros, MetaH modela arquitecturas en los dominios de gua, navegacin ycontrol (GN&C) y en el diseo aeronutico. Aunque en su origen estuvo ligado31estrechamente a un dominio, los requerimientos imperantes obligaron a implementar recursossusceptibles de extrapolarse productivamente a la tecnologa de ADLs depropsito general. Rapide Se puede caracterizar como un lenguaje de descripcin de sistemas de propsito generalque permite modelar interfaces de componentes y su conducta observable. Sera tanto unADL como un lenguaje de simulacin. La estructura de Rapide es sumamente compleja,y en
realidad articula cinco lenguajes: el lenguaje de tipos describe las interfaces de loscomponentes; el lenguaje de arquitectura describe el flujo de eventos entre componentes;el lenguaje de especificacin describe restricciones abstractas para la conducta de loscomponentes; el lenguaje ejecutable describe mdulos ejecutables; y el lenguaje depatrones describe patrones de los eventos. UML - De OMT al Modelado OO UML forma parte del repertorio conocido como lenguajes semi-formales de modelado. Esta variedad de herramientas se remonta a una larga tradicin que arranc a mediados dela dcada de 1970 con PSL/PSA, SADT y el anlisis estructurado. UniCon UniCon (Universal ConnectorSupport) es un ADL desarrollado por Mary Shaw y otros[SDK+95]. Proporciona una herramienta de diseo para construir configuraciones ejecutablesbasadas en tipos de componentes, implementaciones y conexiones
expertasque soportan tipos particulares de conectores. Weaves Propuesto alrededor de 1991 [GR91], Weaves soporta la especificacin de arquitecturasde flujo de datos. En particular, se especializa en el procesamiento en tiempo real degrandes volmenes de datos emitidos por satlites meteorolgicos. Es un ADL acasodemasiado ligado a un dominio especfico, sobre el cual no hay abundancia de
documentacindisponible. Wright Se puede caracterizar sucintamente como una herramienta de formalizacin de conexionesarquitectnicas. Ha sido desarrollado por la Escuela de Ciencias Informticas de laUniversidad Carnegie Mellon, como parte del proyecto mayor ABLE. Este proyecto a suvez se articula en dos iniciativas: la produccin de una herramienta de diseo, que ha sidoAesop, y una especificacin formal de descripcin de arquitecturas, que es propiamente Wright.