You are on page 1of 6

Arquitectura del software

Lenguaje ADL

Cedeo Moreira Xavier Fernando

10

Introduccin a los ADL


Un ADL es un lenguaje que provee caractersticas para modelar un sistema de software a nivel Arquitectnico. La arquitectura debera expresarse en una convencin grfica o en algn lenguaje avanzado de alto nivel de abstraccin son NECESARIOS Modelos formales para describir una arquitectura de Software. Los ADLshan sido propuestos como una posible alternativa. Los ADLsse usan para satisfacer requerimientos descriptivos de alto nivel que las htasbasadas en objetos y UML no cumplen satisfactoriamente. Contar con un ADL le permite al arquitecto razonar sobre propiedades del sistema con precisin.

Criterios de definicin de un ADL


Los ADLsse remontan a los lenguajes de interconexin de mdulos (MIL) de la dcada de 1970. Tracz[Wolf97] define un ADL como una entidad consistente en cuatro Cs: componentes, conectores, configuracionesy restricciones(constraints). La especificacin ms completa y sutil es la de Medvidovic [Med96]:

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.

You might also like