checking architectural compliance in component-based systems
The software architecture of software systems often imposes constraints upon the design and the implementation of a system, for example upon how components are logically grouped or upon how they may interact. It is of great importance for the sake of maintainability and smooth operation of a software system that its design and implementation are compliant to its intended software architecture. Due to the complexity of today's software systems and the diversity of those constraints, guaranteeing the compliance by manual checks is impossible. Unfortunately, current tool support is not flexible enough to easily check different aspects of architectural compliance. This paper outlines a rule-based approach to architectural compliance checking for component-based systems. It is based upon a sound formalization of component-based descriptions of software systems and on the definition of architectural rules . It will be demonstrated by an exemplary industrial case study.
architectural compliance architectural rules component-based software design