They need to support both static and dynamic analyses. Static analysis includes internal consistency checks, such as whether appropriate components are connected and their interfaces match. Certain concurrent and distributed aspects of an architecture can also be assessed statically, such as the potential for deadlocks and starvation, performance, reliability, security, and so on. Finally, architectures can be statically analyzed for adherence to design heuristics and style rules. Examples of dynamic analysis are testing, debugging, assertion checking, and assessment of the performance, reliability, and schedulability of an executing architecture.
Specific languages provide different types of checks.
It identifies race conditions and potential deadlocks. Large-scale reuse is possible because the applications share a set of generic components and employ common interaction protocols. An architectural style is a recurring pattern of system organization. It defines a standard vocabulary of components and connectors and rules for their use. The use of architectural styles can promote design reuse by clarifying the context of applicability of particular solutions.