The backbone of most software architectures and component integration frameworks
is one or more architectural styles that provide a domain-specic design
vocabulary and a set of constraints on how that vocabulary is used. Today's architectural
styles are increasingly complex, involving rich vocabularies and numerous
constraints. Hence, designing a sound and appropriate style becomes an intellectually
challenging activity. Unfortunately, although there are numerous tools to help
in the analysis of architectures for individual systems, relatively less work has been
done on tools to help in the design of architectural styles. In this paper we address
this gap by showing how to map an architectural style, expressed formally in an
architectural description language, into a relational model that can then be checked
for properties, such as whether a style is consistent, whether a style satises some
predicates over its architectural structure, and whether two styles are compatible
for composition.