Prev Up
Go backward to 2.4 Requirements Specifications
Go up to 2 Concept Webs

2.5 Concept Refinement

In general a concept description can have some additional parts beyond the syntactic and semantic parts of a simple concept description:

Refinement
An important part is a list of other concept descriptions that it refines. That is, all of the requirements of the listed descriptions are incorporated into this description, which means that in order for an abstraction to belong to the concept it must belong to all of the concepts on the list (and it must also satisfy the requirements stated in the syntactic and semantic parts of the present description).

We might also say that the concept description inherits from the concept descriptions it refines. However, inheritance has come to have a fairly specialized meaning in computer science, particularly in object oriented programming, so we shall generally avoid the term here.

In concept webs, a concept description should contain hypertext links to each of concept descriptions that it refines.

Use
Similarly, a concept description may include a list of (names of or links to) other concept descriptions that it uses in stating the description. The difference between use and refinement is that an abstraction does not have to belong to a concept (described by a concept description) on the use list in order to belong to the concept currently being described. Instead, such abstractions make up parts ("sub-assemblies") of the abstractions of the current concept.
We do not (intentionally) permit circular chains of refinement or use. Thus refinement and use relations on concept descriptions are hierarchical; in terms of graph theory, they form an acyclic graph. Concept descriptions may nevertheless contain other links besides refinement and use links, and there is no requirement of non-circularity among the total set of connections. Thus we shall use the term conceptual hierarchy when referring to the acyclic graphs of refinement and use, but also speak of the concept graph or concept web in reference to a set of concept descriptions and all of their connections.

Hierarchical development of concepts through refinement and use is what makes it possible to build up descriptions incrementally, rather than having to state long, flat lists of requirements for complex concepts. It is the main support for categorization and other related conceptualization mechanisms, including generalization (removing requirements--going up the refinement hierarchy) and specialization (adding requirements--going down the refinement hierarchy).

  Needs further development, a simpler example than the STL documentation, and references.


musser@cs.rpi.edu

Prev Up