6.0 ELEMENTS OF MODELING
A feature can be broadly defined as a distinctive and recognizable element of a thing. A feature can be in the nature of a form, as a mountain ridge is a feature of a landscape. Or a feature can be of a more esoteric nature, as the key or modality of a musical composition. Features are used to make sense out of a broad background of data.
On a computational level, features allow decomposition of the whole of a thing into sub-components, with each of the components standing on its own for analysis. The presence of these components, as features, allow for a methodical and thorough evaluation and analysis of the whole, albeit in terms of the individual features. The process of abstracting features is a process of applying an elemental symbol to a value.
In this section, aspects of model definition, recognition, and evaluation are explored using feature forms from the manufacturing domain of plastic injection molding. The simple features of rib, boss, slot, through-hole, and blind-hole are used as a starting set, having been extracted from a CAD solid model with currently available technology. This set of features shall be seen to be sufficient in building more complex feature models within the molding domain.
Algorithms using graph-matching upon particular CAD models adequately recognize the base set of simple features listed above. At issue in feature extraction is the NP-complete nature of most of these algorithms. Application of the same algorithms to recognize features of even great complexity proves intractable. Even matching algorithms using graphs of the higher-level simple-features face the same NP-complete problem. The distinction here, however, is that the primitive-feature graphs use elements identifiable, and thus manipulatable, by the expert in a given domain.
Complex features are defined to be features not of the set of simple features, yet constructed from those features through compounding or further refinement of identification. It is important to note that specification of complex features and evaluation of these features comes from an expert in a given domain. The nature of most organizations, particularly manufacturing, is dynamic, with new features and evaluations continually being defined and old ones being refined.
Traditionally, a programmer from outside the particular domain acts as an intermediary to encode a specific configuration into a system. However, the modeling system described in this section is engineered to remove the programmer from the definition system. Direct expert definition capabilities acknowledge the dynamic nature of the manufacturing and design environment and frees the final application from the limitations of a rigidly defined set of features and evaluations.
While certain features and rules may be specific to a certain domain, the intent is to develop a structure within which models can be defined and evaluated, without programmer intervention, in a manner that is consistently applicable across several domains. The techniques and distinctions illustrated with feature modeling are applicable not only to other manufacturing domains, but to information modeling overall.
This section dismantles the concept of a model to its basic elements in an attempt to define the primitives required to construct a comprehensive modeling system. It is asserted here that everything within the modeling system, including the system itself, can be considered a model. The dynamic behavior of a model can be modeled as well. Under this working paradigm, a small set of basic mechanisms can be developed for handling the abstraction of a model.
The concepts described in this section were developed out of lessons from the DFM development using the computer as a workbench. The prototypical system was called "Onedim" in deference to the n-dim modeling system. N-dim is a research project which provides an application tool to describe modeling languages, using visual representations of objects and links. Objects and links are constructed within a model. A model in turn can be an object within another model. N-dim comprehensively attempts to provide a modeling environment for the creation of modeling languages as well as the building of models from these languages.
The two fundamental aspects to the Onedim modeling tool are construction and evaluation of models. A model can be authored or it can be used. Distinction is made between authoring and use, although there are processing mechanisms held in common. Issues involved are modeling language development, model instantiation, and model use. As will be seen, there are necessarily evaluation aspects to the construction of a model. In light of this, this section will explore the static and dynamic aspects to modeling, where the dynamic aspects are used in evaluation.
A model represents the properties and behaviors of another thing. Within the static model, the concepts of value and type are first examined, a discussion from which the later notion of using models as types is developed. The categorization of the symbols of values into nodes and links provide the first step toward formal modeling. The morphological units of "nodes" and "links" are used to provide the visual semantics of properties and relations. Morphology and syntactic structures lead to considerations of semantics.
In terms of functional overhead, a model itself consists of properties and behaviors above and beyond the thing it represents. It is seen that model behavior can be defined in the terms of nodes and links. The issues of behavior in creation, modification, and destruction of models within a modeling system is discussed.
Several concepts are concurrently addressed in this section. Instantiated within a system for feature modeling, the issues include the following:
Visual modeling is the graphical depiction, construction and manipulation of elements into an representation of another thing. Models can come to represent process flows, company hierarchy, or just about any form or function that can be decomposed into inter-related elements. Complexity issues arise in not only in how complicated networks are handled computationally, but also how they are discerned and developed by the user. Approaching modeling visually allows the modeler to break with the traditional text-based programs which are sequential and conceptually one-dimensional. Additional dimensionality provided by two dimensional graphs and three dimensional displays may vastly increase the expressiveness of a model while requiring less effort in development.
Production systems can be graphically represented in a fairly straight-forward manner as rules within a production system. This section will show how a production system model can be used to encode knowledge-based heuristics, pattern recognition functions, and sequential programming constructs.
Object technology techniques are another area explored in developing the modeling systems. With an object-oriented modeling environment, users may focus more directly on the characterization and development of their models rather than on the process by which models are created.
This section begins by discussing the definition of complex features and the geometric attributes required to recognize these features from a simple-feature graph. Using the definition of complex features as illustration, the elements of Onedim and n-Dim object/link modeling are explored. Finally, issues of a general modeling system are explored.