صفحه 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.

51,000 تومان