(click to go to roadmap)
- WISR 4 - Design For Reuse (Frakes)
- Goal: Explore ways of creating reusable lifecycle objects (requirements, designs, code, test cases, etc.)
- Approach: bottom up, obtaining design principles from lower level LCOs (Assumption: we know many
lower level priniciples)
- Results:
- Three Programming Languages: Ada, C++, C
- Defined a number of lower level principles, but disagreed about scaleup
- 3Cs - Top down approach for deriving reuse design - had problems finding adequate design principles
-
WISR 5 - Design For Reuse (Weide, Lea, and Frakes)
- Discussed guidelines for reuse - general, Ada, and/or C++
- Issues::
- How components measure up
- How do design oriented features affect reuse
- Need for extra-linguistic tools, specifications, and design methods
- Need for reuse metrics
- Scalability
- Practically useful principles for components (and, oh yes, other design entities, whatever they may
be)
- Handbooks will be huge
- Teaching must be "operationalized"
- Basic principles exist: black-box components, encapsulation, unbreakable abstraction, and extension
by addition only (hmmm... local certifiability)
-
WISR 6: Design For Reuse and OO Methods (Lea and Frakes) (click to go to report)
- Goals: Language Independent principles (based on WISRs 4, 5, and 6)
- Issues:
- Common realizations as they apply to (C++, C, and Ada)
- Rationales
- Process by which agreement on principles reached
- Major Principles:
- Component Structure
- Interfaces
- Composition
- Parameterization
-
WISR6: Language Issues for Generic Code Architectures (click to go to report)
- Initial Goals: To determine sets of features
and mechanisms useful for constructing systems from generic architectures
- Revised Goals:
- Exploration of architecture commonality through a
transformational model of program generation
- Definition of standard vocabulary, concepts, and mechanisms wrt above mechanism
- attempt to map relations between generic architecture systems via the standard.
- Systems:
-
Observations
- WISR 6 - Hybrid Reuse - Domain Specific Kits (Griss) (click to go to overview)
-
WISR 7 Micro-Architecture of Software Components and The Need For Good Mental Models of Software Subsystems
(click to go to report)
- Micro-Architecture Goals: to focus on
- the structure and behavior of software component interfaces
- the implementations of individual components, sets of components, and
- how components compose and "interoperate" with each other
- Mental Modeler Goals: to focus on how software engineers form internal
mental models of the things they interact with in order to understand those
interactions.
-
WISR 7 Object-Oriented Reuse - A Tale of Two Cultures
(click to go to report)
- Goal: To explore the apparent disconnect between OO community and systematic reuse community. We believe
that each community has something to offer the other.
- Reasons for Disconnect:
- ``Hacker/builder'' vs ``methods/software engineer'' culture
- OO community works in small teams, largely oral culture.
- Reuse community's evidence for successes not crisp or compelling enough for OO community.
- Systematic reuse methods not operational, mechnical or concrete enough for use/adoption by
OO community.
- Current OO practice can get by without much reuse community advice and knowledge
- larger scale problems, systems, libraries or teams need a more structured approach.