An approach to compliance in software architectures

Software architectures are designed to meet the needs of the applications that use them. With conventional architectures this is done by predicting the average needs of the majority of the applications they support. In contrast, a compliant software architecture can accommodate the needs of a particular application. As the application evolves, its requirements change and the supporting software components, if compliant, change accordingly to meet these new requirements.