Title: Nary Subramanian
1Software Architecture Adaptability An NFR
Approach
- Nary Subramanian
- Firmware Engineer
- Applied Technology Division
- Anritsu Company
- Richardson, TX.
- Email narayanan.subramanian_at_anritsu.com
- Lawrence Chung
- Dept. Of Computer Science
- Univ. Of Texas at Dallas
- Richardson, TX.
- Email chung_at_utdallas.edu
2Software 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
3Software 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 OSs - self-managing systems such as eLiza
- dynamic uploading of firmware
4Software 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)
5Software 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 ...
6Software 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
7Software 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
8Software 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
9Software 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
10Software Architecture Adaptability An NFR
Approach
A Comprehensive Definition of Adaptability
Legend S,S old and new system E,E old and
new environment ?S,?E change in system,
environment
11Software Architecture Adaptability An NFR
Approach
Example SIG Development - Step 1 NFR
Softgoal Decomposition
SIG Softgoal Interdependency Graph
12Software Architecture Adaptability An NFR
Approach
Example SIG Development - Step 2 Design Softgoal
Decomposition
SIG Softgoal Interdependency Graph
13Software Architecture Adaptability An NFR
Approach
Final SIG SIG Softgoal Interdependency Graph
14Software Architecture Adaptability An NFR
Approach
Notation for SIGs
NFR Softgoal
Design Softgoal
OR-contribution
AND-contribution
Strongly-negatively satisficing
Negatively satisficing
Positively satisficing
Strongly-positively satisficing
Correlation Rule (negatively satisficing)
15Software 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
16Software Architecture Adaptability An NFR
Approach
Frame-like Notations
Design Softgoal
NFR Decomposition Method
17Software Architecture Adaptability An NFR
Approach
Frame-like Notations (contd)
Operationalization Method
Correlation Rule
18Software 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.
19Software 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.