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.
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).
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.
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.