Sie sind auf Seite 1von 7

1.

Describe qu es un lenguaje descriptor de arquitecturas, su importancia y las


ventajas de uso.

La definicin de ADL es la de un lenguaje descriptivo de modelado que se focaliza


en la estructura de alto nivel de la aplicacin antes que en los detalles de
implementacin de sus mdulos concretos. Los principales elementos de los ADL
son:

Composicin: que permiten la representacin del sistema como la


composicin de una serie de partes.
Configuracin y Abstraccin: Mediante las cuales se describen los roles o
papeles abstractos que juegan los componentes dentro de la arquitectura.
Flexibilidad: Ya que permiten la definicin de nuevas formas de interaccin
entre componentes.
Reutilizacin: Pues permiten la reutilizacin tanto de los componentes
como de la propia arquitectura, Heterogeneidad ya que pueden combinar
descripciones heterogneas.
Anlisis: Permiten diversas formas de anlisis de la arquitectura y de los
sistemas desarrollados a partir de ella.

Los lenguajes de descripcin de arquitecturas, ocupan una parte importante del


trabajo arquitectnico desde la fundacin de la AS. Ya que contando con un ADL,
un arquitecto puede razonar sobre las propiedades del sistema con precisin, pero
a un nivel de abstraccin convenientemente genrico. Algunas de esas
propiedades podran ser, por ejemplo, protocolos de interaccin, anchos de banda
y latencia, localizacin del almacenamiento, conformidad con estndares
arquitectnicos y previsiones de evolucin ulterior del sistema.

Suministran construcciones para especificar abstracciones arquitectnicas y


mecanismos para descomponer un sistema en componentes y conectores,
especificando de qu manera estos elementos se combinan para formar
configuraciones y definiendo familias de arquitecturas o estilos. Precisamente lo
que necesita una arquitectura para tener xito, y con ella el proyecto de software
en s, ya que un proyecto ser bueno en la medida que lo sea su arquitectura.
2. Investiga en diversas fuentes a tu alcance al menos cinco lenguajes
descriptores de arquitectura.

Acme - Armani: Acme se define como una herramienta capaz de soportar el


mapeo de especificaciones arquitectnicas entre diferentes ADLs, o en otras
palabras, como un lenguaje de intercambio de arquitectura.
ADML: ADML (Architecture Description Markup Language) constituye un intento
de estandarizar la descripcin de arquitecturas en base a XML
Aesop: El nombre oficial es Aesop Software Architecture Design Environment
Generator. Se ha desarrollado como parte del proyecto ABLE de la Universidad
Carnegie Mellon, cuyo 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.

ArTek: Es modelada implcitamente mediante informacin de interconexin que se


distribuye entre la definicin de los componentes individuales y los conectores. Se
le reconoce la capacidad de modelar ciertos aspectos de una arquitectura, 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

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

3. Identifica casos de aplicacin de cada uno de ellos.


Acme Armani: El siguiente ejemplo define una familia o estilo de la clase ms
simple, tubera y filtros. Este estilo est relacionado con las arquitecturas de flujo
de datos. Por ser el estilo ms primitivo y de definicin ms escueta, se ha
escogido ejemplificar con l la sintaxis de Acme y de todos los ADLs que se
revisarn despus. El estilo es caracterstico no slo de arquitecturas de tipo
UNIX, sino que es ampliamente usado en compiladores, flujos de datos,
tratamiento de XML con SAX, procesamiento de seales y programacin funcional,
as como en los mecanismos de procesamiento de consultas de algunos
servidores de bases de datos. Es el nico estilo, por otra parte, que puede ser
implementado explcita o implcitamente en todos los ADLs [Cle96]. En Acme la
sintaxis para definirlo sera:
// Una familia Acme incluye un conjunto de tipos de
// componente,conector, puerto (port) y rol que definen el vocabulario
// propio del estilo.
Family PipeFilterFam =
// Declara tipos de componente.
// Una definicin de tipo de componente en Acme permite establecer la estructura
//requerida por el tipo. Esta estructura se define mediante la misma sintaxis que la
//instancia de un componente.
Component Type FilterT = {
// Todos los filtros definen por lo menos dos puertos
Ports { stdin; stdout; };
Property throughput : int;
};
// Extiende el tipo bsico de filtro con una subclase (herencia)
// Las instancia de WindowsFilterT tendrn todas las propiedades y puertos de las
//instancias de FilterT, ms un puerto stderr y una propiedad implementationFile.
Component Type WindowsFilterT extends FilterT with {
Port stderr;
Property implementationFile : String;
};
// Declara el tipo de conector de tubera. Igual que los tipos de componente, un tipo
de //conector tambin describe la estructura requerida.
Connector Type PipeT = {
Roles { source; sink; };
Property bufferSize : int;
};
// Declara algunos tipos de propiedad que pueden usarse en sistemas del estilo
//PipeFilterFam
Property Type StringMsgFormatT = Record [ size:int; msg:String; ];
Property Type TasksT = enum {sort, transform, split, merge};
};
La biblioteca AcmeLib define un conjunto de clases para manipular
representaciones arquitectnicas Acme en cualquier aplicacin. 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. Es posible entonces implementar funcionalidad conforme a
Acme en forma directa en cualquier programa, o llegado el caso (mediante
wrapping) exponer Acme como web service.

CHAM: Supongamos que se desea compilar una pieza de cdigo en Lisp


semejante a la que se encuentra en el Software Development Kit que acompaa a
Visual Studio.NET, el cual incluye un programa en C# para generar un compilador
Lisp y sus respectivas piezas. Estas piezas estn articuladas igual que en el
ejemplo, incluyendo un Lexer, un Parser, un Semantizador y un Generador de
cdigo. A travs de las sucesivas transformaciones operadas en los filtros, el
programa fuente se convierte en cdigo objeto en formato MSIL.
La especificacin del modelo CHAM correspondiente es altamente intuitiva. Se
comienza con un conjunto de constantes P que representan los elementos de
procesamiento, un conjunto de constantes D que denotan los elementos de dato y
un operador infijo P que expresa el estado de un elemento. Los elementos de
conexin estn dados por un tercer conjunto C consistente en dos operaciones, i y
o, que actan sobre los elementos de dato y que obviamente denotan entrada y
salida. Lo que se llama sintaxis sigma de molculas en esta arquitectura
secuencial es entonces:
M ::= P | C | M <> M
P ::= text | lexer | parser | semantor | optimizer | generator
D ::= char | tok | phr | cophr | obj
C ::= i(D) | o(D)
El siguiente paso en CHAM es siempre definir una solucin inicial S1. Esta
solucin es un subconjunto de todas las molculas posibles que se pueden
construir bajo sigma y corresponde a la configuracin inicial conforme a la
arquitectura.
S1 = text <> o(char), i(char) <> o(tok) <> lexer
i(tok) <> o(phr) <> parser, i(phr) <> o(cophr) <> semantor,
i(cophr) <> o(cophr) <> optimizer, i(cophr) <> o(obj) <> generator
Esto quiere decir que se ingresa inicialmente texto en forma de caracteres, el
Lexer lo transforma en tokens, el Parser en frases, el Semantor en co-frases que
luego se optimizan, y el Generador de cdigo lo convierte en cdigo objeto. El
paso final es especificar tres reglas de transformacin:
T1 = text <> o(char) --> o(char) <> text
T2 = i(d) <> m1, o(d) <> m2 --> m1 <> i(d), m2 <> o(d)
T3 = o(obj) <> generator <> i(cophr) --> i(char) <> o(tok) <> lexer,
i(tok) <> o(phr) <> parser, i(phr) <> o(cophr) <> semantor,
i(cophr) <> o(cophr) <> optimizer, i(cophr) <> o(obj) <> generator

La primera regla hace que el cdigo fuente quede disponible para compilar. El
resto puede interpreta

4. Explica los siguientes elementos: nombre del lenguaje, fecha de


descubrimiento, investigador o institucin que lo desarroll, descripcin
general, y al menos, cuatro caractersticas que los distingan. Para mostrar la
informacin puedes utilizar la herramienta de tu eleccin.
Nombre Fecha de Investigador o Descripcin general Caractersticas distintivas
del descubri Institucin que
lenguaje miento desarrollo
Acme - 1995 Escuela de La motivacin soporta la definicin de cuatro tipos
Armani Ciencias de la fundamental de Acme es de arquitectura
Computacin de la el intercambio entre componentes, conectores,
Universidad arquitecturas e sistemas, puertos, roles,
Carnegie Mellon integracin de ADLs representaciones y rep-mapas
(mapas de representacin).
Acme considera, en efecto, tres
clase de tipos: tipos de
propiedades, tipos estructurales y
estilos.
Una familia Acme se define
especificando tres elementos de
juicio: un conjunto de tipos de
propiedades y tipos estructurales,
un conjunto de restricciones y una
estructura por defecto
ADML 2000 The Open Group y ADML agrega al mundo Posee soporte nativo e XML
fue desarrollado de los ADLs una forma permite tambin definir vnculos
originalmente en de representacin con objetos externos a la
MCC basada en estndares de arquitectura
la industria, de modo que El Framework .NET de Microsoft
sta pueda ser leda por incluye clases xmlreader, xmlwriter
cualquier parser de XML Puede ser leda por cualquier
parser de XML
Aesop Universidad objetivo es la exploracin El ambiente de desarrollo de
Carnegie Mellon de las bases formales de Aesop System se basa en el estilo
la arquitectura de de tubera y filtros propio de UNIX
software, el desarrollo Aesop implementa EDF (Earliest
del concepto de estilo Deadline First)
arquitectnico y la se describe mediante la definicin
produccin de de sub-tipos de los tipos
herramientas tiles a la arquitectnicos bsicos:
arquitectura Componente, Conector, Puerto,
Rol, Configuracin y Binding.
En Aesop los puntos de interfaz se
llaman puertos (ports).
ArTek 1935 Teknowledge Es modelada Se lo conoce tambin como
implcitamente mediante ARDEC/Teknowledge Architecture
informacin de Description Language
interconexin que se se le reconoce la capacidad de
distribuye entre la modelar ciertos aspectos de una
definicin de los arquitectura
componentes es reconocidamente un lenguaje
individuales y los especfico de dominio y siempre
conectores. Se le fue presentado como un caso
reconoce la capacidad testigo de generacin de un
de modelar ciertos modelo a partir de una instancia
aspectos de una particular de uso
arquitectura, es Hoy en da ArTek no se encuentra
reconocidamente un disponible en ningn sitio y para
lenguaje especfico de ninguna plataforma.
dominio y siempre fue
presentado como un
caso testigo de
generacin de un modelo
a partir de una instancia
particular de uso
CHAM CHAM proporciona una Su nombre es Chemical Abstract
base til para la Machine
descripcin de una CHAM es una tcnica de
arquitectura debido a su especificacin basada en lgebra
capacidad de componer de procesos que utiliza como
especificaciones para las fundamento terico los sistemas
partes y describir de rescritura de trminos para
explcitamente las reglas
de composicin 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
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.

Das könnte Ihnen auch gefallen