OC Cyber Rift - Project: Mapping Architectural Concepts to UML-RT


This project is based on the paper, "Reconciling the Needs of Architecture Description with Object-Modeling Notations", by David Garlan, Andrew Kompanek and Pedro Pinto (Unpublished Manuscript).

Acme is a general purpose architectural description language (ADL) designed by the ABLE group at CMU. It provides a formal method to describe software architectures, and enables reasoning about the functional and non-functional properties of the system. An accompanying tool, AcmeStudio, provides a GUI that allows visualization and drag-and-drop creation of architectural designs. It is still in development, but a working version can be downloaded from here.

Because the Unified Modeling Language (UML) is a widely used object-oriented design standard, enabling the translation of Acme descriptions to models in UML becomes important for object-oriented designers who also wish to benefit from the strengths of Acme. The ultimate goal of this project is to develop a tool to automate this translation. Facilitating the translation of architectural designs to object-oriented models would encourage the use of architectural designs and benefit the software design community.

The current focus is to implement a tool to automate the translation of Acme to the Petal format used by Rational Rose Real-Time. Timeline of project follows:

  • Sept 2000, project began.
  • Dec 2000, a basic mapping established for the basic Acme elements of component, connector, port, and role.
  • Jan 2001, a report drafted for publication.
  • Mar 2001, a paper submitted to the 2001 Parallel Distributed Processing Techniques and Application Conference, Distributed Software Architecture session.
  • Apr 2001, PDPTA accepted paper.
  • May 2001, implementation of translation tool began.
  • Jun 2001, translation tool prototype completed, with basic mapping capability, in time for DASADA demo.
DASADA Demo related information:
  • Brochure
  • Captured images of an example system before and after translation (both models manually drawn), click for full-size:



    ==>