Aladdin is a prototype tool
for performing architecture-level dependence analysis. Aladdin takes,
as input, an architectural specification and produces, as output,
chains representing the statically identifiable dependence
relationships in the specification. Aladdin's interface provides a set
of maintenance-related queries that can be performed over the
architectural description. Responses to queries are in the form of
chains of possible dependencies in the architecture. Currently Aladdin
works only on Rapide and Acme specifications, but it has
been carefully designed to separate language-specific processing tasks
from language-independent analysis tasks. The boundary is at the
matrix-builder, which interprets an abstract syntax tree
representation of an architectural specification producing a common
adjacency matrix representation of the dependences in the system. In
fact, the front-ends for both versions of Aladdin were obtained from
the respective language development groups and directly incorporated
into Aladdin. In the future, we expect to obtain other such ADL
front-ends for use with Aladdin.