0
2.0kviews
Define architectural analysis. Discuss various analysis goals with an example.

Mumbai University > Computer Engineering > Sem 7 > Soft Computing

Marks: 10M

Year: May 2016

1 Answer
0
44views

Architectural analysis is the activity of discovering important system properties using the system’s architectural model.

The analysis of architectural models can have varying goals like early estimation of system size, complexity and cost. It can include satisfaction of system requirements-both functional and non-functional, evaluation of opportunities for reusing existing functionalities etc.

The goals of architectural analysis is categorized into four groups and referred as 4 c’s.

  1. Completeness
  2. Consistency
  3. Compatibility
  4. Correctness

Completeness is an external and internal analysis goal. It is external with respect to system requirements. The main goal of assessing architecture’s completeness is to establish whether it adequately captures all of the system’s key functional and non-functional requirements. Analyzing architecture for internal completeness establishes whether all of the system’s elements have been fully captured with respect to modeling notation and the system undergoing architectural design. Establishing the completeness of the model with respect to the modeling notation ensures that the model includes all the information demanded by the notation’s syntactic and semantic rules. Establishing the completeness of the model with respect to the system being designed requires checking whether there are missing components and connectors in the architecture, whether the specified components’ and connectors’ interfaces and protocols of interaction are fully specified, whether all of the dependencies and interaction paths are captured by the systems’ architectural configurations.

Consistency is an internal property of an architectural model which is intended to ensure that different elements of that model do not contradict one another. Some of the inconsistencies in a model include:

  • Name inconsistencies: it occurs at the level of components and connectors or their constituent elements such as names of services exported by a component.
  • Interface inconsistencies: it include naming inconsistency and other forms of inconsistencies. A components service name might be same as another component but their parameter list may differ.
  • Behavioral inconsistencies: it occurs between components that request and provide services whose names and interfaces match but behaviors don’t.
  • Interaction inconsistencies: it occurs when a component’s provided operations are accessed in a manner that violates certain interaction constraints.
  • Refinement inconsistencies: it stems from the fact that a system’s architecture is frequently captured at multiple levels of abstraction.

Compatibility is an external property of architectural model, intended to ensure that the model adheres to the design guidelines and constraints imposed by an architectural style, reference architecture or an architectural standard. If architecture must be compatible with a set of semi-formally or informally specified design guidelines, analyzing the architecture for compatibility may be more challenging and outcome of analysis process may also be ambiguous.

Correctness is an external property of an architectural model. A systems’ architecture is said to be correct if the architectural design decisions fully realize those specifications. The systems implementation is correct if the implementation fully captures and realizes all the principal design decisions comprising the architecture.

Please log in to add an answer.