The programmability of concept maps in KMap and the access of the script language to the full range of operating system capabilities makes it possible to integrate concept maps with other applications to develop tightly coupled systems that operate seamlessly to the end user. For example, Apple's HyperCard is a useful adjunct to KMap in provide textual and multimedia annotation facilities. Figure 13 shows a HyperCard stack that links to KMap in such a way that the two systems keep one another updated about changes in relevant data structures.
Figure 13 Concept map annotation in HyperCard
The card shown in Figure 13 maintains a list of concept maps open in KMap--those of Figures 1 through 3. Selecting one of these in the list and clicking on the "Create Annotation" button causes HyperCard to create a preformatted annotation card for every type and every node in the concept map. Figure 14 shows a popup menu being activated for one node in the graduate research concept map of Figure 3. The access to HyperCard has given the menu an extra option at the bottom, "Annotation", and selecting this causes the HyperCard stack to come to the front displaying the annotation card for that node. If a card for the node did not already exist, one would be created thus allowing annotation for a new node to be entered very simply. The student may enter textual annotation into a scolling box on the left, and populate the rest of the card with other relevant material, such as images and buttons linking to other cards.
Figure 14 Accessing the annotation for a concept
The "Type" button at the top right of the card links to the annotation card for the node type. This will often be set up in advance as a description of how that type of node is intended to be used in this form of concept map.
More complex forms of integration are readily created as extensions to the HyperCard stack. For example, it is common for lists of related entities to be generated in concept maps that are well-suited to more structured knowledge elicitation using repertory grid techniques (Bradshaw, Ford, Adams-Webber and Boose, 1993; Gaines and Shaw, 1993a) from personal construct psychology (Kelly, 1955). Figure 15 shows the annotation stack being used to generate automatically an initial set of elements to be used in a grid elicitation tool.
Figure 15 Automatic creation of initial elements for a repertory grid
The node type "Grid" has been predefined to have a special annotation card with associated scripts. The user has entered a "Grid" node at the middle left of the concept map and linked it to the relation node "requires" which itself is a link from the concept "Overall aim of carrying out research" to a list of requirements. It is this list that makes an interesting set of elements to be distinguished along various dimensions using repertory grid elicitation. When the user selects the "Annotation" option for the "Grid" node, the HyperCard stack is programmed to generate the specialist annotation card shown at the bottom of Figure 5.
When the user clicks on the "Get Data" button at the bottom left the HyperCard script requests the nodes linked to the "Grid" node from KMap and uses these to determine the context for a grid together with an initial set of elements. When the user clicks on the "Start Grid" button the HyperCard script creates a repertory grid file in a standard data format and opens it in the RepGrid (CPCS, 1993) repertory grid elicitation program as shown in Figure 16. The RepGrid program itself supports annotation links to HyperCard and to expert system shells (Gaines, Rappaport and Shaw, 1992; Shaw, Gaines and Linster, 1994), thus allowing a highly integrated knowledge acquisition tool to be created from separate components each with well-defined specialist functionality.
Figure 16 Repertory grid elicitation with elements from concept map
gaines@cpsc.ucalgary.ca 22-Nov-95