Presentation is loading. Please wait.

Presentation is loading. Please wait.

Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Lawrence Chung.

Similar presentations


Presentation on theme: "Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Lawrence Chung."— Presentation transcript:

1 Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Email: narayanan.subramanian@anritsu.com Lawrence Chung Dept. Of Computer Science Univ. Of Texas at Dallas Richardson, TX. Email: chung@utdallas.edu Software Architecture Adaptability: An NFR Approach

2 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

3 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

4 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

5 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?

6 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”

7 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

8 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

9 Software Architecture Adaptability: An NFR Approach Steps in The NFR Approach Decompose Adaptability for the domain - NFR softgoal hierarchy Develop architectural alternatives - Design softgoal hierarchy Determine extent to which design 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

10 Software 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

11 Software Architecture Adaptability: An NFR Approach Example SIG Development - Step 1 NFR Softgoal Decomposition 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 NFR Softgoal Design Softgoal OR-contribution AND-contribution Strongly-negatively satisficing Negatively satisficing Positively satisficing Strongly-positively satisficing Correlation Rule (negatively satisficing)

15 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

16 Software Architecture Adaptability: An NFR Approach Frame-like Notations Design Softgoal NFR Decomposition Method

17 Software Architecture Adaptability: An NFR Approach Frame-like Notations (cont’d) Operationalization MethodCorrelation Rule

18 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

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.


Download ppt "Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Lawrence Chung."

Similar presentations


Ads by Google