+ All Categories
Home > Documents > BRIDGE: An Interactive Dialogue-Generation Facility

BRIDGE: An Interactive Dialogue-Generation Facility

Date post: 24-Sep-2016
Category:
Upload: william
View: 220 times
Download: 2 times
Share this document with a friend
5
402 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, MAY 1975 RESULTS: CAUSAL TIME LAG the divide between the deeply-cut Columbia River Basin and the A preliminary determination of the "causal time lag" param- arid Oregon Closed Basin, with branches across the Cascade eter r was required. This was accomplished by running the passes. program for selected counties, with r values of one, three, five, In addition, it is notable that five of the eight special counties seven, and nine years. Plots of the residual entropies for six are border counties and hence may be surrogates for stimulation counties, as functions of r, are shown in Fig. 1. The conclusion that has come from outside Oregon. Clatsop and Multnomah drawn from these plots is that the residual entropies tend to be have major seaports, Baker lies at the eastern entrance to the smallest for a time lag of about seven years. In other words, the state on U.S. 30, and Curry and Jackson lie adjacent to California. county growth patterns tend to be more heavily dependent on CONCLUSIONS the growth patterns of other counties which are "leading" by The mutual entropies between time series of the year-to-year approximately' seven years. The same conclusion was drawn from plots for Linn, Malheur, PoLkc, Tillamook, and Umatilla birth ratios are a possible measure of causal interactign between counties. growth patterns of subregions. With the limited data available A possible interpretation of this time lag can be given. When for the counties of Oregon, application of this measure yields autonomous growth occurs in a "leading" county, its effects are results that are, for the most part, consistent with certain theories most strongly realized elsewhere after a period of time during about the diffusion of economic development. In particular, the which role of transportation routes and "crossroads" location seem to emerge. In addition, a time lag of about seven years seems to 1) information about new flows of people, goods, and money occur between the "causal" influence and the distant effect. This becomes widely known; may also be consistent with the time required for transportation 2) increments are added to the capacities of the transportation facilities to be augmented and migration and trade to develop. and communication systems; e.g., a new highway is built; This technique of identifying causal subregions may be useful 3) housing and other local services are augmented in other for regional analysis, modeling, and planning. The utility of counties for the people who are moving in. entropy concepts for socioeconomic theory has previously been It is perhaps not implausible that the period of time required for shown by Wilson [4] in another kind of application, where these effects to occur is on the order of seven years. entropy-maximizing distributions of spatial activity are derived as in equilibrium thermodynamics. The present application might RESULTS: INTERACTIONS be considered to be a "nonequilibrium" problem, to push the The interaction matrix for 31 of the 36 counties in Oregon is analogy with thermodynamics a bit further. shown in Table I. (Five counties were omitted because they have had fewer than ten births per year during a significant part of the r EfEreNCES study period. These are counties with very small populations and [2] RS. Cotnaannatbe, "Detecting subsystems of a complex system," IEEE Trans. limited medical facilities.) Each row shows the three counties Syst., Man, Cybern., vol. SMC-2, pp. 550-553, Sept. 1972. identified as "causal" for the county named, in order of decreas- [31 R. E. Rink, "Information-theoretic methods for modelling and analys- idenifie as caual" or te cuntyname, inordr ofdecras- ing large systems," Proc. 5th IFIP Conference on Optimization Tech- ing interaction strength 1,2,3. The residual entropy, shown in niques, Springer-verlag, 1973. [4] A. G. Wilson, Entropy in Urban and Regional Modelling. London: the right-hand column, can be compared with the unconditional Pion, 1970. entropy loge (2) = 0.69315 for each county. Some of the identified "causal" interactions seem to defy rational explanation. Certainly, some of these are spurious and are represented only because of the severely limited data base. Certain inferences can, however, be made from these results. In the bottom row of Table I is shown the total number of BRIDGE: An Interactive Dialogue-Generation Facility counties "influenced" by each county named at the top of the column. The average number is three, since only three influencing WILLIAM STALLINGS, MEMBER, IEEE counties were identified for each of the counties. There are, however,eightcounties thateare identified ah iluencing fur oer Abstract-An interactive programming system for the generation of mowevere eight counties ( t,f o re, ince nfourscpper in th manicomputer dialogues is introduced. The system consists of an inte- bottom row.these eigt, (designated by astrisks in theb grated set of tools that are used to define and generate the software for a variety of dialogues. The system is capable of generating dialogues for row) may be viewed as special, in the sense of perhaps being computer-assisted instruction (CAI), data processing, and the program- leading growth centers and/or most typical in the factors causing ming of special-purpose applications. development. The "causal" interactions emanating from these eight counties I. INTRODUCTION are shown as arrows in Fig. 2. Also shown, in diagrammatic Perhaps the most significant trend in the computer field is the form, are the major highway routes in the state. Two general explosive growth in man-computer systems. The demand for features that seem quite striking are the long range of most of computer access by persons who are not computer professionals the interactions shown and their tendency to lie in certain has resulted in the development of countless types of man- preferred directions. These directions seem to be related to the computer dialogues, including airline reservation systems, topography and/or the transportation system. For example, hospital information systems, computer-assisted instruction one bundle of interactions seems to flow parallel to the Columbia River Gorge at the northern edge of the state. This has his- torically been the major route through the Cascades. Another Manuscript received July 15, 1974. bundle seems to flow north-south along the WVillamette Valley The author was with Honeywell Information Systems, Inc., Waltham, Mass. 02154. He is now with the Center for Naval Analyses, Arlington, of western Oregon; and a third northeast-southwest, following Va. 22209.
Transcript
Page 1: BRIDGE: An Interactive Dialogue-Generation Facility

402 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, MAY 1975

RESULTS: CAUSAL TIME LAG the divide between the deeply-cut Columbia River Basin and the

A preliminary determination of the "causal time lag" param- arid Oregon Closed Basin, with branches across the Cascadeeter r was required. This was accomplished by running the passes.program for selected counties, with r values of one, three, five, In addition, it is notable that five of the eight special countiesseven, and nine years. Plots of the residual entropies for six are border counties and hence may be surrogates for stimulationcounties, as functions of r, are shown in Fig. 1. The conclusion that has come from outside Oregon. Clatsop and Multnomahdrawn from these plots is that the residual entropies tend to be have major seaports, Baker lies at the eastern entrance to thesmallest for a time lag of about seven years. In other words, the state on U.S. 30, and Curry and Jackson lie adjacent to California.county growth patterns tend to be more heavily dependent on CONCLUSIONSthe growth patterns of other counties which are "leading" by The mutual entropies between time series of the year-to-yearapproximately' seven years. The same conclusion was drawnfrom plots for Linn, Malheur, PoLkc, Tillamook, and Umatilla birth ratios are a possible measure of causal interactign betweencounties. growth patterns of subregions. With the limited data availableA possible interpretation of this time lag can be given. When for the counties of Oregon, application of this measure yields

autonomous growth occurs in a "leading" county, its effects are results that are, for the most part, consistent with certain theoriesmost strongly realized elsewhere after a period of time during about the diffusion of economic development. In particular, thewhich role of transportation routes and "crossroads" location seem to

emerge. In addition, a time lag of about seven years seems to1) information about new flows of people, goods, and money occur between the "causal" influence and the distant effect. This

becomes widely known; may also be consistent with the time required for transportation2) increments are added to the capacities of the transportation facilities to be augmented and migration and trade to develop.

and communication systems; e.g., a new highway is built; This technique of identifying causal subregions may be useful3) housing and other local services are augmented in other for regional analysis, modeling, and planning. The utility of

counties for the people who are moving in. entropy concepts for socioeconomic theory has previously been

It is perhaps not implausible that the period of time required for shown by Wilson [4] in another kind of application, wherethese effects to occur is on the order of seven years. entropy-maximizing distributions of spatial activity are derived

as in equilibrium thermodynamics. The present application mightRESULTS: INTERACTIONS be considered to be a "nonequilibrium" problem, to push the

The interaction matrix for 31 of the 36 counties in Oregon is analogy with thermodynamics a bit further.shown in Table I. (Five counties were omitted because they havehad fewer than ten births per year during a significant part of the r EfEreNCESstudy period. These are counties with very small populations and [2] RS. Cotnaannatbe,"Detecting subsystems of a complex system," IEEE Trans.limited medical facilities.) Each row shows the three counties Syst., Man, Cybern., vol. SMC-2, pp. 550-553, Sept. 1972.identified as "causal" for the county named, in order of decreas- [31 R. E. Rink, "Information-theoretic methods for modelling and analys-idenifie ascaual" or te cuntyname, inordr ofdecras- ing large systems," Proc. 5th IFIP Conference on Optimization Tech-ing interaction strength 1,2,3. The residual entropy, shown in niques, Springer-verlag, 1973.

[4] A. G. Wilson, Entropy in Urban and Regional Modelling. London:the right-hand column, can be compared with the unconditional Pion, 1970.entropy loge (2) = 0.69315 for each county.Some of the identified "causal" interactions seem to defy

rational explanation. Certainly, some of these are spurious andare represented only because of the severely limited data base.Certain inferences can, however, be made from these results.In the bottom row of Table I is shown the total number of BRIDGE: An Interactive Dialogue-Generation Facilitycounties "influenced" by each county named at the top of thecolumn. The average number is three, since only three influencing WILLIAM STALLINGS, MEMBER, IEEEcounties were identified for each of the counties. There are,however,eightcounties thateareidentified ah iluencing fur oer Abstract-An interactive programming system for the generation ofmowevere eightcounties( t,f o re,ince nfourscpper in th manicomputer dialogues is introduced. The system consists of an inte-

bottom row.these eigt, (designated by astrisks in theb grated set of tools that are used to define and generate the software for avariety of dialogues. The system is capable of generating dialogues for

row) may be viewed as special, in the sense of perhaps being computer-assisted instruction (CAI), data processing, and the program-leading growth centers and/or most typical in the factors causing ming of special-purpose applications.development.The "causal" interactions emanating from these eight counties I. INTRODUCTION

are shown as arrows in Fig. 2. Also shown, in diagrammatic Perhaps the most significant trend in the computer field is theform, are the major highway routes in the state. Two general explosive growth in man-computer systems. The demand forfeatures that seem quite striking are the long range of most of computer access by persons who are not computer professionalsthe interactions shown and their tendency to lie in certain has resulted in the development of countless types of man-preferred directions. These directions seem to be related to the computer dialogues, including airline reservation systems,topography and/or the transportation system. For example, hospital information systems, computer-assisted instructionone bundle of interactions seems to flow parallel to the ColumbiaRiver Gorge at the northern edge of the state. This has his-torically been the major route through the Cascades. Another Manuscript received July 15, 1974.bundle seems to flow north-south along the WVillamette Valley The author was with Honeywell Information Systems, Inc., Waltham,

Mass. 02154. He is now with the Center for Naval Analyses, Arlington,of western Oregon; and a third northeast-southwest, following Va. 22209.

Page 2: BRIDGE: An Interactive Dialogue-Generation Facility

CORRESPONDENCE 403

(CAI), intelligent terminal data entry systems, and so on. Oneaspect of this trend is that man-computer dialogues are becoming DI1ALOGUE x DIALOGUE b D1ALOGUE_increasingly sophisticated; dialogues that require training and DESCRIPTION PROGRAM rROGRAMemploy obscure "action codes" are being replaced by dialogues GENERATORthat can be used immediately, without training, and that con-verse with the user in his own frame of reference and terminology.Another aspect of this trend is the broadening range of applica-tions supported by man-computer dialogues. The ultimate goalis to allow the untrained (in computer programming) user toprogram his own tailor-made applications. Already a number of DI LOGUEdialogues exist that support user programming in a restricted SER OUTPUTsense.The rapid growth of man-computer dialogue systems is Fig. 1. Dialogue program generator.

reflected in the data processing industry. There is a clear trendaway from wholly batch systems and towards transaction-oriented on-line systems [7]. The design of such systems isevolving away from the philosophy of "inside-out" (computer NTERACTIVE Ito user) and toward the philosophy of "outside-in" (user to PROGRAMMER<( |0ROGRAMMING OBJECTcomputer); more attention is paid to the idea that the system SYSTEM PROGRAMshould conform to the user's needs and capabilities rather thanvice versa. On the whole, programming is still done by pro-grammers, but the industry has recognized the need for end-userprogramming capabilities, and some steps have been taken inthat direction.The trend in man-computer systems can be summarized as INPUT- I qDUTPUT

follows: more types of dialogue, covering a broader ranger oftasks (including programming), with greater sophistication,requiring less training, employing more familiar terminology, Fig. 2. Interactive programming system.and resulting in less user dependence on computer professionals.

II. BRIDGE A general-purpose dialogue-generation system should allowThe increasing demand for new man-computer dialogues the creation of dialogues for users who are concerned with a

draws with it a demand for dialogue generation tools. Tools are specialized domain of activity. Business professionals would likeneeded to allow fast generation, demonstration, evaluation, and to talk about fields and forms and folders and files. Doctorsiteration of dialogues during their development phase. What is would like to talk about symptoms and patients' histories.needed is a dialogue program generator that generates the code Physicists would like to talk about particles. All these peoplefor a man-computer dialogue, much as a report program gen- would like to query: to ask questions and obtain informationerator generates the code for producing a report. that is in the system; and they would like to update: to insert orMost of the work on dialogue program generation has been alter information in the system. A dialogue-generation system

done in the field of CAI. A large number of course-writing should support the creation of dialogues that communicate inlanguages are already in use [1], [3], [5], [11]. Experience has terms of a domain model, which is understandable to those whoshown that these languages do indeed meet a need. The time are familiar with the domain but are not necessarily familiarrequired to create instructional material, which can run as high with the use of computers.as 100 to 200 hours per hour of dialogue, is drastically reduced The aforementioned dialogue types require what might beusing one of these languages [8]. called a simple dialogue program generator. A simple dialogue

Dialogue program generators for a much broader range of program generator is capable of accepting a dialogue description,dialogues are needed. This correspondence reports on a project either in batch form as in Fig. 1, or interactively, and producingfor the development of a general-purpose dialogue program a dialogue program that may be executed to provide the requestedgenerator, Basic Resource for Interactive Dialogue Generation dialogue.(BRIDGE). BRIDGE is an interactive programming system the In addition, a general-purpose dialogue-generation systempurpose of which is to provide an easily learned efficient tool should allow the creation of programming dialogues. Interactivefor generating dialogues. The remainder of this correspondence programming systems, as depicted in Fig. 2, are becomingdiscusses the nature of the dialogues that BRIDGE is intended increasingly popular. Interactive versions of Cobol, Fortran, andto create, and the facilities that BRIDGE provides for their PL/I are widely used and, of course, there is APL. Translatorcreation. writers, used to define noninteractive programming languages,

are also gaining acceptance. Again, a translator writer may beIII. DIALOGUE TYPES noninteractive, as in Fig. 3, or interactive. Combining all these

Any general-purpose dialogue-generation system should concepts, it is reasonable to expect that our general-purposecertainly be able to match the capabilities of existing CAT dialogue program generator will include interactive translator-languages. The system should provide for the creation of course writing capabilities for creating interactive programmingmaterial, the specifications of correct, partially correct, and languages.wrong answers, maintenance of student scores and records, and The BRIDGE system is intended to be able to generate all ofso on. these types of dialogues. Indeed, the primary objective of the

Page 3: BRIDGE: An Interactive Dialogue-Generation Facility

404 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, MAY 1975

2) The dialogue interface includes a display, which is parti-LANGUAGE TRANSLATOR tioned into windows. One window is dedicated to frame presenta-DESCRIPTION ?I WRITING COMPILER tion; other windows may contain messages, directories, user

SYSTEM__v _ data, a listing, or summary of the dialogue to that point, and so

on.3) In the "normal" mode of the dialogue, frames are presented

to the dialogue user. The user half of the dialogue consists ofresponses to these frames: answering questions, selecting from

FROGRAME = BJCROGRAM alternatives, entering data.4) The user may seize the initiative by interrupting the dialogue

with a variety of commands. The user may interrupt to alter aprevious response (edit), to query and update data associatedwith the dialogue, to seek CAI concerning some aspect of thedialogue, to request a report or summary of the dialogue so far,

INPUT O= OUTPUT and so on.It can be seen that the BRIDGE system does limit the range of

dialogues that can be generated. The main-line of the dialogueFig. 3. Translator writing system (compiler-compiler). corresponds to what Carbonell [2] calls ad hoc frame-oriented

dialogue. Such things as natural language question-and-answerand mixed initiative dialogue, which are characteristics of what

BRIDGE project is to develop the capability of generating a Carbonell calls information-structure-oriented dialogue, arecombination of these dialogues-namely, self-teaching user- missing. The provision for several interrupt modes in BRIDGE-domain-oriented programming dialogues. As an example, created dialogues is a first step in that direction.BRIDGE can be used to create a dialogue for data entry programgeneration. This dialogue can then be used by a data entry V. USING BRIDGEspecialist to create a data entry program. The dialogue com- BRIDGE is itself a man-computer dialogue. The long-rangemunicates in terms of forms and fields and field attributes, and objective concerning the capabilities of BRIDGE is that it beso on. Portions of the dialogue are CAI in nature and teach the able to generate dialogues with a broad range of dialoguespecialist how to use the dialogue to program his data entry characteristics; in the short range, a BRIDGE system has beenapplication. When the dialogue is completed, a data entry pro- implemented that limits the characteristics of the generatedgram has been created. This program can then be used for on-line dialogues. Similarly, the long-range objective concerning the usedata entry at a terminal. This example will be elaborated in a of BRIDGE is that it be accessible to and useable by persons wholater section. are not programmers; in the short range, the implemented system

Fig. 4 summarizes the BRIDGE system. At (A), there is a compromises on this objective. The use of the first-cut BRIDGEBRIDGE user who creates a dialogue program. This program system is characterized by the following.can then be run as a job in the BRIDGE system at (B). A dialogueuser uses this dialogue to produce some output, which appears A. Frame Creation and Editingat (C). The output may be simply data, for example, a report of a The usual sort of frame creation and editing facilities areCAI session. Or the output may be a batch program that can provided. The BRIDGE user can create frames containing textbe run as a job against some input data to produce batch output. and/or graphics; he can create frames the contents of whichOr the output may be a dialogue program (as in the data entry depend on the state of the system at the time of frame presenta-example) and that, too, can be run as a job in the BRIDGE tion. Frames can be edited by insertion, deletion, patching to-system. gether of pieces of several frames, and shifting pieces of a frame

relative to each other.

IV. DIALOGUE CHARACTERISTICS B. Data Structures

We have been describing the capabilities of BRIDGE in terms The BRIDGE user can define data structures for storage ofof the types of dialogues that it can generate: CAI, user-domain, user responses and other data. These structures are similar to theprogramming, combination. As a first cut, a BRIDGE system associative data structures of Wilkes [10], and the structureshas been implemented that includes to some extent the capability developed in the GOLD STAR project [4]. The intent is toto generate all these types of dialogues. There is another ortho- provide the BRIDGE user with a simple device for storinggonal dimension along which BRIDGE's capabilities may be entities, expressing relations among entities, and operating ondisplayed. That dimension is concerned with the interaction entities.characteristics of the dialogue to be generated: what sorts ofthings can the dialog user do and what sorts of things can the C. Intra-Frame Logiccomputer do? The first-cut system imposes certain limitations The BRIDGE user can specify the syntax of the responsein this area. The interaction possible with a BRIDGE-created sequence for each frame. This is accomplished using the BRIDGEdialogue can be characterized by the following, procedural language, which includes IF-THEN-ELSE, DO-WHILE,

1) The dialogue is frame-oriented. The computer half of the and CASE constructs. He can also specify actions to be taken if adialogue consists primarily of display units, or frames, containing legal response is given, including operations on data and on thetext and/or graphics of which the structure has been predefined. display. The BRIDGE language makes a clear distinctionThe sequence in which frames are presented depends on the between flow-of-control elements used to specify syntax or thehistory of dialogue user responses to prior frames. logic of a procedure, and computation elements used to specify

Page 4: BRIDGE: An Interactive Dialogue-Generation Facility

CORRESPONDENCE 405

BBIDGE D- jDALOGUE 1D6ALOGUE(A) SER 0-) ROGRAM ~ ROGRAMAGENERATOR RG

- DIALOGUE PROGRAM(B) LOGUE - BATCH PROGRAM

- DATA )

REPORT f

(c) I NPUT= :;qATCH DI LOGUE4)f D ALOGUEU ATA | ITA0UTPUT OSER EO UTPUT

Fig. 4. BRIDGE.

the "actions" portion of a procedure. This characteristic of When execution is interrupted because of a missing frame or

BRIDGE corresponds to and is inherited from TRAIL, the procedure for example, the system goes into an incrementalsystems programming language being used to implement the execution mode. The BRIDGE user can then enter commandsBRIDGE system [6], [9]. and operators to step the dialogue along. He can also cause the

system to "skip over" an unspecified portion of the dialogue andD. Inter-Frame Logic resume execution.The BRIDGE procedural language is also used to specify the

sequencing from frame to frame. The sequence of frames pre- VI. EXAMPLEsented, of course, may depend on user responses to frames In this section, we elaborate the data entry example mentionedalready presented. earlier, discussing each of the three stages depicted in Fig. 4.

E. Dialogue Documentation A. Use ofBRIDGEA standardized method of documenting the results of a dia- A BRIDGE user wishes to create a dialogue for data entry

logue is available in BRIDGE, consisting of "review-frames" program generation. He is concerned with the type of data entryand "listings." A review frame summarizes, in the desired in which a clerk, sitting at a terminal, transcribes data from aformat, the responses to a group of frames. A review frame is batch of forms into the system. He wishes to create a dialogueautomatically presented to the dialogue user after the correspond- that will allow a business manager to define a data entry pro-ing group of frames has been seen. This reminds the user of what cedure tailored to his particular installation.he has just done. A listing is a complete history of all user The BRIDGE user sits at a keyboard/CRT terminal. Theresponses to a dialogue. It is intended to be the primary docu- BRIDGE system will guide him in specifying a complete dialoguementation of a dialogue activity, and also to be a device by definition. He begins by defining a data structure to describe awhich the dialogue user can refer to prior responses that he form. The structure is an array with a fixed number of columnswishes to change. and a variable number of rows. Each row corresponds to one

F. Dialogue Semantics field on a form. The row contains the name of the field and a listof its attributes, such as length, data type, etc.

The BRIDGE user specifies the semantics of the programming The BRIDGE user then creates some frames to ask for infor-dialogue by specifying how to transform dialogue user responses mation about the form. The frames consist of questions such as,into executable form. That is, for each response or group of "How many fields on the form?," "What is the length of fieldresponses, he constructs a BRIDGE procedure that defines the _ 9.," and so on. He writes a little procedure for each framesemantics of those responses. that defines the correct syntax of responses to that frame. He also

G. CAI writes a procedure that sequences through the frames until all thefields have been defined.

The BRIDGE user can develop a set of CAI packages to go In addition, the BRIDGE user must define the "semantics" ofwith his dialogue. A package is invoked at a specified point in the the dialogue he is generating. That is, he must define what hap-dialogue if the user requests instruction at that point. Since each pens at (C) as a function of the dialogue taking place at (B).package is a complete subdialogue, all the dialogue-generating (See Fig. 4). In this example, all that is required is a procedurecapabilities of BRIDGE can be used for developing the package. that defines a data entry dialogue for a particular form. This will

be clearer when we discuss (C) later.H. Dialogue Testing Finally, the BRIDGE user may wish to add some frames andA BRIDGE user can test an incompletely specified dialogue, procedures to define a CAL dialogue that will explain data entry

He can request execution of the dialogue starting at any point, definition to a user at (B).

Page 5: BRIDGE: An Interactive Dialogue-Generation Facility

406 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, MAY 1975

B. Use ofBRIDGE-Created Dialogue VII. CONCLUSION

At this stage, we have a dialogue user who wishes to define a We have demonstrated to our own satisfaction that BRIDGEdata entry procedure for the forms used in his office. He will also as just described is far easier to use for implementing dialoguesuse a keyboard/CRT arrangement. than a conventional programming language. The dialogueThe dialogue begins with a sequence of frames explaining the designer need not be concerned with a great many of the messy

use of the dialogue. Then the user is asked how many forms he details. The various tools used are fairly natural for the task athas. The system will create one data structure (array) for each hand and provide adequate expressive power. Nevertheless, theform. For each form, the system cycles through a series of BRIDGE user would need either prior programming experienceframes that asks the user to define and describe all the fields on or special training to use the system. Later versions of BRIDGEthe form. This completes the dialogue. are planned that will be progressively easier to use and at the

same time contain progressively more general dialogue-C. Use of Dialogue-Created Program generation capabilities.The program created at (B) is itself a dialogue-a data entry

dialogue. Actually, the logic for this program was defined at (A). REFERENCESThe user at (B) simply provided some parameters for the program.Examples in which the logic is essentially defined at (B) could be [1] J. R. Allen, "The cybernetic centaur: advances in computer-assisted

instruction," Computers and Humanities, pp. 373-387, Sept. 1973.presented. [21 J. R. Carbonell, "Al in CAI: An artificial-intelligence approach toThe data entry program works like the following. The user at computer-assisted instruction," IFEE Trans. Man-Mach. Syst.,

pp. 190-202, Dec. 1970.(C) also has a keyboard/CRT terminal. Using the form definition [3] M. W. Dowsey, "Easy author-entry systems: a review and a prototype,"created at (B), the system will sequence through the fields on the Int. J. Man--Mach. Studies, pp. 401-419, July 1974.

4]A. I. Fillat and L. A. Kraning, "Generalized organization of largeform and ask the user to enter the data for each field. When data-bases; a set-theoretic approach to relations, M.I.T., Cambridge,the form is full, the dialogue starts over and accepts the data for Tech. Rep. MAC-TR-70, June 1970.[s] C. H. Frye, "CAI languages: capabilities and applications," Datama-the next form, and so on. tion, pp. 34-37, Sept. 1968.

[6] R. J. Lechner and W. W. Stallings, "A minisystem programmingThis example, though simple, illustrates all the principal language," in Proc. ACM Nat. Conf. pp. 174-182, 1973.

capabilities of BRIDGE. The BRIDGE user created a dialogue [7] J. Martin, Design of Man-Computer Dialogues. Englewood Cliffs,N.J.: Prentice-Hall, 1973.

that was self-teaching; the user of the dialogue needed no instruc- [8] R. Simonsen and K. Renshaw, "CAI--boon or boondoggle?"tion or training other than that provided by the dialogue itself Datamation, pp. 90-102, Mar. 1974.H.9]M Theberge and E. Beaverstock, "Narrowing the generation gapThe dialogue was user-domain-oriented; the dialogue user dealt between virtual machines and minicomputers," in Proc. Nat. Com-only with concepts familiar to him-fields and forms. Also it was 1] Pr Conf. pp. 285-287, 1974.1]MV.Wilkes, "Associative tabular data structures," Int. J. Comput.a programming dialogue; the dialogue user actually wrote a data Inform. Sci. pp. 225-233, 1972.entryprogram. [11 K. L. Zinn, "Programming conversational use of computers for

entry program. instruction," in Proc. ACM Nat. Conf. pp. 85-92, 1968.

Book Reweview

Transmission of Information by Orthogonal Functions-H. F. Harmuth book is recommended as a reference rather than a text. The author has,(New York: Springer-Verlag, 1972, 2nd ed., 393 pp.). Reviewed by however, attempted to establish some mathematical foundations, andM. Maqusi, Electrical Engineering Department, Mosul University, he has actually provided a good treatment of generalized orthogonalMosul, Iraq. functions and the generalized Fourier transform. However, in introduc-

ing Walsh functions he has left out some enlightening mathematicalconsiderations in generalized Walsh functions and the Walsh trans-

In the second edition of Transmission of Information by Orthogonal form. This could have contributed to better understanding of theseFunctions, Dr. Harmuth has included additional material on the functions, as the average reader has little or no familiarity with them.applications of Walsh functions in currently active research areas such Sequency filters are then derived via the Walsh transform. As theas sequency filtering. This should be of particular interest to students author points out, these filters can easily be implemented as digitalof Walsh theory. This edition also contains ample problems of analytical filters. Consequently, filtering operations can benefit from use of theand practical value. Since the book emphasizes Walsh functions from already existing fast Walsh transform techniques. This is one reasonamong orthogonal functions, this review is therefore biased towards whythese filters seem desirable. Another reason is thatWalsh functionsthese functions. are suited for filtering signals that can be represented by amplitudeTo benefit from the book, the reader must assume a moderate back- samples at equidistant time points. Filters, based on Walsh functions,

ground in mathematics and communications engineering. Thus the are again derived for purposes of filtering space signals.


Recommended