lenguaje de descripcion de arquitectura

27
UNIVERSIDAD NACIONAL EXPERIMENTAL DE LOS LLANOS OCCIDENTALES EZEQUIEL ZAMORA UNELLEZ SUBPROYECTO: TSU: Arquitectura del Software RODRÍGUEZ EDGAR C.I: 20.101.552 ING. I NFORMATICA BOTIA DARWIN C.I.: 20.961.938

Upload: edgarxavier17

Post on 29-Sep-2015

268 views

Category:

Documents


9 download

DESCRIPTION

Lenguaje de Descripcion de Arquitecturas

TRANSCRIPT

UNIVERSIDAD NACIONAL EXPERIMENTAL

DE LOS LLANOS OCCIDENTALES EZEQUIEL ZAMORA

UNELLEZ

SUBPROYECTO: TSU:

Arquitectura del Software RODRGUEZ EDGAR C.I: 20.101.552 ING. I NFORMATICA BOTIA DARWIN C.I.: 20.961.938SECCION 3ES01N CAMACHO GENESSIS C.I.: 20.961.727 HERRERA JUNIOR C.I: 23.913.009 MANTILLA JUAN C.I.: 16.694.631BARINAS, ABRIL 2015.CUADRO EXPLICATIVO LDA

LDACaractersticasVentajasDesventajasInvestigador

AcmeCapaz de soportar el mapeo de especificaciones arquitectnicas entre diferentes ADLs, o en otras palabras, como un lenguaje de intercambio de arquitectura.

Define 4 tipos dentro de la arquitectura y 7 elementos fundamentales.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.

Su cdigo se encuentra disponible tanto en C++ como en Java, y puede ser invocada por lo tanto desde cualquier lenguaje la plataforma clsica de Microsoft o desde el framework de .NET.

Soporta una variedad de front-ends de carcter grfico, que se componen por:AcmeStudioque es un entorno grfico basado en WindowsyLinux, susceptible de ser configurado para soportar visualizaciones especficas de estilos e invocacin de herramientas auxiliaresNo existe garanta de que se alcanzar una solucin.

Es una arquitectura ineficiente, puesto que no existe una cota respecto al tiempo de cmputo necesario para resolver el problema.

Es difcil obtener una traza de los pasos que llevaron a la solucin, es decir, no ofrece explicaciones

David Garlan(Ao 1990)

AesopEl nombre oficial es Aesop Software Architecture Design Environment Generator.

Su objetivo es la exploracin de las bases formales de la arquitectura de software, el desarrollodel concepto de estilo arquitectnico y la produccin de herramientas tiles a la arquitectura.

Es una herramienta para construir ambientes dediseo de software basada en principios de arquitecturaEl ambiente de desarrollo de Aesop System se basa en el estilo de tubera y filtros propio de UNIX.

Un diseo en Aesop requiere manejar toda una jerarqua de lenguajes especficos, y en particular FAM Command Language (FCL, a pronunciar como fickle), que a su vez es una extensin de TCL orientada a soportar modelado arquitectnico.Aesop no est disponible en plataforma Windows, aunquenaturalmente puede utilizarse para modelar sistemas implementados en cualquierplataforma.

No incluye ningn soporte nativo para la descripcin de la semntica de un estilo o configuracin, sino que apenas presentaunos cuadros vacantes para colocar esa informacin como comentario.

ArTekSe lo conoce tambin como ARDEC/Teknowledge Architecture Description Language.

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.Aunque pueda no ser un ADL en sentido estricto, se le reconoce la capacidad de modelar ciertos aspectos de una arquitectura.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.

Hoy en da ArTek no se encuentra disponible en ningnsitio y para ninguna plataforma.

Desarrollado por Teknowledge

Armani

Se constituy en un lenguaje de tipo ADL, especializado en la descripcin de la estructura de un sistema y su evolucin en el tiempo.

Armani se basa en siete entidades para describir las instancias del diseo: componentes, conectores, puertos, roles, sistemas, representaciones y propiedades.

Es un lenguaje puramente declarativo que describe la estructura del sistema y las restricciones a respetar

No hace referencia alguna a la generacin del sistema o a la verificacin de sus propiedades no funcionales o de consistencia.

C2 SADLC2 o Chiron-2 no es estrictamente un ADL sino un estilo de arquitectura de software que se ha impuesto como estndar en el modelado de sistemas que requieren intensivamente pasaje de mensajes y que suelen poseer una interfaz grfica dominante.

C2 SADL (Simulation Architecture Description Language) es un ADL que permite describir arquitecturas en estilo C2. SADEL es otra variante; la herramienta de modelado cannica de este ltimo es DRADEL Llegado el momento del auge de XML. Se asegura que SADL permiti formalizar la arquitectura de referencia y asegurar su consistencia con la arquitectura de implementacin.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.

Disponibilidad de plataforma Existen extensiones de Microsoft Visio para C2 y x ADL.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.

En algn momento C2 SADL (que nunca pas de la 22 fase de prototipo alfa) fue reemplazado por C2SADEL, cuya sintaxis es diferente y ya no se articula en la misma clase de mdulos declarativos e imperativos.

CHAM Es usado para describir la arquitectura de un compilador. Se argumenta, en efecto, que CHAM proporciona una base til para la descripcin de una arquitectura debido a su capacidad de componer especificaciones para las partes y describir explcitamente las reglas de composicin.

Se basa en la tcnica de especificacin en lgebra de procesos que utiliza como fundamento terico los sistemas de rescritura de trminos para capturar la conducta comunicativa de los componentes arquitectnicos.El modelo de CHAM reposa en una metfora qumica en la cual la conducta de una arquitectura se especifica definiendo mol- culas y soluciones de molculas. Tambin contiene reglas de transformacin que dictan las formas en que pueden evolucionar las soluciones (o sea, en que pueden cambiar los estados). La formalizacin mediante CHAM es idiosincrtica y (por as decirlo) hecha a mano, de modo que no hay criterios claros para analizar la consistencia y la completitud de las descripciones de configuracin. Convendr contar entonces con alguna herramienta de verificacin.

Darwin Describe un tipo de componente mediante una interfaz consistente en una coleccin de servicios que son ya sea provistos (declarados por ese componente) o requeridos (o sea, que se espera ocurran en el entorno).

Soporta la descripcin de arquitecturas que se reconfiguran dinmicamente a travs de dos construcciones: instanciacin tarda 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.Como su nombre lo indica, Darwin est orientado ms que nada al diseo de arquitecturas dinmicas y cambiantes.

Proporciona una semntica para sus procesos estructurales mediante el clculo . Cada servicio se modeliza como un nombre de canal, y cada declaracin de enlace (binding) se entiende como un proceso que trasmite el nombre de ese canal a un componente que requiere el servicioNo proporciona una base adecuada para el anlisis de la conducta de una arquitectura, debido a que el modelo no dispone de ningn medio para describir las propiedades de un componente o de sus servicios ms que como comentario.

Carece de la capacidad de definir nuevos tipos, soportando slo una amplia variedad de tipos de servicio predefinidos.

LILEANNAEs un lenguaje de conexin de mdulos.

LILEANNA es un ADL ligado a desarrollos que guardan relacinespecfica con helicpteros

La configuracin es modelizada implcitamente mediante informacin de interconexin

Es un ADL (o ms estrictamente un MIL) que utiliza el lenguaje Ada para la implementacin y Anna para la especificacin.

Es visto como ADL, estructural y sintcticamente distinto a todos los dems.

Se utiliza para producir software de navegacin de helicpteros.

Permite la capacidad de modelar ciertos aspectos de una arquitectura.

LILEANNA soporta diferentes estilos de comunicacin

No estn en lnea con el estilo de arquitectura orientada a servicios o con modelos igualmente robustos.

Tracz (Loral Federal)(Ao: 1.993)

MetaHModela arquitecturas en los dominios de gua, navegacin y control (GN&C) y en el diseo aeronutico.

Est exclusivamente ligado a desarrollos hechos en Ada en el dominio de referencia.

Garantiza la puesta en marcha, la confiabilidad y la seguridad de los sistemas modelados.

Considera la disponibilidad y las propiedades de los recursos de hardware.

Permite una Disponibilidad de plataforma en Diferentes Sistemas Operativos

Provee un conjunto extenso de herramientas visuales y de edicin de texto

Binns, Englehart (Honeywell)(Ao: 1.993)

RapideSe caracteriza como un lenguaje de descripcin de sistemas de propsito general que permite modelar interfaces de componentes y su conducta observable.

Los puntos de interfaz de los componentes se llamanConstituyentes

Las interfaces de Rapide definen el comportamiento computacional de un componente vinculando la observacin de acciones externas con la iniciacin de acciones pblicas

Toda la arquitectura es simulada, generando un conjunto de eventos que se supone es compatible con las especificaciones de interfaz, conducta y restricciones.

La estructura de Rapide es sumamente compleja.

Simula y determina la conformidad de una Arquitectura.

Rapide permite modelar la conducta de sus componentes.

El monitoreo de eventos y las herramientas nativas de filtrado facilitan el anlisis de arquitectura.

Implementa verificacin de consistencia y anlisis mediante simulacin.

La simulacin es til para detectar alternativas de ejecucin.

Rapide soporta notacin grfica.

Soporta construccin de sistemas ejecutables especificados en VHDL, C. C++, Ada y Rapide mismo.

Puede generar cdigo C, C++ y Ada

Soporta herencia, anloga a la de los lenguajes OOP.

No es posible poner nombre, sub-tipear o reutilizar un conector.

Falta de caractersticasde escalabilidad.

Luckham (Stanford)(Ao: 1.990)

JacalJACAL es un lenguaje grfico multipropsito para la descripcin de arquitecturas de software (ADL). Rene ventajas de otros lenguajes existentes y tiene la virtud de permitir la ejecucin (animacin) de las arquitecturas descritas. Mediante este procedimiento se puede comprobar o refutar propiedades deseables de los diseos y recopilar mtricas dinmicas. Se basa en una semntica denotacin que traduce arquitecturas a redes de Petri, que a su vez poseen una semntica operacional.Una de las Caractersticas deseables en un ADL, es como por ejemplo contar con una representacin grfica que permita a simple vista transmitir la arquitectura del sistema, sin necesidad de recurrir a informacin adicional. Para este fin, se cuenta con un conjunto predefinido (extensible) de conectores, cada uno con una representacin distinta.

JACAL est la aplicacin fue desarrollada en C++ para plataformas Win32Tambin hay un ambiente de diseo y ejecucin de sistemas descriptos en JACAL. La versin original fue implementada en forma unipersonal

JACAL no puede o no tiene la capacidad de reformular la arquitectura de software, o de describir sistemas de tiempo real.

UniConUniCon (Universal Connector Support) es un ADL desarrollado por Mary Shaw y otros [SDK+95]. Proporciona una herramienta de diseo para construir configuraciones ejecutables basadas en tipos de componentes, implementaciones y conexiones expertas que soportan tipos particulares de conectores.

UniCon se asemeja a Darwin en la medida en que proporciona herramientas para desarrollar configuraciones ejecutables de caja negra y posee un nmero fijo de tipos de interaccin, pero el modelo de conectores de ambos ADLs es distinto.UniCon es generar cdigo ejecutable a partir de una descripcin, a partir de componentes primitivos adecuados. UniCon se destaca por su capacidad de manejo de mtodos de anlisis de tiempo real a travs de RMA (Rate Monotonic Analysis).

Oficialmente se define como un ADL cuyo foco apunta a soportar la variedad de partes y estilos que se encuentra en la vida real y en la construccin de sistemas a partir de sus descripciones arquitectnicas.

UniCon es el ADL propio del proyecto Vitruvius, cuyo objetivo es elucidar un nivel de abstraccin de modo tal que se pueda capturar, organizar y tornar disponible la experiencia colectiva exitosa de los arquitectos de software.UniCon (igual que Darwin) carece de la capacidad de definir nuevos tipos, soportando slo una amplia variedad de tipos predefinidos.

Los tipos de componente son definidos por enumeracin, no siendo posible definir sub-tipos y careciendo por lo tanto de capacidad de evolucin.

UML Forma parte de los lenguajes semi-formales de modelado

- Es un estndar para modelado de sistemas.

-No es un estndar para procesos de software. Debe aplicarse en el contexto de un proceso de software.

Es una notacin, no es un proceso.

Permite visualizar, especificar, construir y documentar cada una de las partes que comprende el desarrollo del software.

Tiene una gran capacidad de diagramacin.

Posee una buena flexibilidad para admitir cambios no previstos durante el diseo o el rediseo.

Promueve la reutilizacin

Se puede usar para distintos tipos de sistemas.

Es fcilmente entendible.

No es una metodologa, es una notacin.

No es un lenguaje de programacin, se complementan.

No determina un proceso definido.No se presta con facilidad al diseo de sistemas distribuidos.

No es un mtodo de desarrollo.

Es independiente al ciclo de desarrollo al no ser un mtodo de desarrollo.

Rumbaugh, Jacobson, Booch (Rational)(Ao: 1.995)

WrightEs una herramienta de formalizacin de conexiones arquitectnicas

Define un conjunto de controles de consistencia y completitud estndar

Tiene como objetivo ser integrado de una metodologa formal con una descripcin arquitectnica y la aplicacin de procesos formales tales como lgebras de proceso y refinamiento de procesos a una verificacin automatizada de las propiedades de las arquitecturas de software.

Proporciona una base formal para la descripcin arquitectnica

Permite analizar tanto la arquitectura de los sistemas de software individuales y de las familias de sistemas.

Sirve como un vehculo para la exploracin de la naturaleza de las propias abstracciones arquitectnicas.

Permite una gran confianza al diseador en el diseo de un sistema.

Se concentra en el concepto de tipos de conectores explcitos.

Permite el uso de la comprobacin automatizada de caractersticas arquitectnicas.

Wright permite declarar propiedades que deben ser obedecidas por cualquier configuracin dentro del estilo.No aplica verificaciones de consistencia a travs de la simulacin.

No define el comportamiento del mismo sino sus relaciones.

Garlan (CMU)(Ao: 1.994)

xADLSe construye como unlenguaje modular.Es decir, no se define como un lenguaje monoltico en una sola descripcin, sino ms bien como un conjunto de mdulos

Es un LDA basado en XML diseado para ser usado por s mismo, as como para ser extendido soportando nuevas aplicaciones y dominios

Dispone un amplio conjunto de herramientas fcilmente adaptables (e incluso directamente) a las extensiones hechas de xADL

Se puede ampliar mediante la adicin de nuevos esquemas

Se construy desde el principio para poder ampliarse.

Consta de un conjunto creciente de mdulos que aaden nuevas construcciones de modelizacin o extienden los ya existentes

Fcilmente extensible (mdulos)

Incorpora soporte de modelado para tiempo de ejecucin y tiempo de diseo de elementos de un sistema

Integra apoyo a los tipos arquitectnicos

Los usuarios son libres de elegir los elementos de este conjunto o crear sus propias extensiones

Al contrario de los lenguajes anteriores, este permite la especializacin semntica a travs de mdulos de idiomas.

No est destinado a hacer frente a un dominio semntico especfico, sino ms bien para servir de base para experimentar con la creacin de nuevos dominios la combinacin de los dominios existentes, experimentando con diferentes construcciones de modelado en dominios existentes, o el modelado de dominios existentes en un nuevo y ms formato abierto.

Esta falta de un conjunto esttico de etiquetas permitidas por lo cual deben introducir un meta-lenguaje, para as definir idiomas.

Los cdigos pueden llegar a ser muy complicado.