Está en la página 1de 7

Actividad 2.

- Lenguaje descriptor de arquitectura

Qu es un lenguaje descriptor de Arquitectura Software?


Es un lenguaje que ayuda a abstraer, conceptualizar modelar y concretar de una manera ms amplia y optima un software, esto lo hace a travs de las herramientas, los modelos y los patrones para aplicar estas en su desarrollo o construccin.

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. No es entonces un ADL en sentido estricto, aunque la literatura de referencia acostumbra tratarlo como tal. De hecho, posee numerosas prestaciones que tambin son propias de los ADLs. En su sitio oficial se reconoce que como ADL no es necesariamente apto para cualquier clase de sistemas, al mismo tiempo que se destaca su capacidad de describir con facilidad sistemas relativamente simples. Su cdigo se encuentra disponible en los lenguajes de programacin C++ y Java y puede ser invocada por lo tanto desde cualquier lenguaje la plataforma clsica de Microsoft o desde el Framework de .NET. Provee tres funcionalidades bsicas Architectural intercambio. Proporciona un formato de intercambio genrico de diseos arquitectnicos. Este lenguaje permite a los desarrolladores de herramientas de arquitectura para integrar fcilmente sus herramientas con otras herramientas complementarias. Del mismo modo, los arquitectos que utilizan herramientas Acme compatibles tienen una gama ms amplia de herramientas de anlisis y diseo disponibles a su disposicin que los arquitectos encerrados en un solo ADL. Base extensible para el nuevo diseo de la arquitectura y herramientas de anlisis. Muchos, si no la mayora, de diseo arquitectnico y de herramientas de anlisis requieren una representacin para describir, almacenar y manipular los diseos arquitectnicos. Desafortunadamente, el desarrollo de buenas representaciones arquitectnicas es difcil, consume tiempo, y costoso. Acme puede reducir el costo y la dificultad de construir herramientas de arquitectura, proporcionando un lenguaje y un conjunto de herramientas para utilizar como base para la construccin de herramientas. Acme proporciona una slida base extensible y una infraestructura que permite a los constructores de herramienta para evitar innecesariamente la reconstruccin de la infraestructura de herramientas estndar. Adems, el origen de Acme como lengua de intercambio genrico permite que las herramientas desarrolladas utilizando Acme como su representacin arquitectnica originaria de ser compatible con una amplia variedad de lenguajes de descripcin y conjuntos de herramientas con poco o ningn esfuerzo adicional del desarrollador arquitectura existente.

Arquitectura Descripcin. Acme ha emergido como un lenguaje de descripcin de la arquitectura til en su propio derecho. Proporciona un conjunto sencillo de construcciones del lenguaje para describir la estructura arquitectnica, tipos y estilos arquitectnicos, y las propiedades anotadas de los elementos arquitectnicos. Aunque no es apropiado para todas las aplicaciones, la descripcin de la arquitectura Acme lenguaje proporciona una buena introduccin al modelado de arquitectura, y una manera fcil de describir arquitecturas de software relativamente simples.

Define 4 tipos dentro de la arquitectura

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 Fundamentales Componentes Conectores Sistemas Puertos Roles Representaciones Mapas de representacin.

AESOP Es una herramienta para construir ambientes de diseo de software, basada en principios de arquitectura. El ambiente de desarrollo de Aesop System se basa en el estilo de tubera y filtros propios de Unix. Su objetivo es la exploracin de las bases formales de la arquitectura de software, el desarrollo del concepto de estilo arquitectnico y la produccin de herramientas tiles a la arquitectura, de las cuales Aesop es precisamente la ms relevante. La elaboracin formal del proyecto ABLE, por otro lado, ha resultado en el lenguaje Wright, que en este estudio se trata separadamente. Sus Caractersticas: Estilos Conforme a su naturaleza orientada a objetos, el vocabulario relativo a estilos arquitectnicos se describe mediante la definicin de sub-tipos de los tipos arquitectnicos bsicos: Componente, Conector, Puerto, Rol, Configuracin y Binding. Interfaces En Aesop) los puntos de interfaz se llaman puertos (ports). Modelo semntico Presupone que la semntica de una arquitectura puede ser arbitrariamente distinta para cada estilo. Por lo tanto, no incluye ningn soporte nativo para la descripcin de la semntica de un estilo o configuracin, sino que apenas presenta unos cuadros vacantes para colocar esa informacin como comentario. Soporte de lenguajes Aesop slo soporta nativamente desarrollos realizados en C++. Generacin de cdigo Aesop genera cdigo C++. Aunque Aesop opera primariamente desde una interfaz visual, el cdigo de Aesop es marcadamente ms procedural que el de Acme, por ejemplo, el cual posee una estructura de orden ms bien declarativo. El siguiente ejemplo muestra un estilo de tubera y filtros instanciado al tratamiento de un texto.

ArTek En el sentido estricto Artek puede no ser un ADL pero se le reconoce la capacidad de modelar ciertos aspectos de una arquitectura. Este lenguaje no es un genuino ADL, por cuanto la configuracin es modelada implcitamente mediante informacin de interconexin que se distribuye entre la definicin de los componentes individuales y los conectores. De todas maneras, es reconocidamente un lenguaje especfico de dominio y siempre fue presentado como un caso testigo de generacin de un modelo a partir de una instancia particular de uso. Sus Caractersticas: Implementacin de referencia SADL se utiliz eficazmente para un sistema de control operacional de plantas de energa en Japn, implementado en Fortran 77. Se asegura que SADL permiti formalizar la arquitectura de referencia y asegurar su consistencia con la arquitectura de implementacin. Semntica El modelo semntico de C2 es algo ms primitivo que el de Rapide, por ejemplo. Los componentes semnticos se expresan en trminos de relaciones causales entre mensajes de entrada y salida de una interfaz. Luego esta informacin se puede utilizar para rastrear linealmente una serie de eventos. Soporte de lenguajes C2 soporta desarrollos en C++, Ada y Java, pero en realidad no hay limitacin en cuanto a los lenguajes propios de la implementacin. Modelos de interoperabilidad de componentes como OLE y ms recientemente COM+ no son ni perturbados ni reemplazados por C2, que los ha integrado con naturalidad [TNA+s/f].

CHAM Al igual que Artek, CHAM no es estrictamente un ADL aunque algunos autores usaron este lenguaje para describir la arquitectura de un compilador. Debido a su capacidad de componer especificaciones para las partes y describir explcitamente las reglas de composicin, se argumenta, en efecto, que CHAM proporciona una base til para la descripcin de una arquitectura esto debido a su capacidad de componer especificaciones para las partes y describir explcitamente las reglas de composicin. Es una tcnica de especificacin basada en lgebra de procesos que utiliza como fundamento terico los sistemas de rescritura de trminos para capturar la conducta comunicativa de los componentes arquitectnicos. Sus Caractersticas: Disponibilidad de plataforma CHAM es un modelo de mquina abstracta independiente de plataforma y del lenguaje o paradigma de programacin que se vaya a utilizar en el sistema que se modela. Su capacidad de componer especificaciones para las partes y describir explcitamente las reglas de composicin. Contiene Reglas de transformacin que dictan las formas en que pueden evolucionar las soluciones. Da la posibilidad de modelar conductas paralelas, ejecutando transformaciones en paralelo.

Darwin Es un lenguaje de descripcin arquitectnica en el cual las configuraciones se desarrollan instanciando las declaraciones de componentes y estableciendo vnculos entre ambas clases de servicios. Soporta la descripcin de arquitecturas que se reconfiguran dinmicamente a travs de dos construcciones: instanciacin tarda [lazy] y construcciones dinmicas explcitas. Utilizando instanciacin laxa, se describe una configuracin y se instancian componentes slo en la medida en que los servicios que ellos provean sean utilizados por otros componentes. La estructura dinmica explcita, en cambio, se realiza mediante constructos de configuracin imperativos. De este modo, la declaracin de configuracin deviene un programa que se ejecuta en tiempo de ejecucin, antes que una declaracin esttica de la estructura. Sus caractersticas: Estilos El soporte de Darwin para estilos arquitectnicos se limita a la descripcin de configuraciones parametrizadas, como la del ejemplo de la tubera que figura ms arriba. Esta descripcin, en particular, indica que una tubera es una secuencia lineal de filtros, en la que la salida de cada filtro se vincula a la entrada del filtro siguiente en la lnea. Un estilo ser entonces expresable en Darwin en la medida en que pueda ser constructivamente caracterizado; en otras palabras, para delinear un estilo hay que construir un algoritmo capaz de representar a los miembros de un estilo. Dada su especial naturaleza, es razonable suponer que Darwin se presta mejor a la descripcin de sistemas que poseen caractersticas dinmicas. Interfaces En Darwin las interfaces de los componentes consisten en una coleccin de servicios que pueden ser provistos o requeridos. Conectores Al pertenecer a la clase en la que Medvidovic [Med96] agrupa a los lenguajes de configuracin in-line, en Darwin no es posible ponerle nombre, sub-tipear o reutilizar un conector. Tampoco se pueden describir patrones de interaccin independientemente de los componentes que interactan. Semntica Darwin proporciona una semntica para sus procesos estructurales mediante el clculo. Cada servicio se modeliza como un nombre de canal, y cada declaracin de enlace se entiende como un proceso que trasmite el nombre de ese canal a un componente que requiere el servicio. Este modelo se ha utilizado para demostrar la correccin lgica de las configuraciones de Darwin. Dado que el clculo ha sido designado especficamente para procesos mviles, su uso como modelo semntico confiere a las configuraciones de Darwin un carcter potencialmente dinmico. En un escenario como el Web, en el que las entidades que interactan no estn ligadas por conexiones fijas ni caracterizadas por propiedades definidas de localizacin, esta clase de clculo se presenta como un formalismo extremadamente til. Ha sido, de hecho, una de las herramientas formales que estuvo en la base de los primeros modelos del XLANG de Microsoft, que ahora se encuentra derivando hacia BPEL4WS (Business Process Execution Language for Web Services). Anlisis y verificacin A pesar del uso de un modelo de clculo para las descripciones estructurales, Darwin no proporciona una base adecuada para el anlisis del comportamiento de una arquitectura. Esto es debido a que el modelo no posee herramientas para describir las propiedades de un componente o de los servicios que presta. Las implementaciones de un componente vendran a ser de este modo cajas negras no interpretadas, mientras que los

tipos de servicio son una coleccin dependiente de la plataforma cuya semntica tambin se encuentra sin interpretar en el framework de Darwin. Interfaz grfica Darwin proporciona notacin grfica. Existe tambin una herramienta grfica (Software Architects Assistant) que permite trabajar visualmente con lenguaje Darwin. El desarrollo de SAA parecera estar discontinuado y ser fruto de una iniciativa poco formal, lo que sucede con alguna frecuencia en el terreno de los ADLs. Soporte de lenguajes Darwin soporta desarrollos escritos en C++, aunque no presupone que los componentes de un sistema real estn programados en algn lenguaje en particular. Observaciones Carece de la capacidad de definir nuevos tipos, soportando slo una amplia variedad de tipos de servicio predefinidos. Presupone que la coleccin de tipos de servicio es suministrada por la plataforma para la cual se desarrolla una implementacin, y confa en la existencia de nombres de tipos de servicio que se utilizan sin interpretacin, slo verificando su compatibilidad. Disponibilidad de plataforma Aunque el ADL fue originalmente planeado para ambientes tan poco vinculados al modelado corporativo como hoy en da lo es Macintosh, en Windows se puede modelar en lenguaje Darwin utilizando Software Architects Assistant.

También podría gustarte