Enforcing architecture constraints
Robert M. Balzer · 1996
We have built an infrastructure which reifies the architectural connections between modules into a data structure that constantly reflects the dynamic structural architecture of a software system. It similarly makes available all communications passing through those connectors. Since these connections and the communications passing through them constitute the entire behavior of an architecture, our infrastructure provides the basis for a full range of architecture-level monitoring, testing, debugging, and enforcement tools. This paper concentrates on the latter by presenting a language for stating architectural constraints which can be checked against the data structure that dynamically reflects the software system's structural architecture. Introduction We have argued for some time that Instrumented Connectors were key to moving software architectures beyond documentation and static configuration. Even if the software architecture specification described a system's dynamic archite...