Previous Up Next
Knowledge Construction in Software Development:
The Evolving Artifact Approach
Chapter 5
5.1. Represent for Understanding
5.2. Ground Discussions with Representations
5.3. Formalize
5.4. Accumulate and Structure Representations
5.5. Summary

Approach:
The Evolving Artifact
[ Introduction | Setting | Problem | Theory | Approach | Case Study | Discussion | Conclusion ]
[ Home | Contents | References | Glossary ]
The previous chapter presented a framework for knowledge construction in software development. Knowledge construction was defined as a co-evolution of artifacts and understanding: artifacts enable new understandings, while new understandings drive construction of new artifacts.

In this chapter the Evolving Artifact Approach is presented to operationalize knowledge construction in development of domain-oriented systems. The evolving artifact approach is a set of strategies combined with computational support for building a computational artifact that evolves into a domain-oriented system. Knowledge construction is the driving force behind this evolution. Representations for mutual understanding support knowledge construction, and are the building blocks for the evolving artifact.

The Evolving Artifact Approach

The evolving artifact approach prescribes an iterative and cumulative process of (1) creating, (2) discussing, (3) accumulating, and (4) formalizing representations for mutual understanding (see Figure 5.1).



Figure 5.1. The Evolving Artifact Approach
The evolving artifact approach consists of four iterative strategies of creating, discussing, formalizing and accumulating representations for mutual understanding.

The EVA Knowledge Construction Environment

Computational support for the evolving artifact approach is provided by the EVA Knowledge Construction Environment. EVA provides materials for constructing representations for mutual understanding, and a medium for collecting the representations into a single artifact.



Figure 5.2. The EVA Environment
The EVA knowledge construction environment manages computational objects that are supported by two substrates in an object-oriented development environment. These objects are linked together to form a single artifact. The artifact is intended to act as a medium for knowledge construction. The EVA environment currently provides two tools for viewing the evolving artifact: Structure Navigator and Topic Browser.

EVA provides materials for constructing representations, a medium for storing and structuring representations in a single artifact, and tools for managing and viewing the artifact (see Figure 5.2).

The EVA environment is used by software developers to create representations for mutual understanding and to present them to the future users. Future users use EVA to see, experience and critique the representations. In this way, the EVA environment, as well as the artifact it stores, is the focal point for collaborative knowledge construction.

EVA is built on top of the Genera Development Environment [Walker et al. 1987] which provides an object system and other infrastructure for development. The Concordia substrate [Walker 1988], is a hypermedia environment for creating and managing hypertext records. The programming substrate is a object-oriented LISP programming environment [Keene 1989] for creating system functionality.

The product of the evolving artifact approach is an evolving artifact that holds all of the representations created during design. The artifact functions both as a design document and as a prototype. As a design document, it is an information space containing descriptions, comments, rationale, and any other type of documentation that is produced in the course of software development. As a prototype it allows future users to see and experience new design ideas.

The remainder of this chapter describes the evolving artifact approach and computational support in more detail. Each of the following sections describes one of the strategies in detail and how the EVA knowledge construction environment supports it.

5.1. Represent for Understanding

5.2. Ground Discussions with representations

5.3. Formalize

5.4. Accumulate and Structure Representations


Previous Home Contents Next - 5.1. Represent for Understanding
L3D Home Page
L3D

This page was last built on Fri, Sep 6, 1996 at 7:14:12 PM.
Please send any comments or suggestions to ostwald@cs.colorado.edu.
Thanks! - Jonathan