صفحه 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.
Software Architecture
Adaptability: An NFR
Approach
Nary Subramanian
Lawrence Chung
Firmware Engineer
Applied Technology
Division
Anritsu Company
Richardson, TX.
Dept. Of Computer Science
Univ. Of Texas at Dallas
Richardson, TX.
Email: narayanan.subramanian@anritsu.com
Email: chung@utdallas.edu
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?”
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
daptability is evolution to meet the needs of user and busine
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 hierarch
Assign criticalities to various softgoals
Determine extent to which
sign softgoals satisfice NFR softgoals - claim softgoal hierar
oose the design components that satisfice the relevant softgo
Legend: Down arrow = go to next step; Up arrow = iterate
Software Architecture Adaptability: An NFR Approach
A Comprehensive Definition of Adaptability
S
S
S’
meets
E
E
meets
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
S y n t a c t ic
A d a p t a t io n
[R C E S ]
S e m a n t ic
A d a p t a t io n
[R C E S ]
S e m a n t ic
A d a p t a t io n
[ C o m m u n ic a t io n ]
C o n te x tu a l
A d a p t a t io n
[R C E S ]
A u to
D e te c t
[E]
P erfo rm
[ C h a n g e in
S y s te m ]
R e c o g n it io n
[ C h a n g e in
S y s te m ]
M anu al
D e te c t
[E]
A u to
R ec o g.
[S]
Q u a lit y
[ O th e r s ]
S e m a n t ic
A d a p t a t io n
[ C h a n g e in B e h a v io r ,
C h a n g e in O u t p u t ]
S e m a n t ic
A d a p t a t io n
[ C h a n g e in E n v ir o n m e n t ,
C h a n g e in S y s t e m ]
D e t e c t io n
[ C h a n g e in
E n v ir o n m e n t ]
Q u a lit y
A d a p t a t io n
[R C E S ]
S e m a n t ic
A d a p t a t io n
[ P r o c e s s in g ] Q u a lit y [ B e h a v io r , O u t p u t ]
S e m a n t ic
A d a p t a t io n
[ P a r s in g ]
M an ual
R ec og.
[S]
S peed[R C E S ]
E x t e n s ib ilit y [ R C E S ]
A d a p t a t io n [ R C E S ]
A u to
P erfo rm
[S]
S o f tw a re
S y s te m
[ C h a n g e in
B e h a v io r ]
M a n u a l S o f tw a r e S o f tw a r e
P e r f o r m S y s te m S y s te m
[S]
[ ] [ ]
E x t e n s ib ilit y o f
S e m a n t ic
A d a p t a t io n
[ P r o c e s s in g ]
S p eed o f
S e m a n t ic
A d a p t a t io n
[ P r o c e s s in g ]
S o f tw a r e
S y s te m
[ C h a n g e in
O u tp u t]
S o f tw a r e
S y s te m
[ ]
S o f tw a r e
S y s te m
[ ]
SIG = Softgoal Interdependency Graph
Software Architecture Adaptability: An NFR Approach
Example SIG Development - Step 2
Design Softgoal Decomposition
3R s
T e c h n iq u e
S e m a n t ic
A n a ly s is
S y n ta x
A n a ly s is
C o m m u n ic a t ion
SIG = Softgoal Interdependency Graph
Software Architecture Adaptability: An NFR Approach
Final SIG
SIG = Softgoal Interdependency Graph
E x t e n s ib ilit y [ R C E S ]
A d a p t a t io n [ R C E S ]
S y n t a c t ic
A d a p t a t io n
[R C E S ]
S e m a n t ic
A d a p t a tio n
[R C E S ]
S e m a n tic
A d a p t a t io n
[ C o m m u n ic a t io n ]
C o n te x tu a l
A d a p t a tio n
[R C E S ]
Q u a lit y
A d a p t a t io n
[R C E S ]
S e m a n t ic
A d a p t a t io n
[ P r o c e s s in g ]
S e m a n tic
A d a p t a tio n
[ P a r s in g ]
S peed[R C E S ]
Q u a lit y [ B e h a v io r , O u t p u t ]
Q u a lit y
[ O th e rs ]
S e m a n t ic
A d a p t a t io n
[ C h a n g e in B e h a v io r ,
C h a n g e in O u t p u t ]
S e m a n t ic
A d a p t a t io n
[ C h a n g e in E n v ir o n m e n t ,
C h a n g e in S y s t e m ]
E x t e n s ib ilit y o f
S e m a n tic
A d a p t a tio n
[ P r o c e s s in g ]
S peed o f
S e m a n t ic
A d a p t a t io n
[ P r o c e s s in g ]
!
D e t e c tio n
[ C h a n g e in
E n v ir o n m e n t ]
A u to
D e te c t
[E]
M anual
D e te c t
[E]
!
P erf o rm
[ C h a n g e in
S y s te m ]
R e c o g n itio n
[ C h a n g e in
S y s te m ]
A u to
R ec o g.
[S]
M anual
R ec o g.
[S]
A u to
P erfo rm
[S]
!
!
S o f tw a r e
S y s te m
[ C h a n g e in
B e h a v io r ]
S o f tw a r e
S y s te m
[ C h a n g e in
O u tp u t]
M a n u a l S o f tw a re S o f tw a re
P e r f o r m S y s te m
S y s te m
[S]
[ ] [ ]
S o f tw a r e
S y s te m
[ ]
S o f tw a r e
S y s te m
[ ]
!
3R s
T e c h n iq u e
S e m a n tic
A n a ly s i s
S y n ta x
A n a ly s is
C o m m u n ic a t ion
Software Architecture Adaptability: An NFR Approach
Notation for SIGs
NFR Softgoal
3R s
T e c h n iq u e
Design Softgoal
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 knowledgebased approach
• Can be used to (semi-)automatically
generate adaptable architectures
Software Architecture Adaptability: An NFR Approach
Frame-like Notations
O p e r a tio n a liz in g S o f t g o a l 3 R s T e c h n iq u e
T y p e : 3 R s T e c h n iq u e
T o p ic : R C E S
L a b e l: y e t to b e d e t e r m in e d
P r io r it y : n o n - c r it ic a l
A u th o r : A B C
C r e a tio n t im e : 2 4 M a y 2 0 0 1
N F R D e c o m p o s it io n M e th o d R C E S Q u a lit y V ia S u b T y p e
P a r e n t : ty [ R C E S ]
O ff s p r i n g : ty 1 [ R C E S ] , . . . , ty n [ R C E S ]
C o n t r ib u tio n : O R
A p p l i c a b i l i t y C o n d i t i o n : ty : N F R T y p e
C o n s t r a i n t : f o r A l l i : ty i i s A t y a n d
/ * s e t u p o n e o ff s p r i n g f o r e v e r y
s u b t y p e o f ty * /
3R s
T e c h n iq u e
A d a p t a t io n [ R C E S ]
Design Softgoal
S y n t a c t ic
A d a p t a t io n
[R C E S ]
S e m a n t ic
A d a p t a t io n
[R C E S ]
C o n te x tu a l
A d a p t a t io n
[R C E S ]
Q u a lit y
A d a p t a t io n
[R C E S ]
NFR Decomposition Method
Software Architecture Adaptability: An NFR Approach
Frame-like Notations (cont’d)
O p e r a t io n a liz a t io n M e t h o d 3 R s T e c h n iq u e
P a r e n t : E x t e n s ib ilit y o f S e m a n t ic A d a p t a t io n [ P r o c e s s in g ]
O ff s p r in g : 3 R s T e c h n iq u e [ R C E S ]
C o n t r ib u t io n : M A K E
A p p lic a b ilit y C o n d it io n : A lw a y s - 3 R s T e c h n iq u e [ R C E S ] a lw a y s
M A K E s E x t e n s ib ilit y o f S e m a n t ic A d a p t a t io n [ P r o c e s s in g ]
C o n s t r a in t : /* M a n u a l c h a n g e t o t h e s o f t w a r e a n d r e lo a d in g o f s o f t w a r e r e q u ir e d * /
E x te n s ib ility o f
S e m a n tic
A d a p ta tio n
[ P r o c e s s in g ]
C o r r e la t io n R u le S e m a n t ic A n a ly s is H U R T S S p e e d
O f S e m a n t ic A d a p ta tio n
P a r e n t: S p e e d O f S e m a n t ic
A d a p t a t io n [P r o c e s s in g ]
O ff s p r i n g : S e m a n t i c A n a l y s i s [ R C E S ]
C o n t r ib u t io n : H U R T S
C o n d it io n : s e m a n t ic a n a ly s is t a k e s m o r e t h a n 1 0 0 m s
S p eed
of
S e m a n t ic
A d a p t a t io n
[ P r o c e s s in g ]
S e m a n t ic
A n a ly s is
3R s
T e c h n iq u e
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.