Rob Kremer

UofC

Constraint Graphs: A Concept Map Meta-Language
(PhD Dissertation)


index Chapter 1

THE UNIVERSITY OF CALGARY

Constraint Graphs: A Concept Map Meta-Language

by

Robert Kremer

A DISSERTATION
SUBMITTED TO THE FACULTY OF GRADUATE STUDIES
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
DEGREE OF DOCTOR OF PHILOSOPHY

DEPARTMENT OF COMPUTER SCIENCE

CALGARY, ALBERTA
MAY, 1997

©Robert Kremer 1997

THE UNIVERSITY OF CALGARY

FACULTY OF GRADUATE STUDIES

The undersigned certify that they have read, and recommend to the Faculty of Graduate Studies for acceptance, a dissertation entitled "Constraint Graphs: A Concept Map Meta-Language" submitted by Robert Kremer in partial fulfillment of the requirements for the degree of Doctor of Philosophy.


__________________________________________
Supervisor, Brian Gaines
Department of Computer Science

__________________________________________
Saul Greenberg
Department of Computer Science

__________________________________________
Dickson Lukose
Department of Computer Science

__________________________________________
Doug Norrie
Department of Mechanical Engineering

__________________________________________
External Reader, Tom Carey
University of Guelph

_____________________
Date


Abstract

Concept maps are visual graphs, consisting of nodes, which represent concepts, and arcs, which represent relationships between the concepts. Concept maps are used in a wide variety of disciplines because of their ability to make complex information structures explicit. There are a wide variety of concept mapping languages ranging from informal to formal; all share the same fundamental structure (nodes and arcs), but they vary in many ways, including degree of formality (typing), allowable component types, component graphical attributes, inclusion of contexts, and miscellaneous constraints. There is a large design space in concept mapping languages and each design is difficult and time consuming to implement. A simple way to prototype new concept mapping languages (and modify old ones) would be a very useful tool.

Constraint Graphs is a system designed to address this problem. The idea is to define a minimal concept mapping system, then let the end-user build a language based on these fundamental components. The base system is a very flexible concept mapping tool which is unconstrained except for the very fundamentals of graph theory (even n-ary arcs are allowed). In addition to "vanilla" nodes and arcs the system has an "isa" arc type which can be used to create a type lattice within the map. Constraints based on the type lattice allow a user the flexibility to use informal concept maps, to use a wide variety of formalisms, or to gradually constrain an informal concept map into a formal one.

The properties of such a "meta-visual language" avails itself to a variety of new applications including experimentation in concept map formalisms and powerful type checking tools for visual notations such as are used in knowledge modeling and decision making.


Acknowledgements

This work has benefited from the support of many people. Thanks to my supervisor, Brian Gaines, for his timely advice, encouragement, and criticism throughout the development of this work. Thanks are also due to the people at the Knowledge Science Institute lab and the Computer Science Department at the University of Calgary. These people have been an endless source of inspiration and good discussion throughout the work. They include Mildred Shaw, Roberto Flores-Mendez, Lee Chen, Saul Greenberg, Mark Roseman, Carl Gutwin, Ted O'Grady, Pim van Leeuwen, and Robin Cockett. Special thanks to Graham Birtwistle (now at Leeds University) who first encouraged me in the areas of object-oriented programming principles, formal methods, and type theory. I've also learned a lot recently from Dickson Lukose who has been on sabbatical at KSI from the University of New England, Australia.

I could not have completed this research without the support of Smart Technologies Inc. and the National Science and Engineering Research Council of Canada. Smart Technologies' president, David Martin, has been particularly supportive. In addition, the many technical discussions with Tom Fukushima of Smart Technologies have made an important contribution.

Thanks to my wife, Carolyn, for her encouragement and patience; and to my children, Cory, Chris and Sandra for their understanding of Dad's long hours at the computer. The encouragement and advice of my Dad and Mom has been greatly appreciated. My brother, Andy Kremer, made a tremendous contribution by proofreading my work.





This work is dedicated to my Dad, Mervin Kremer




Table of Contents

Approval Page
Abstract
Acknowledgements
Dedication
Table of Contents
List of Tables
List of Figures

Chapter 1 Introduction

Chapter 2 Background: Visual Languages and their Domains
Chapter 3 Background: Types, Objects, and Specification
Chapter 4 Requirements Analysis
Chapter 5 Specification
Chapter 6 Design and Implementation
Chapter 7 Some Visual Languages Implemented in Constraint Graphs
Chapter 8 Extensions and Variations
Chapter 9 Conclusion
References


List of Tables

Table 1: An interpretation from the graphical domain to the domain of set theory
Table 2: Myers' taxonomy of specification techniques
Table 3: gIBIS arc types, showing the restrictions on the node types at the terminals.
Table 4: The attributes of the Constraint Graphs ontology for Conceptual Graphs
Table 5: Suggested level settings for Conceptual Graphs
Table 6: Legal terminators for the KDraw arcs

List of Figures

Figure 1: Part of CLASSIC knowledge base on bird identification
Figure 2: Part of a KDraw knowledge base on bird identification
Figure 3: A concept map created by a six-year-old grade 1 student.
Figure 4: A directed graph and its parse
Figure 5: A concept map developed by a three member group
Figure 6: A concept map in the form of Sowa's Conceptual Graphs
Figure 7: A concept map used to support a decision about buying a computer
Figure 8: Type inference of the denotation or the expression.
Figure 9: An example of a flat type lattice and a hierarchical type lattice
Figure 10: A typical node from Object Model Notation
Figure 11: The base type lattice for Constraint Graphs
Figure 12: Restricting the mother relationship terminals
Figure 13: A fragment of a KDraw specification using Constraint Graphs
Figure 14: A diagram of the Constraint Graphs specification
Figure 15: A more accurate diagram of the Constraint Graphs specification
Figure 16: Separate abstract graphs and interfaces communicate.
Figure 17: A single abstract graph with multiple sub-views in the interface.
Figure 18: A simplified version of the CMap class library.
Figure 19: The observer pattern
Figure 20: Interface elements are observers.
Figure 21: The class hierarchy for the ConstraintGraphs implementation
Figure 22: The Constraint Graphs attributes dialog box
Figure 23: An attempt to draw an erroneous arc
Figure 24: The Constraint Graphs constraint editor
Figure 25: An excerpt from the options dialog box showing the level options
Figure 26: A schematic view of the Constraint Graphs storage format
Figure 27: The abstract factory pattern
Figure 28: The prototype pattern
Figure 29: The library pattern
Figure 30: The library pattern template
Figure 31: A simple gIBIS discussion about buying a computer
Figure 32: The attributes dialog box for "gIBIS node"
Figure 33: The Constraint Graphs definition of the gIBIS model
Figure 34: The constraint editor, specialized for nodes.
Figure 35: The Constraint Graphs levels options
Figure 36: A refused arc connection.
Figure 37: An example concept map created with the definition of gIBIS
Figure 38: The same concept map as Figure 37 using unlabeled connectors.
Figure 39: The Constraint Graphs top-level ontology for Conceptual Graphs
Figure 40: An example of a Conceptual Graph using Constraint Graphs
Figure 41: A Constraint Graphs schema for Sowa's Conceptual Graphs
Figure 42: A constraint graph model of KDraw.
Figure 43: A Constraint Graphs schema for KDraw
Figure 44: An example of KDraw using Constraint Graphs
Figure 45: The attributes dialog for KDraw's instance-of arc
Figure 46: The constraint editor for the Min/Max-Constraint of the KDraw defintion
Figure 47: The "NameRegularExpression" constraint parameter dialog box
Figure 48: A concept map embedded in an HTML document
Figure 49: A concept map embedded in an HTML document
Figure 50: An example of Constraint Graphs as a KDraw front-end



index Chapter 1


UofC Constraint Graphs: A Concept Map Meta-Language (PhD Dissertation), Department of Computer Science

Rob Kremer