Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
18 views47 pages

Chapter Analysis

Chapter 6 discusses architectural analysis, focusing on goals such as completeness, consistency, compatibility, and correctness. It outlines various analysis types, including static, dynamic, and scenario-driven analysis, and highlights the importance of stakeholders in the analysis process. The chapter also categorizes architectural models by formality and explores different analysis techniques, including inspection-based, model-based, and simulation-based approaches.

Uploaded by

thorat_496512597
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views47 pages

Chapter Analysis

Chapter 6 discusses architectural analysis, focusing on goals such as completeness, consistency, compatibility, and correctness. It outlines various analysis types, including static, dynamic, and scenario-driven analysis, and highlights the importance of stakeholders in the analysis process. The chapter also categorizes architectural models by formality and explores different analysis techniques, including inspection-based, model-based, and simulation-based approaches.

Uploaded by

thorat_496512597
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 47

CHAPTER-6

Analysis
Concerns Relevant to Architectural
Analysis

 Goals of analysis
 Scope of analysis
 Primary architectural concern being analyzed
 Level of formality of architectural models
 Type of analysis
 Level of automation
 System stakeholders interested in analysis
What Is Architectural Analysis?
 Architectural analysis is the activity of
discovering important system properties
using the system’s architectural models.

 Early, useful answers about relevant


architectural aspects
 Available prior to system’s construction

3
Architectural Analysis Goals

 The four “C”s

○ Completeness
○ Consistency
○ Compatibility
○ Correctness
Architectural Analysis Goals –
Completeness
 Completeness is both an external and an
internal goal
 It is external with respect to system
requirements
Challenged by the complexity of large systems’
requirements and architectures
Challenged by the many notations used to capture
complex requirements as well as architectures
 It is internal with respect to the architectural
intent and modeling notation
Have all elements been fully modeled in the
notation?
Have all design decisions been properly captured?
5
Architectural Analysis Goals –
Consistency
 Consistency is an internal property of an
architectural model
 Ensures that different model elements do
not contradict one another
 Dimensions of architectural consistency
Name
Interface
Behavior
Interaction
Refinement
6
Dimensions of architectural consistency
 Name
Component and connector names
Component service names

May be non-trivial to establish at the


architectural level
○ Multiple system elements/services with
identical names
○ Loose coupling via publish-subscribe or
asynchronous event broadcast
○ Dynamically adaptable architectures
Interface Consistency
 Encompasses name consistency
 Also involves parameter lists in component services
 A rich spectrum of choices at the architectural level
 Example: matching provided and required interfaces
ReqInt: getSubQ(Natural first, Natural last,
Boolean remove)
returns FIFOQueue;

ProvInt1: getSubQ(Index first, Index last)


returns FIFOQueue;

ProvInt2: getSubQ(Natural first, Natural last,


Boolean remove)
returns Queue;
8
Behavioral Consistency
 Names and interfaces of interacting components may match,
but behaviors need not
 Example: subtraction

subtract(Integer x, Integer y) returns


Integer;

 Can we be sure what the subtract operation does?


 Example: QueueClient and QueueServer components

QueueClient
precondition q.size > 0;
postcondition ~q.size = q.size;

QueueServer
precondition q.size > 1;
postcondition ~q.size = q.size - 1; 9
Interaction

 Names, interfaces, and behaviors of


interacting components may match, yet they
may still be unable to interact properly

 Example: QueueClient and QueueServer


components
 Refinement
 Architectural models are refined during the
design process
 A relationship must be maintained between
higher and lower level models
All elements are preserved in the lower level
model
All design decisions are preserved in the
lower-level model
No new design decisions violate existing
design decisions
 Compatibility
 Compatibility is an external property of an
architectural model
 It is to check the compatibility between new
and reused components\connectors,
reference architecture and propose
architecture.
 Ensures that the architectural model adheres
to guidelines and constraints of
a style
a reference architecture
an architectural standard
 Correctness
 Correctness is an external property of
an architectural model Ensures that
the architectural model fully realizes
a system specification
the system’s implementation fully
realizes the architecture
Inclusion of off-the-shelf elements
impacts correctness
System may include structural
elements, functionality, and non-
functional properties that are not part
of the architecture
The notion of fulfillment is key to
ensuring architectural correctness.
Scope of Analysis

 A software system’s architecture can be


analyzed from different perspectives and at
different levels. Architects may be interested
in assessing the properties of individual
components or connectors, or even their
constituent, such as interfaces or ports.
 Components- and Connector-Level
Analysis

 This analysis ensures that the given


component or connector provides the
services expected of it.
 For example, a component’s or connector’s
interface can be inspected to make sure
that no expected services are missing.
Subsystem- and system-Level Analysis

 Architects may assess the properties of connector-


component compositions at the level of the entire
system or incrementally, by focusing on particular
subsystems.
 The most manageable increment is pair-wise
conformance, where only two interacting
components are considered at a time, and name,
interface, behavior, and interaction conformance are
established.
 The next step up is to take a set of components
possibly interacting techniques can easily support
both these cases.
 .
 Data Exchanged in the System or
Subsystem

 Distributed software systems large amounts of


data are processed, exchanged, and stored.
 It is important that system’s data is properly
modeled, implemented, and exchanged
among the structural elements.
 Architecture at Different Abstraction
Levels

 This may involve the addition and refinement


of existing design.
 Example: in following figure, c1, c2, c3, c4 are
components interacting through connectors,
but this can be design in more depth by
extracting each component with their internal
communication
Architectural Concern Being
Analyzed
 Structural characteristics
 Behavioral characteristics
 Interaction characteristics
 Non-functional characteristics

24
 Structural Characteristics

 The structural characteristics of software


architecture include concerns such as the
connectivity among an architecture’s
components and connectors
 These concerns can help to determine
whether the architecture is well formed.
 Behavioral Characteristics
 Analyzing architecture’s behavioral
characteristics are needed if components and
their interaction do not provide expected
behaviors. it has two facets;

 Considering the internal behaviors of individual


components.
 Considering the architectural structure to
assess composite behaviors.
 Interaction characteristics

 The relevant characteristics of interactions in a


given architecture may include the numbers
and types of distinct software connectors, and
their values for different connector dimensions.

 Interaction characteristics can help to establish


whether the architecture will actually be able to
fulfill some of its requirements
Level of Formality of Architectural Models
 Architectural models can be classified as
follows
 Informal models
○ Informal models are typically captured in boxes-and-
lines diagrams. Informal models can provide a useful
high-level picture of the system.
○ They are amenable to informal and manual analysis,
typically by a broad section of stakeholders,
including nontechnical stakeholders such as
managers and system customers.
○ For example, system managers can use them to
determine a project’s overall staffing needs.
 Semi-formal models
○ Most architectural models used in practice
are semiformal.
○ A notation that strives to be useful to a large
number of system stakeholders, both
technical and nontechnical, will typically try
to strike a balance between a high degree of
precision and formality on the one hand, and
expressiveness and understandability on the
other.
○ Example: a semiformal languages such as
the UML are amenable both to manual and
automated analysis.
 Formal models

○ While semiformal modeling notations


typically only have a formally defined syntax,
formal notations also have formally defined
semantics.
○ For example formal notation is wright, which
was used to specify the Pipe-connector.
Type of Analysis
 Static analysis
 Dynamic analysis
 Scenario-driven analysis
Can be both static and dynamic

31
Static analysis
○ Static analysis involves inferring the
properties of a software system from one or
more of its models, without actually
executing those models.
○ A simple example of static analysis is
syntactic analysis: determining if the system
model adheres to the syntactic rules of the
modeling notation.
○ Static analysis can be automated (for
eg.compilation) or manual (for
eg.inspection).
 Dynamic analysis
○ This analysis involves actually
executing or simulating the
execution of a model of the software
system.
○ In order to perform dynamic analysis
on an architectural model, its
semantic underpinning must be
executable or amenable to
simulation.
 Scenario-driven analysis
○ It can be an instance of both static and
dynamic.
○ It is used for large and complex
software system. For such systems,
specific-use cases are identified that
represent the most important or most
frequently occurring system usage
scenarios, and the analysis is focus on
those.
Analysis Stakeholders
 Architects
 Developers
 Managers
 Customers
 Vendors

35
Analysis Technique Categories

 Inspection- and review-based


 Model-based
 Simulation-based

37
Architectural Inspections and
Reviews
 Architectural models studied by human
stakeholders for specific properties
 The stakeholders define analysis objective
 Manual techniques
 Can be expensive
 Useful in the case of informal architectural
descriptions
 Useful in establishing “soft” system properties
 E.g., scalability or adaptability
 Able to consider multiple stakeholders’ objectives
and multiple architectural properties

38
Inspections and Reviews in a
Nutshell
 Analysis Goals – any
 Analysis Scope – any
 Analysis Concern – any, but particularly suited
for non-functional properties
 Architectural Models – any, but must be geared
to stakeholder needs and analysis objectives
 Analysis Types – mostly static and scenario-
based
 Automation Level – manual, human intensive
 Stakeholders – any, except perhaps component
vendors
39
ATM Process
ATAM in a Nutshell
Completeness
Consistency
Goals
Compatibility
Correctness`
Subsystem- and system-level
Scope
Data exchange
Concern Non-functional
Informal
Models
Semi-formal
Type Scenario-driven
Automation Level Manual

Architects
Developers
Stakeholders
Managers
Customers
41
 Model-based
 Analysis techniques that manipulate
architectural description to discover
architectural properties Tool-driven, hence
potentially less costly
 Typically useful for establishing “hard”
architectural properties only
Unable to capture design intent and rationale
Usually focus on a single architectural aspect
 E.g. syntactic correctness, deadlock
freedom, adherence to a style Scalability
may be an issue
Model-Based Analysis in
ADLs
 Wright – uses CSP to analyze for deadlocks
 Aesop – ensures style-specific constraints
 MetaH and UniCon – support schedulability analysis
via NFPs such as component criticality and priority
 ADL parsers and compilers – ensure syntactic and
semantic correctness
E.g., Rapide’s generation of executable architectural
simulations
 Architectural constraint enforcement
E.g., Armani or UML’s OCL
 Architectural refinement
E.g., SADL and Rapide

43
ADLs’ Analysis Foci in a Nutshell
Consistency
Goals Compatibility
Completeness (internal)
Component- and connector-level
Subsystem- and system-level
Scope Data exchange
Different abstraction levels
Architecture comparison
Structural
Behavioral
Concern
Interaction
Non-functional
Semi-formal
Models
Formal
Type Static
Partially automated
Automation Level
Automated
Architects
Developers
Stakeholders
Managers
Customers

44
 Simulation-based
 Requires producing an executable system
model
 Simulation need not exhibit identical behavior
to system implementation Many low-level
system parameters may be unavailable
 It needs to be precise and not necessarily
accurate
 Some architectural models may not be
amenable to simulation Typically require
translation to a simulatable language
Simulation-Based Analysis in a
Nutshell
 Analysis Goals – any
 Analysis Scope – any
 Analysis Concern –behavioral, interaction,
and non-functional properties
 Architectural Models – formal
 Analysis Types – dynamic and scenario-
based
 Automation Level – fully automated; model
mapping may be manual
 Stakeholders – any
46
XTEAM in a Nutshell
Consistency
Goals Compatibility
Correctness
Component- and connector-level
Scope Subsystem- and system-level
Data exchange
Structural
Behavioral
Concern
Interaction
Non-functional
Models Formal
Dynamic
Type
Scenario-based
Automation Level Automated
Architects
Developers
Stakeholders Managers
Customers
Vendors
47

You might also like