Embed
Email

Software Architecture Adaptability An NFR Approach

Document Sample
Software Architecture Adaptability An NFR Approach
Software Architecture

Adaptability: An NFR Approach



Nary Subramanian Lawrence Chung

Firmware Engineer Dept. Of Computer Science

Applied Technology Division Univ. Of Texas at Dallas

Anritsu Company Richardson, TX.

Email: chung@utdallas.edu

Richardson, TX.

Email: narayanan.subramanian@anritsu.com

Software Architecture Adaptability: An NFR Approach



Jini and the Programmer*

Once a lucky and broad-minded programmer found a Jini.

Programmer: “I feel sorry for people in the mid-east. Can you fix

that problem so that no more suffering occurs?”

Jini: “I am sorry, but that is something I cannot do.”

Programmer: “Then will you fix my programs so that they

meet the needs of every single user?”

Jini: “Give me the map - I have a better chance at Middle

East!”

*source: Web Moral : Be Adaptable

Software Architecture Adaptability: An NFR Approach





Adaptability Examples





• dual-mode cell phone

• command-processing system that accepts

commands of different versions

• software system being able to operate on

different OS’s

• self-managing systems such as eLiza

• dynamic uploading of firmware

Software Architecture Adaptability: An NFR Approach





Advantages of Adaptable Systems



• accomodate new requirements easily

• faster development of new software

• adding new software features

• fixing defects during maintenance phase

(which consumes currently 50% of cost)

Software Architecture Adaptability: An NFR Approach





What is Adaptability?



• No fixed definition

• Examples:

– ease with which system may be adapted to

changing requirements

– modifies behavior in response to changes in

operating environment

– a software quality metric

– ...and many more ...

Software Architecture Adaptability: An NFR Approach





Current Approach to Adaptability



State Problem

“problem is to develop adaptable system that does xxx ...”





Define Adaptability

“adaptability is evolution to meet the needs of user and business”



Develop solution

“Solution”

Software Architecture Adaptability: An NFR Approach



Some Drawbacks of Current Approach



• Lack of traceability of solutions to

requirements : why should “Solution” be

adaptable? The usual justification is “Solution

does so-and-so and hence satisfies definition

of adaptability”.

• No way to analyze/explore alternative

solutions: what are other possibilities besides

“Solution”

• No way to determine the degree to which

system is adaptable

Software Architecture Adaptability: An NFR Approach



The NFR Approach

• Applicable to any definition of adaptability

• Allows alternative solutions to be explored

• Decomposes “adaptability” depending on

the domain

• Criticalities can be allocated to different

NFRs of the decomposition

• Permits design tradeoffs

• Assessment of adaptability is possible

Software Architecture Adaptability: An NFR Approach



Steps in The NFR Approach

Decompose Adaptability

for the domain - NFR softgoal hierarchy

Develop architectural alternatives - Design softgoal hierarchy





Assign criticalities to various softgoals



Determine extent to which

design softgoals satisfice NFR softgoals - claim softgoal hierarchy



Choose the design components that satisfice the relevant softgoals



Legend: Down arrow = go to next step; Up arrow = iterate

Software Architecture Adaptability: An NFR Approach



A Comprehensive Definition of Adaptability



meets

S E

S E

meets

S’ E’



Figure 1. Symbols in the Definition of Adaptation



Legend:

S,S’: old and new system

E,E’: old and new environment

S,E: change in system, environment

Software Architecture Adaptability: An NFR Approach



Example SIG Development - Step 1

NFR Softgoal Decomposition

Adaptation[RCES] Extensibility[RCES] Speed[RCES]







Syntactic Semantic Contextual Quality

Adaptation Adaptation Adaptation Adaptation

[RCES] [RCES] [RCES] [RCES]







Semantic Semantic Semantic

Adaptation Adaptation Adaptation Quality

[Communication] [Parsing] [Processing] Quality[Behavior, Output] [Others]







Semantic Extensibility of Speed of

Semantic

Adaptation Semantic Semantic

Adaptation

[Change in Behavior, Adaptation Adaptation

[Change in Environment,

Change in Output] [Processing] [Processing]

Change in System]



Software Software

Detection Recognition Perform System System

[Change in [Change in [Change in [Change in [Change in

Environment] System] System] Behavior] Output]







Auto Manual Auto Manual Auto Manual Software Software Software Software

Detect Detect Recog. Recog. Perform Perform System System System System

[E] [E] [S] [S] [S] [S] [ ] [ ] [ ] [ ]









SIG = Softgoal Interdependency Graph

Software Architecture Adaptability: An NFR Approach



Example SIG Development - Step 2

Design Softgoal Decomposition









3Rs

Technique







Semantic Communicati-

Analysis Syntax on

Analysis









SIG = Softgoal Interdependency Graph

Software Architecture Adaptability: An NFR Approach



Final SIG

SIG = Softgoal Interdependency Graph

Adaptation[RCES] Extensibility[RCES] Speed[RCES]







Syntactic Semantic Contextual Quality

Adaptation Adaptation Adaptation Adaptation

[RCES] [RCES] [RCES] [RCES]







Semantic Semantic Semantic

Adaptation Adaptation Adaptation Quality

[Communication] [Parsing] [Processing] Quality[Behavior, Output] [Others]







Semantic Extensibility of Speed of

Semantic

Adaptation Semantic Semantic

Adaptation

[Change in Behavior, Adaptation Adaptation

[Change in Environment,

Change in Output] [Processing] [Processing]

Change in System]

!

Software Software

Detection Recognition Perform System System

[Change in [Change in [Change in [Change in [Change in

Environment] System] System] Behavior] Output]







Auto Manual Auto Manual Auto Manual Software Software Software Software

Detect Detect Recog. Recog. Perform Perform System System System System

[E] [E] [S ] [S ] [S ] [S ] [ ] [ ] [ ] [ ]

! ! ! !









3Rs

Technique







Semantic Communicati-

Analysis Syntax on

Analysis

Software Architecture Adaptability: An NFR Approach





Notation for SIGs



NFR Softgoal



3Rs Design Softgoal

Technique





OR-contribution

AND-contribution

Strongly-negatively satisficing

Negatively satisficing

Positively satisficing

Strongly-positively satisficing

Correlation Rule (negatively satisficing)

Software Architecture Adaptability: An NFR Approach



Knowledge-Based Approach

• A KB of design goals, decomposition

methods, correlations will make it easier to

search for such items for future use.

• Currently even when such catalogs are

available, they are not easy to use.

• NFR Approach allows for a knowledge-

based approach

• Can be used to (semi-)automatically

generate adaptable architectures

Software Architecture Adaptability: An NFR Approach



Frame-like Notations

Operationalizing Softgoal 3RsTechnique NFR DecompositionMethod RCESQualityViaSubType

Type: 3Rs Technique Parent: ty[RCES]

Topic: RCES Offspring: ty1[RCES],...,tyn[RCES]

Label: yet to be determined Contribution: OR

Priority: non-critical Applicability Condition: ty: NFR Type

Author: ABC Constraint: for All i: tyi isA ty and

Creation time: 24 May 2001 /* set up one offspring for every

subtype of ty */



3Rs

Technique Adaptation[RCES]







Design Softgoal

Syntactic Semantic Contextual Quality

Adaptation Adaptation Adaptation Adaptation

[RCES] [RCES] [RCES] [RCES]





NFR Decomposition Method

Software Architecture Adaptability: An NFR Approach



Frame-like Notations (cont’d)



OperationalizationMethod 3RsTechnique Correlation Rule SemanticAnalysisHURTSSpeed

Parent: Extensibility of Semantic Adaptation[Processing] OfSemanticAdaptation

Offspring: 3Rs Technique[RCES] Parent: Speed Of Semantic

Contribution: MAKE Adaptation[Processing]

Offspring: Semantic Analysis[RCES]

ApplicabilityCondition: Always - 3Rs Technique[RCES] always

Contribution: HURTS

MAKEs Extensibility of Semantic Adaptation[Processing] Condition: semantic analysis takes more than 100ms

Constraint: /*Manual change to the software and reloading of software required*/

Speed

of

Semantic

Extensibility of

Adaptation

Semantic [Processing]

Adaptation

[Processing]

Semantic

Analysis



3Rs

Technique







Operationalization Method Correlation Rule

Software Architecture Adaptability: An NFR Approach





Summary

• Analysis of NFR adaptability

• Current techniques are not traceable to

“whys” of software

• NFR Approach provides several advantages

to developing adaptable architectures

• NFR Approach allows for a KB approach

which will help generate architectures

(semi-)automatically.

Software Architecture Adaptability: An NFR Approach





Future Work



• Better cataloging of the NFR Adaptability and its

refinements

• Develop methods for different domains so that

KB is more useful to industry

• Develop procedure to generate architectures.


Related docs
Other docs by rogerholland
Shilpa Bhoj
Views: 2211  |  Downloads: 0
Software Quality Assurance
Views: 1198  |  Downloads: 50
Chapter 2 - The metaphysical impulse
Views: 14  |  Downloads: 0
Sarah Moore 4750 Pear Ridge Dr
Views: 20  |  Downloads: 0
PROJECT 1
Views: 3  |  Downloads: 0
Property Custody Reciept
Views: 23  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!