صفحه 1:
Software Architecture
Adaptability: An NFR
Approach
Nary Subramanian Lawrence Chung
Firmware Engineer Dept. Of Computer Science
Applied Technology Univ. Of Texas at Dallas
Division Richardson, TX.
Anritsu Company Email: chung@utdallas.edu
Richardson, TX.
Email: narayanan.subramanian@anritsu.com
صفحه 2:
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: “Tam 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?”
صفحه 3:
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
صفحه 4:
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)
صفحه 5:
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 ...
صفحه 6:
Software Architecture Adaptability: An NFR Approach
Current Approach to Adaptability
State Problem
‘problem is to develop adaptable system that does xkx ...
[ Define Adaptability |
laptability is evolution to meet the needs of user and bugins
Develop solution
“Solution”
صفحه 7:
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
صفحه 8:
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
صفحه 9:
Software Architecture Adaptability: An NFR Approach
Steps in The NFR Approach
Decompose Adaptability
for the domain - NFR softqoal hiera!
evelop architectural alternatives - Design softgoal hie
Assign criticalities to various softg ey
Determine extent to which
gr_softgoals satisfice NER softgoals - claim softgoal hiefar
osd the design components that satisfice the relevant sdftg
.egend: Down arrow = go to next step; Up arrow = iterate
صفحه 10:
Software Architecture Adaptability: An NFR Approach
A Comprehensive Definition of Adaptability
م | 4 و
۵ 1 :’4
=
- meds
Ss [<>
Figure 1. Symbalsin the Definition of Adaptation
Legend:
S,S’: old and new system
E,E’: old and new environment
Change in system, نيقروة
environment
صفحه 11:
Software Architecture Adaptability: An NFR Approach
Example SIG Development - Step 1
NFR Softgoal Decomposition
و1 8
001 S1e0dl8C8S]
SIG = Softgoal Interdependency Graph
صفحه 12:
Software Architecture Adaptability: An NFR Approach
Example SIG Development - Step 2
Design Softgoal Decomposition
SIG = Softgoal Interdependency Graph
صفحه 13:
Software Architecture Adaptability: An NFR Approach
Final SIG
SIG = Softgoal Interdependency Graph
صفحه 14:
Software Architecture Adaptability: An NFR Approach
Notation for SIGs
oO NFR Softgoal
Design Softgoal هه
OR-contribution
52
AND-contribution
——- Strongly-negatively satisficing
+ Negatively satisficing
—— + Positively satisficing
—— Strongly-positively satisficing
Correlation Rule (negatively satisficing) * ب
صفحه 15:
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
صفحه 16:
hod
Software Architecture Adaptability: An NFR Approach
Frame-like Notations
0 1351 #مولمق 1 wallyh #ور ادكه
ا ور Parent: Wit
Tope ACES OE apeing: lB CES] nA CES]
Labels yet te be determined Centeibatiea: 0
او و Applicability Condition: 4: NFA Type
۵ ABC Constraint fr Alle sh ty ane
Cheating tin 24 ay 2008
(set ap aay of spring for every
subtype at ts)
2
we
Design Softgoal
NFR Decomposition Met!
صفحه 17:
Software Architecture Adaptability: An NFR Approach
Frame-like Notations (cont’d)
واه رام نا مد با ما
[Sem antil apiaion
Parent Speed Of Semantic.
AayuatnaPrecesing}
اه اراد امه نو
3
(Condi: vem atic analysis tabs wore (at 0b
Correlation Rule
tte stead املف تورلا
aan: Exteasby of Sen atc dyin 2rocesig]
(UEsring 3s Tee
(Contin: MAKE
‘play ndinn: vay 9s Techiqe (LCS alnas
1A LEs Extasy of Se antic dapat ves
ليون مسالب Coasts anal change tothe sollte ad oadng of
Operationalization Method
صفحه 18:
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.
صفحه 19:
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.