A functional programming approach for macro development

Pages11-28
Date01 December 1998
DOIhttps://doi.org/10.1108/13287269880000739
Published date01 December 1998
AuthorCraig Standing,Geoffrey G. Roy
Subject MatterInformation & knowledge management
Journal of Systems & Information Technology 2(2)
11
A FUNCTIONAL PROGRAMMING APPROACH FOR
MACRO DEVELOPMENT
Craig Standing
School of Management Information Systems
Edith Cowan University
Joondalup
Western Australia 6027
email: c.standing@cowan.edu.au
Professor Geoffrey G. Roy
Department of Engineering
Murdoch University
Western Australia
ABSTRACT
Developing macro queries in software systems is a complex task for many users.
Geographical information systems (GIS) are large software systems that require much
effort to develop expertise in. A functional programming design approach has a number
of distinct stren gths that can be represented in a graphical query language interface to
aid users in macro query development.
A visu al functional query language (VFQL) for Geographical Information
Systems is presented and its strengths and weakne sses discussed. The system is based on
a visual functional programming design approach. This offers a consistent, non-
procedural, strongly typed environmen t where users can develop their own higher order
functions. The approach integrates function al programming, visual programming and
knowledge and rules.
VFQL's effectiveness is evaluate d compared with a text based command
language for GIS macro query development. The results of an experiment indicate that
users could develop solutions to simpler tasks more quickly and with fewer errors than
a comparative text based command language. On mo re complex ta sks there was no
significant difference. From this we dedu ce that VFQL demonstrates certain design
features to help the development of macros o r small programs for users but tha t the
complexity of the problem in difficult tasks is likely to be the most important
determinant of the error rate and time to com plete the task.
Journal of Systems & Information Technology 2(2)
12
INTRODUCTION
This pape r explores the effectiveness of a visual functional design approach for
macro query development. Macro query programming is evident in a range of packages
from spreadsheets, to computer aided design (CAD) systems and geographical
information systems (GIS) (Na rdi, 1993). In GIS, all but the simplest of queries require
a series of operations to be specified to per form spatial analysis tasks. T he research is
concerned with helping the user to effectively develop skills in this programming task.
The ease of use of d ecision support systems (DSS) is still regarded as a very important
issue by users (Bhargava, Herrick, Sridhar, 1997).
GIS ar e made up of four basic sections: data gathering and input, geo graphical
databases, data analysis, and data presentation. The data analysis component typically
provides fundamental o perations such as data selection, map overlay, feature extraction
and coverage reduction, p roximity analysis, network analysis and statistical analysis.
GIS are being used in an enormous variety of applications. The industries involved
include retail, real estate, health care, security, direct mail organisations, marketing
companies, insurance and advertising agencies (Bentley, 1998). These business uses are
in addition to the more usual land management applications and demographic
applications used in local government departments. The research dealt with in this paper
is mainly concerned with the process of developing queries as part of the data analysis
component of a GIS. The underlying language that is used as a basis for the examples
and illustrations is ARC/INFO (1998).
The next section of the paper examines a number of visual language design
approaches. The benefits of a functional design for macro development are illustrated
with expression trees. The graphical representation of the expression trees in VFQL is
presented in the section four. The evaluation of VFQL is then presented and discussed.
VISUAL LANGUAGES
In recent years there has been much interest shown in various forms of visual
programming. Shu ( 1988, p.7) takes the term Visual Prog ramming to mean the "use of
meaningful graphic representations in the process of programming". However,
programming is a broad term that covers the language and the environment of
specification; the specifications themselves; the process of validation and the display o f
data involved in the execution of the sp ecification. All of these aspects can be
represented visually but the term visual pro gramming is intended p rimarily to cover the
language of specification. There are three classes of visual programming languages. The
first class can involve the use of charts and diagrams, which may or may not be
executable. Secondly, tab les or form based languages such as Query by Example
approaches (Zloof, 1980); and thirdly, iconic or pictor ial languages.
Many of the problems associated with using command languages are similar to
the problems of programming, that is programming in a traditional sense of being
procedural and text based (Cox et al., 1989). Visual programming represents a departure
from tradition and according to Shu (1988) is driven by the following premises:

To continue reading

Request your trial

VLEX uses login cookies to provide you with a better browsing experience. If you click on 'Accept' or continue browsing this site we consider that you accept our cookie policy. ACCEPT