Lenguaje descriptivo de modelado arquitectnico de software que se focaliza en la estructura de
alto nivel de la aplicacin antes que en los detalles de implementacin de sus mdulos concretos. Su abreviatura es ADL. Los lenguajes de descripcin de arquitecturas, o ADLs, ocupan una parte importante del trabajo arquitectnico desde la fundacin de la disciplina. Se trata de un conjunto de propuestas de variado nivel de rigurosidad, casi todas ellas de extraccin acadmica, que fueron surgiendo desde comienzos de la dcada de 1990 hasta la actualidad, ms o menos en contemporaneidad con el proyecto de unificacin de los lenguajes de modelado bajo la forma de UML. Los ADL difiere sustancialmente de UML, que al menos en su versin 1.x se estima inadecuado en su capacidad para expresar conectores en particular y en su modelo semntico en general para las clases de descripcin y anlisis que se requieren. Los ADLs permiten modelar una arquitectura mucho antes que se lleve a cabo la programacin de las aplicaciones que la componen, analizar su adecuacin, determinar sus puntos crticos y eventualmente simular su comportamiento. Los ADLs son bien conocidos en los estudios universitarios de AS, pero muy pocos arquitectos de industria parecen conocerlos y son menos an quienes los utilizan como instrumento en el diseo arquitectnico de sus proyectos. Hay unos veinte ADLs de primera magnitud y tal vez unos cuarenta o cincuenta propuestos en ponencias que no han resistido el paso del tiempo o que no han encontrado su camino en el mercado. Se han analizado esos lenguajes descriptivos en un documento aparte, en el cual se invita asimismo a su discusin.
Elabora una lista de manera tabular al menos 5 lenguajes descriptores de arquitectura, incluyendo sus principales caractersticas. Acme. 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. Acme soporta una variedad de front-ends de carcter grfico, que se componen por: AcmeStudio que es un entorno grfico basado en Windows y Linux, susceptible de ser configurado para soportar visualizaciones especficas de estilos e invocacin de herramientas auxiliares , y un ambiente diseado en ISI que usa el editor de PowerPoint para manipulacin grfica acoplado con analizadores que reaccionan a cambios de una representacin de Modelo de Objetos de Componentes Distribuidos(DCOM) de los elementos arquitectnicos y de sus propiedades asociadas. Caractersticas: Tipos La estructura: Organizacin de un sistema en sus partes constituyentes. Las propiedades de inters: informacin que permite razonar sobre el comportamiento local o global, tanto funcional como no funcional Las restricciones: lineamientos sobre la posibilidad del cambio en el tiempo, Los tipos y estilos. Elementos Componentes Conectores Sistemas Puertos Roles Representaciones Mapas de representacin.
UniCon: ADL de propsito general con nfasis en conectores y estilos. Sus siglas significan Conector Universal de Soporte. 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 cual 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, etc., 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 es tambin diversa, se realiza a travs de mecanismos proporcionados por los lenguajes de programacin y no son ms que variables globales o llamadas a procedimiento, por medio de entradas en tablas de tareas o de encaminamiento y llamadas a funciones del sistema operativo o una plataforma subyacente, como por ejemplo para la lectura y escritura de sockets o para el envi y recepcin de mensajes etc.
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. Los actores y roles son de un tipo especfico que se describe a travs de atributos que dependen del tipo de que se trate, de tal forma que los actores y roles conectados entre s deben ser de un mismo 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, y es precisamente esto lo que permite a UniCon la generacin de un sistema ejecutable en C a partir de una descripcin arquitectnica, pero por otra parte no es posible definir sub.-tipos y por lo tanto carece de capacidad de evolucin. Este ADL se destaca adems por su capacidad de manejo de mtodos de anlisis de tiempo real a travs de RMA . Es importante sealar este ADL no tiene una base formal que posibilite la validacin de propiedades de las especificaciones, por otra parte no es posible la reutilizacin de componentes o arquitecturas, ni su adaptacin a cambios en los requisitos y la descripcin de sistemas dinmicos.
Jacal: ADL (Lenguaje de Descripcin Arquitectnica) de propsito general que se basa en la notacin de alto nivel para descripcin y prototipado de una arquitectura de software. 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.
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. 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 el prototipado, 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.
ADML: Como hubiera sido de esperarse ante la generalizacin del desarrollo en la era del Web, ADML (Architecture Description Markup Language) constituye un intento de estandarizar la descripcin de arquitecturas en base a XML. Est siendo promovido desde el ao 2000 por The Open Group y fue desarrollado originalmente en MCC. The Open Group ha sido tambin promotor de The Open Group Architectural Framework Como quiera que sea, ADML agrega al mundo de los ADLs una forma de representacin basada en estndares de la industria, de modo que sta pueda ser leda por cualquier parser de XML. En ambientes Windows el parser primario y el serializador de XML se instala con Microsoft Internet Explorer de la versin 4 en adelante, y todas las aplicaciones de Office, as como SQL Server, poseen soporte nativo de XML y por lo tanto del lenguaje arquitectnico de markup . El Framework .NET de Microsoft incluye adems clases ( xmlreader, xmlwriter) que hacen que implementar tratamiento de documentos ADML, xADL, xArch y sus variantes resulte relativamente trivial. En con-sonancia con la expansin de Internet, ADML permite tambin definir vnculos con objetos externos a la arquitectura (fundamentacin racional, diseos, componentes, etctera), as como interactuar con diversos repositorios de industria, tales como las especificaciones de OASIS relativas a esquemas para SWIFT, IFX, OFX/OFE, BIPS,OTP, OMF, HL7, RosettaNet o similares. ADML constituye adems un tronco del que depende una cantidad de especificaciones ms puntuales. Mientras ADML todava reposaba en DTD (Document Type Definition), una sintaxis de meta data que ahora se estima obsoleta, las especificaciones ms nuevas implementan esquemas extensibles de XML. La ms relevante tal vez sea xADL (apronunciar como zaydal), desarrollado por la Universidad de California en Irvine, que define XML Schemas para la descripcin de familias arquitectnicas, o sea estilos. La especificacin inicial de xADL 2.0 se encuentra en http://www.isr.uci.edu/projects/xar-chuci/ Tcnicamente xADL es lo que se llama una aplicacin de una especificacin ms abstracta y genrica, xArch, que es un lenguaje basado en XML, elaborado en Irvine y Carnegie Mellon para la descripcin de arquitecturas [DH01]. Cada tipo de conector, componente e interfaz de xADL incluye un place holder de implementacin que vendra a ser anlogo a una clase virtual o abstracta de un lenguaje orientado a objetos. ste es reemplazado por las variables correspondientes del modelo de programacin y plataforma en cada implementacin concreta. Esto permite vincular descripciones arquitectnicas y modelos directamente con cualquier binario, scripting o entidad en cualquier plataforma y en cualquier lenguaje.