Presentation is loading. Please wait.

Presentation is loading. Please wait.

L1-S1 Software Reuse 2003 SJSU -- CmpE Component-Based & Software Reuse Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of.

Similar presentations


Presentation on theme: "L1-S1 Software Reuse 2003 SJSU -- CmpE Component-Based & Software Reuse Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of."— Presentation transcript:

1 L1-S1 Software Reuse 2003 SJSU -- CmpE Component-Based & Software Reuse Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad

2 L1-S2 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 2 Lesson 01: Introduction to Software Reuse

3 L1-S3 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Lesson Objectives 3 Why Reuse? An essential attribute of advanced state of the art/ state of the practice. What is Reuse? Examples of Reuse. Counter Examples of Reuse. Tentative Definition. State of the Art/ State of the Practice: Is Reuse the Norm, in Software? Elsewhere?

4 L1-S4 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Complexity of Components. Diversity of Specifications. Flexibility of Source Code. Absence of Architecture. Lack of Standards for Interaction. Distribution of Design/ Implementation Costs. Not an obstacle: availability of components. 4 Reuse: What About Software?

5 L1-S5 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Limited Scope, Limited Domain, Realistic Expectations. Systematic, Controlled process. Commitment of all parties involved. Long Term Development Plans, supported by Market demand. Uniform Product Architecture supports production, consumption of reusable assets. 5 Successful Forms of Reuse

6 L1-S6 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Product Line Engineering. Emphasis on Domain engineering, domain analysis, separation DE versus AE. Component Based Software Engineering. Bottom Up discipline of SW development from reusable components. COTS Based software development. Commercial Off The Shelf components. Amortized over wide usage. Issues of copyright, maintenance, etc. 6 Specialized Forms of Software Reuse

7 L1-S7 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 7 Concepts and Terms Reuse is neither a silver bullet nor a magic weight loss pill. It is a diet and exercise program…. P.G. Bassett, 1997 Software reuse is the process whereby an organization defines a set of systematic operating procedures to specify, produce, classify, retrieve and adapt software artifacts for the purpose of using them in its development activities.

8 L1-S8 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 8 Main Characteristics of Software Reuse Process must be systematic. Some measure of independence between production, consumption of reusable assets. Cognizance of source code level. Can be supported by programming languages, but is usually higher. Extends, and is distinct from, good programming practice.

9 L1-S9 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 9 Benefits of Software Reuse Gains in Productivity. Not to reinvent the wheel. Gains in Quality. Wide scale use warrants more V&V effort, gives a posteriori testbed. Gains in Time to Market. Selling more products + staking a bigger market share.

10 L1-S10 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 10 Pitfalls of Software Reuse Limited Reuse Potential. Likelihood of exact matches very small; gains from approximate matches very small. Non-negligible Overheads. Eat away benefit margin, and more. Non-negligible Risks. Reuse as a distraction. Non-negligible Organizational Upheavals. Resistance to change, cost of change.

11 L1-S11 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Software Reuse Products Each product can be characterized by: its essence, its representation, its indexing. Executable Code. Source Code. Requirements Specifications. Designs. Test Data. Documentation. 11

12 L1-S12 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 12 Asset Libraries Make up of general application system. Generic Components. Extensions to the programming language. ADT’s. Domain Specific Components. Specific to the application domain. Banking routines. Application Specific code. Specific to the application. Glue code, special needs. Distribution in a typical application: 20, 65, 15.

13 L1-S13 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 13 Two kinds of Asset Libraries Horizontal Library. Generic components. Widely applicable, but yield small gains. Vertical Library. Specific components. Narrowly applicable, but yield large gains.

14 L1-S14 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 14 Software Reuse Processes Domain Engineering Domain Analysis. Domain Engineering. Asset Acquisition. Asset Classification. Asset Maintenance. Pattern Languages & Knowledge Maps

15 L1-S15 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 15 Software Reuse Processes, II Application Engineering Development with Reuse. Specifying Reusable Assets. Asset Retrieval. Reengineering for Reuse. Integration. Validation.

16 L1-S16 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad 16 Software Reuse Paradigms Software Retrieval: Browsing versus Retrieval. Exact versus Approximate. Software Adaptation: Black Box versus White Box (what is the difference?). White Box: loss of productivity, quality. Is it still reuse? Software Composition: Generative versus Compositional.

17 L1-S17 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad State of the Practice Study conducted by NTT. 100 NTT engineers and 500 staff members from contracting companies. One million lines of code. C, SYSL, Ada, Cobol. Production centered organization. 17 Software Reuse Management

18 L1-S18 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Seven Development Groups, a Reuse Group. Reuse Group: Reuse Group, Reusability Committee. Reuse Support Group: produces, catalogs, reusable assets; maintains assets library. Reusability Committee: one member from each development group; defines validation standards, reuse targets, reuse guidelines, procedures, reward structures. 18 NTT Study

19 L1-S19 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad After Four Years Reuse level: 16%. Deposition ratio: 600 LOC. Average reuse frequency: 0.28. Library size: 800 assets. (80/20 rule). Active module ratio: 0.2. Average size: between 300 and 2000 loc. 19 Results of NTT Study

20 L1-S20 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Relatively small domain Well understood. Pertain to static technology. Extensive development plans. Paradox of reuse management: high gains require high investments in time and money; high investments require short term gains. 20 Criteria for good domain engineering

21 L1-S21 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Maximize reuse ratio: narrow domain. Amortize investment costs: large volume of SW development. Provide for reuse introduction: long term planning. Maintain active module ratio: moderation in producer incentives; rigor in inclusion criteria. 21 Lessons

22 L1-S22 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad State of the Art (Domain Engineering): Specification: Defining the product and the specification concurrently. The stakes of a reusable asset are bigger. Requirements for generality. Validation. Design. Genericity. Implementation. Certification. Classification. 22 Software Reuse Techniques

23 L1-S23 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad State of the ART (Application Engineering) Retrieval: Retrieving vs Browsing; Function vs Structure; Exact vs Approximate. Composition: Software architecture; software generators; programming languages. 23 Software Reuse Techniques

24 L1-S24 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad CARDS (Comprehensive Approach to Reusable Defense Software). USAF and NASA. Reuse libraries that support multiple domains. Operational libraries such as CCL, PRISM. Horizontal library for end user support. Gave rise to NPLACE. 24 Software Reuse Initiatives

25 L1-S25 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Central site at DISA (Defense Information Systems Agency). Remote sites at Army Reuse Center, National Security Agency. As of November 1993: Seven locations, catering to 1000 users and listed 9000 assets. Main site: 3880 assets and 400 users. 25 Defense Software Repository System

26 L1-S26 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Initiated by DARPA, research branch of DoD. Turned over to SAIC in 1995; run as a commercial venture, using the web. More than 1000 assets available through the web. 26 Asset Source for Software Engineering Technology

27 L1-S27 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Identify domains that lend themselves to greatest benefits of systematic reuse. Identify domain assets and domain specific architectures. Criteria for deciding ownership of reusable assets. Integrate reuse into overall system lifecycle. Develop business models that promote reuse. Technology transition plan to reuse based paradigm. 27 DoD Software Reuse Initiative

28 L1-S28 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Program Operated by NASA from 1995 to 2000. NASA’s focused effort to apply software reuse to selected NASA centers. SORT Domain Engineering: analysis and selection of candidate domains. SORT Technology Transfer: Introduce a product line strategy within the agency. 28 Software Optimization and Reuse Technology

29 L1-S29 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad Initiated by DARPA (1988-1995). Apply reuse based product line approach to DoD systems. Develop quantitative and qualitative metrics for the products. Experience reports documenting the lessons learned from this practice. Motivate subcontracting organizations to adopt similar development approaches. 29 Software Technology for Adaptable Reliable Systems

30 L1-S30 Software Reuse 2003 SJSU – CmpE --- M.E. Fayad T/F 30 Discussion Questions


Download ppt "L1-S1 Software Reuse 2003 SJSU -- CmpE Component-Based & Software Reuse Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of."

Similar presentations


Ads by Google