19
Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Email: [email protected] Lawrence Chung Dept. Of Computer Science Univ. Of Texas at Dallas Richardson, TX. Email: [email protected] Software Architecture Adaptability: An NFR Approach

Software Architecture Adaptability: An NFR Approach

Embed Size (px)

DESCRIPTION

Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Email: [email protected]. Lawrence Chung Dept. Of Computer Science Univ. Of Texas at Dallas Richardson, TX. Email: [email protected]. - PowerPoint PPT Presentation

Citation preview

Page 1: Software Architecture Adaptability: An NFR Approach

Nary SubramanianFirmware Engineer

Applied Technology Division

Anritsu Company

Richardson, TX.Email: [email protected]

Lawrence ChungDept. Of Computer Science

Univ. Of Texas at Dallas

Richardson, TX.Email: [email protected]

Software Architecture Adaptability: An NFR Approach

Page 2: Software Architecture Adaptability: An NFR Approach

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

Page 3: Software Architecture Adaptability: An NFR Approach

Software Architecture Adaptability: An NFR Approach

• 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

Adaptability Examples

Page 4: Software Architecture Adaptability: An NFR Approach

• 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

Advantages of Adaptable Systems

Page 5: Software Architecture Adaptability: An NFR Approach

• 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

What is Adaptability?

Page 6: Software Architecture Adaptability: An NFR Approach

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”

Page 7: Software Architecture Adaptability: An NFR 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

Some Drawbacks of Current Approach

Page 8: Software Architecture Adaptability: An 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

The NFR Approach

Page 9: Software Architecture Adaptability: An NFR Approach

Software Architecture Adaptability: An NFR Approach

Steps in The NFR Approach

Decompose Adaptabilityfor the domain - NFR softgoal hierarchy

Develop architectural alternatives - Design softgoal hierarchy

Determine extent to whichdesign softgoals satisfice NFR softgoals - claim softgoal hierarchy

Assign criticalities to various softgoals

Choose the design components that satisfice the relevant softgoals

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

Page 10: Software Architecture Adaptability: An NFR Approach

Software Architecture Adaptability: An NFR Approach

A Comprehensive Definition of Adaptability

S E

S’ E’

E

S

Figure 1. Symbols in the Definition of Adaptation

meets

meets

Legend:

S,S’: old and new system

E,E’: old and new environment

S,E: change in system, environment

Page 11: Software Architecture Adaptability: An NFR Approach

S em an ticAd ap ta tio n[ C o m m u n ic a tio n ]

S em an ticAd ap ta tio n [ P ar s in g ]

S em an ticAd ap ta tio n[ P r o c es s in g ]

Ad ap ta tio n [ R C E S ]

S y n tac ticAd ap ta tio n[ R C E S ]

S em an ticAd ap ta tio n[ R C E S ]

C o n tex tu a lAd ap ta tio n[ R C E S ]

Q u alityAd ap ta tio n[ R C E S ]

E x ten s ib ility [ R C E S ] S p eed [ R C E S ]

Q u ality [ Beh av io r , O u tp u t]Q u ality[ O th er s ]

Au toD etec t[E ]

E x ten s ib ility o fS em an ticAd ap ta tio n[ P r o c es s in g ]

S p eed o fS em an ticAd ap ta tio n[ P r o c es s in g ]

S em an ticAd ap ta tio n[ C h an g e in Beh av io r , C h an g e in O u tp u t]

S em an ticAd ap ta tio n[ C h an g e in E n v ir o n m en t, C h an g e in S y s tem ]

D etec tio n[ C h an g e in E n v ir o n m en t]

R ec o g n itio n[ C h an g e in S y s tem ]

P er f o r m[ C h an g e in S y s tem ]

S o f tw ar eS y s tem[ C h an g e in Beh av io r ]

S o f tw ar eS y s tem[ C h an g e in O u tp u t]

M an u alD etec t[E ]

Au toR ec o g .[S ]

M an u alR ec o g .[S ]

Au toP er f o r m[S ]

M an u alP er f o r m[S ]

S o f tw ar eS y s tem[ ]

S o f tw ar eS y s tem[ ]

S o f tw ar eS y s tem[ ]

S o f tw ar eS y s tem[ ]

Software Architecture Adaptability: An NFR Approach

Example SIG Development - Step 1 NFR Softgoal Decomposition

SIG = Softgoal Interdependency Graph

Page 12: Software Architecture Adaptability: An NFR Approach

3R sT e c hnique

S e m a nticA na lys is S ynta x

A na lys is

C om m unic a ti-on

Software Architecture Adaptability: An NFR Approach

Example SIG Development - Step 2 Design Softgoal Decomposition

SIG = Softgoal Interdependency Graph

Page 13: Software Architecture Adaptability: An NFR Approach

Software Architecture Adaptability: An NFR Approach

Final SIG SIG = Softgoal Interdependency Graph

S em an ticAd ap ta tio n[ C o m m u n ic a tio n ]

S em an ticAd ap ta tio n [ P ar s in g ]

S em an ticAd ap ta tio n[ P r o c es s in g ]

Ad ap ta tio n [ R C E S ]

S y n tac ticAd ap ta tio n[ R C E S ]

S em an ticAd ap ta tio n[ R C E S ]

C o n tex tu a lAd ap ta tio n[ R C E S ]

Q u alityAd ap ta tio n[ R C E S ]

E x ten s ib ility [ R C E S ] S p eed [ R C E S ]

Q u ality [ Beh av io r , O u tp u t]Q u ality[ O th er s ]

Au toD etec t[E ]

E x ten s ib ility o fS em an ticAd ap ta tio n[ P r o c es s in g ]

S p eed o fS em an ticAd ap ta tio n[ P r o c es s in g ]

3R sT e c hnique

S e m a nticA na lys is S ynta x

A na lys is

C om m unic a ti-on

S em an ticAd ap ta tio n[ C h an g e in Beh av io r , C h an g e in O u tp u t]

S em an ticAd ap ta tio n[ C h an g e in E n v ir o n m en t, C h an g e in S y s tem ]

D etec tio n[ C h an g e in E n v ir o n m en t]

R ec o g n it io n[ C h an g e in S y s tem ]

P er f o r m[ C h an g e in S y s tem ]

S o f tw ar eS y s tem[ C h an g e in Beh av io r ]

S o f tw ar eS y s tem[ C h an g e in O u tp u t]

M an u alD etec t[E ]

Au toR ec o g .[S ]

M an u alR ec o g .[S ]

Au toP er f o r m[S ]

M an u alP er f o r m[S ]

S o f tw ar eS y s tem[ ]

S o f tw ar eS y s tem[ ]

S o f tw ar eS y s tem[ ]

S o f tw ar eS y s tem[ ]

!

! ! ! !

Page 14: Software Architecture Adaptability: An NFR Approach

Software Architecture Adaptability: An NFR Approach

Notation for SIGs

NFR Softgoal

3R sT e c hnique

Design Softgoal

OR-contribution

AND-contribution

Strongly-negatively satisficingNegatively satisficingPositively satisficingStrongly-positively satisficingCorrelation Rule (negatively satisficing)

Page 15: Software Architecture Adaptability: An NFR 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

Knowledge-Based Approach

Page 16: Software Architecture Adaptability: An NFR Approach

Software Architecture Adaptability: An NFR Approach

Frame-like Notations

3 R sT ec h n iq u e

O pe ra t io n a liz in g S o f tg o a l 3 R s Te ch n iqu e Ty pe : 3 R s Te ch n iqu e To pic: R C ES L a be l: y e t to be de te rm in e d Prio rity : n o n -crit ica l A u th o r: A B C C re a t io n t im e : 2 4 M a y 2 0 0 1

Design Softgoal

Ad ap ta tio n [ R C E S ]

S y n tac ticAd ap ta tio n[ R C E S ]

S em an ticAd ap ta tio n[ R C E S ]

C o n tex tu a lAd ap ta tio n[ R C E S ]

Q u alityAd ap ta tio n[ R C E S ]

NFR D e co m po s it io n M e th o d R C ES Q u a lity V ia S u bTy pe Pa re n t : ty[R C ES ] O f f s prin g : ty1[R C ES ] , . . . , tyn [R C ES ] C o n tribu t io n : O R A pplica bility C o n dit io n : ty: NFR Ty pe C o n s tra in t : fo r A ll i: ty i is A ty a n d /* s e t u p o n e o f f s prin g fo r e v e ry s u bty pe o f ty * /

NFR Decomposition Method

Page 17: Software Architecture Adaptability: An NFR Approach

Software Architecture Adaptability: An NFR Approach

Frame-like Notations (cont’d)

Ex ten s ib ility o fS em an ticAd ap ta tio n[P r o c es s in g ]

3 R sT ec h n iq u e

O pe ra t io n a liza t io n M e th o d 3 R s Te ch n iqu e Pa re n t : Ex te n s ibility o f S e m a n t ic A da pta t io n [Pro ce s s in g ] O f f s prin g : 3 R s Te ch n iqu e [ R C ES ] C o n tribu t io n : M A K E

A pplica bility C o n dit io n : A lwa y s - 3 R s Te ch n iqu e [ R C ES ] a lwa y sM A K Es Ex te n s ibility o f S e m a n t ic A da pta t io n [Pro ce s s in g ]

C o n s tra in t : /* M a n u a l ch a n g e to th e s o f twa re a n d re lo a din g o f s o f twa re re qu ire d* /

Operationalization Method

S p eedo fS em an ticAd ap ta tio n[ P r o c es s in g ]

S em an ticAn aly s is

C o rre la t io n R u le S e m a n t icA n a ly s is H UR TS S pe e dO fS e m a n t icA da pta t io n

Pa re n t : S pe e d O f S e m a n t ic A da pta t io n [Pro ce s s in g ] O f f s prin g : S e m a n t ic A n a ly s is [ R C ES ] C o n tribu t io n : H UR TS C o n dit io n : s e m a n t ic a n a ly s is ta k e s m o re th a n 1 0 0 m s

Correlation Rule

Page 18: Software Architecture Adaptability: An NFR Approach

• 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

Summary

Page 19: Software Architecture Adaptability: An NFR Approach

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.