Acme

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 17

Jos Luis Rival Muoz Ing.

(e) en

DEFINICION DE ADL
Un ADL es un lenguaje que provee caractersticas para modelar un sistema de software a nivel arquitectnico.

TIPOS DE ADL

ACME
El proyecto comenz a principios de Acme 1995 con el objetivo de proporcionar un lenguaje comn que podra ser utilizado para apoyar el intercambio de descripciones arquitectnicas entre una variedad de herramientas de diseo arquitectnico. Sus creadores fueron Robert Monroe y David Garlan.

ACME
Se define como una herramienta capaz de soportar el mapeo de especificaciones arquitectnicas entre diferentes ADLs, en otras palabras, como un lenguaje de intercambio de arquitectura.

OBJETIVO PRINCIPAL

La motivacin fundamental de Acme es el intercambio entre arquitecturas e integracin de ADLs.

CARACTERISTICAS

Editor grfico para el diseo arquitectnico Editar diseos en las familias actuales (estilos), o crear nuevas familias y tipos Crear nuevos estilos de diagramas sobre la base de las convenciones que definen la visualizacin Intergrated Armani Restricciones de chequeo para verificar las normas de diseo arquitectnico Implementado como plugin de Eclipse para la portabilidad y extensibilidad Disponible para Windows, Linux y MacOS X

Acme soporta la definicin de 4 tipos de arquitectura

ESTRUCTURA: Organizacin de un sistema en sus partes constituyentes. PROPIEDADES DE INTERES: Informacin que permite razonar sobre el comportamiento local o global tanto funcional como no funcional.

RESTRICCIONES: Lineamientos sobre la posibilidad del cambio en el tiempo.


LOS TIPOS Y ESTILOS.

ESTRUCTURA
Se define utilizando siete tipos de entidades: Componentes. Conectores. Sistema. Puertos. Roles. Representaciones. Mapas de representacin.

EJEMPLO ACME
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.

EJEMPLO ACME
// 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; };

EJEMPLO ACME
// 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; };

EJEMPLO ACME
// 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}; };

Ambiente de edicin de AcmeStudio con diagrama de tubera y filtros

EJEMPLO ACME CLIENTE/SERVIDOR


System simple_cs = { Component client = {Port send-request} Component server = {Port receive-request} Connector rpc = {Roles {caller, callee}} Attachments : {client.send-request to rpc.caller; server.receive-request to rpc.callee} }

ENTORNOS ACME

AcmeStudio, entorno grfico. Basado en Linux y Windows Armani, utiliza Microsoft Visio como front-endy un back-end Java. AcmeLib(C++, Java) Implementado como plugin de ECLIPSE para portabilidad y extensibilidad. Disponible para Windows, Linux y Mac OS-X

BIBLIOGRAFIA

La bibliografa relevante para profundizar en Acme es el reporte de R. T. Monroe [Mon98] y el artculo de Garlan, Monroe y Wile [GMW00]. http://www.cs.cmu.edu/~acme/

También podría gustarte