3.3.8. A graphical query editor

3.3.8.1. Introduction

A query utility is necessary for all types of repositories. It gives users the capability of ad hoc information retrieval. During systems development, users may produce a large amount of information that will be stored in the MetaEdit+ repository. A query tool is helpful to retrieve the available specification information for different purposes. In recent years, many proposals for graphical or visual query systems have been presented. The salient benefit of a graphical query is its ability to reduce users' cognitive load in learning and using the query language.

Motivated by the success of graphical query systems in conventional database systems, we are developing a graphical query tool in the MetaEdit+ environment. We hope that this will ease the users' query processing considerably. Besides, it seems that a graphical query tool can be coupled into the environment more naturally than other types of query tools, since MetaEdit+ itself contains other graphical tools, such as the Draw Window.

3.3.8.2. Objectives

In developing the query editor we have the following objectives:

The query representation should be as user-friendly as possible. In this regard, the query tool must provide functionality for assisting users in formulating queries. Other tools in the MetaEdit+ environment can also partly serve for this purpose. For instance, as a graphical medium, the Draw Window can assist the users' understanding of the underlying conceptual structure involved in a query. In addition, the tool should be able to evaluate a query formulation and report the errors in the query.

Designing the query language embedded in the query tool, under the condition that the expressive power of the language should cope with the complicated information structure in the repository.

The query tool should be able to handle the query result in multiple ways. This means the users can represent a query result in different representations. For example, a user can see his query result by means of a textual form or a graphical form (e.g. in Draw Window by highlighting the part of a picture that corresponds to a query result).

3.3.8.3. Current situation

A comparative study of the functional differences between visual query tools for conventional database systems and CASE repositories has been carried out. This study forms the basis for the requirement analysis of the query tool. The main constructs and design philosophy of the query language have been established based on the GOPRR model. The strict formal semantics for the query tool have not been defined yet. The expressive power of the query language will include first-order queries and recursive queries. The recursive queries consist of transitive closure, mutual recursion, and traversal recursion. Currently a prototype of the query tool is also being developed.

3.3.8.4. Future plans

In the future we will work towards customisable query tool for the MetaEdit+ repository. This means that the query tool is no longer a static system. Both the functionality and the query representation forms could be tailored to satisfy the needs from different user class, ranging from casual users to expert users. This direction forces us to take a thorough study on the nature of visual query language processing.