Acme es una herramienta para mapear especificaciones arquitectónicas entre diferentes ADLs. No es técnicamente un ADL, pero tiene muchas de sus características. Su objetivo principal es intercambiar descripciones arquitectónicas entre sistemas relativamente simples. Fue desarrollado en la Universidad Carnegie Mellon a principios de los 90.
1. Acme se define como una herramienta capaz de soportar el mapeo
de especificaciones arquino tectónicas entre diferentes ADL, o en
otras palabras, como un lenguaje de intercambio de arquitectura.
No es entonces un ADL en sentido estricto, aunque la literatura de
referencia acostumbra tratarlo como tal. De hecho, posee
numerosas prestaciones que también 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”.
2. El proyecto Acme comenzó a principios de 1995 en la Escuela de Ciencias de
la Computación de la Universidad Carnegie Mellon. Hoy este proyecto se
organiza en dos grandes grupos, que son el lenguaje Acme propiamente
dicho y el Acme Tool Developer’s Library (AcmeLib). De Acme se deriva, en
gran parte, el ulterior estándar emergente ADML. Fundamental en el
desarrollo de Acme ha sido el trabajado de destacados arquitectos y
sistematizadores del campo, entre los cuales el más conocido es sin duda
David Garlan, uno de los teóricos de arquitectura de software más activos en
la década de 1990. La bibliografía relevante para profundizar en Acme es el
reporte de R. T. Monroe [Mon98] y el artículo de Garlan, Monroe y Wile
[GMW00].
Robert Monroe
David Garlan
HISTORIA ACME
3. El objetivo principal de acme es ofrecer un mecanismo de intercambio de
descripciones arquitectecturales.
Tipos de arquitectura Provee tres funcionalidades básicas
que soporta acme:
OBJETIVOS
9. Los ADLs se remontan a los lenguajes de interconexión de módulos de la década
de 1970, pero se han comenzado a desarrollar con su denominación actual a partir
de 1992 o 1993, poco después de fundada la propia arquitectura de software como
especialidad profesional. La definición más simple es la de Tracz que define un
ADL como una entidad consistente en cuatro: componentes, conectores,
configuraciones y restricciones (constraints). Una de las definiciones más
tempranas es la de Vestal quien sostiene que un ADL debe modelar o soportar los
siguientes conceptos:
- Componentes
- Conexiones
- Composición jerárquica, en la que un componente puede contener una sub-
arquitectura completa.
- Paradigmas de computación, es decir, semánticas, restricciones y propiedades no
funcionales
- Paradigmas de comunicación
- Modelos formales subyacentes
- Soporte de herramientas para modelado, análisis, evaluación y verificación
- Composición automática de código aplicativo.
Que es lenguaje ADL
10. Tipos :
La estructura: Organización de un sistema en sus partes constituyentes.
Las propiedades de interés: información 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 representación.
Características que definen el lenguaje acme como ADL