We have developed additional Eclipse plug-ins with several
capabilities to achieve better integration between the two models.
An architect can model an architecture using AcmeStudio, having
access to AcmeStudio’s analyses to verify desired architectural
properties. The architect can then generate ArchJava starter code
using the refinement plug-in. As developers complete the
implementation to provide the functionality of the system,
ArchJava’s checks help ensure that the implementation conforms
to the architect’s design. Furthermore, any changes made by the
engineers are at least reflected in the ArchJava architecture.
If an existing ArchJava implementation does not have its
architecture specified using an architectural description language,
or if the documented architecture is severely out of date, we can
import an Acme architecture from an existing ArchJava
implementation. This makes it easier to get an overall view of the
architecture, navigate between different levels of architectural
modeling, and re-run the Acme architectural analyses to
incorporate new insights and requirements into the architecture.
We also provide the capability to incrementally synchronize an
Acme architecture and an ArchJava implementation, by pushing
changes to Acme and/or to ArchJava, to keep architecture and
implementation consistent during software evolution.