[comp.edu] Authoring Systems

louis@auvax.UUCP (Louis Schmittroth) (07/24/87)

I am looking for an applications generator to be used to develope
computer-based instruction programs which must run on both MS/DOS and
UNIX.  Ideally this should be an authoring system which generates C
program modules which could also be used as a front end for a DBMS.  It
would be nice if an experienced (non-programmer) user could develope
CAI modules, but the system should allow a programmer to customize an
application.  One such system I have looked at briefly is JAM and
FORMAKER from JYACC.  They have ads in UNIX/WORLD, and I have their
demo disk for MS/DOS.  Is there anyone out there with experience using
JYACC's software?

The authoring system should really be a front end to generate C code
and call on a library of functions supplied with the package.  It
should have a screen builder and should generate a data dictionary, but
also flow control facilities.

I will also be evaluating Windows for C and Windows for Data from
Vermont Creative Software, and would appreciate hearing any comments
about this package or any others that you have used.
-- 

Louis Schmittroth		           My employer has no opinions.
Computer Science
Athabasca University   ...{ubc-vision, ihnp4}!alberta!auvax!louis

bas+@andrew.cmu.edu (Bruce Sherwood) (07/27/87)

Concerning authoring systems for preparing materials for either UNIX or
MS/DOS environments, I might mention something which does do that (but may
not fit the other stated requirements).

At Carnegie Mellon University we have Unix-based workstations (IBM RT PC,
Sun2, Sun3, and MicroVax) running the Andrew system software developed in a
join CMU-IBM project.  Call Unix level 1 in a layered software environment.
Level 2 is the Andrew window manager "wm", soon to be replaced by X11 from
MIT.  Level 3 is the Andrew "base environment", a subroutine library which
among other things facilitates embedding a standard (and powerful) scrolling
text editor panel within your own program.  Level 4 is CMU Tutor, a
programming language with the following properties:

1) Integrated environment -- text editor, graphics editor,
compiler/linker/executor are all packaged together.

2) Incremental compiling, so that it looks as tho you're using an interpreter
(instant revision) but it runs at the speed of a compiled language.  Contrast
this with C, where compiling and linking of interesting Andrew programs
typically takes five minutes.

3) Direct entry of complex text (italics, centered, etc.).  Such text can't
go into a C program because the compiler chokes on it.

4) Graphics editor:  Click in the execution window, and source code is
inserted into the source window, and the source code is reexecuted to make
the new display.  This enormously speeds up the production of the display
parts of the program.

5) Compiler errors are marked on the correct line, down to the character
position, and the accompanying message is explicit rather than vague.
Similarly for run-time errors.  Contrast this with the vague error messages
given by the C compiler, often with misidentifcation of the offending line.
Or contrast with reading a dump at run time.

7) Rescaling for variable window sizes.  Two lines of source code suffice to
make text and graphics resize when the window is reshaped.

8) An on-line reference manual which not only gives several ways to find
information but also provides sample routines to illustrate all features.
Thanks to incremental compilation and universal cut-and-paste between
windows, these examples can be run instantly, so the manual describes itself.

9) Programs written in CMU Tutor on Unix-based Andrew workstations can be
compiled and run on MS-DOS PCs and on Apple Macintoshes.  Because display and
control are expressed in a generic rather than an environment-specific way,
programs are remarkably environment-independent.  For example, mouse-driven
menus on Andrew are pop-up menus, but on the PC and Mac they are pull-down
menus (we do our own menus on the PC).  But in the CMU Tutor source code one
just says "menu", and this generic statement then does whatever is
appropriate on the various machines.  Since CMU Tutor programs can be made to
automatically adjust to varying window sizes, they automatically adjust to
the different screen sizes on these various machines.

Although the main thrust of the PC and Mac versions is to run programs
written in the productive multi-window workstation environment, one can write
programs directly on these machines using a batch compiler.  And there is now
an experimental version being debugged on the Mac which does give incremental
compiling, source and execution windows, and graphics editing.

CMU Tutor is a dialect of the Tutor languages, especially Tutor and
MicroTutor of the PLATO Project at the University of Illinois, with
enhancements stimulated by modern mouse-and-graphics oriented environments.
It is a full language, not a simple "authoring" language, with most of the
constructs associated with normal computer languages but with major
enhancements in the area of display, sequencing, and response analysis.

Although it does not generate C code as was requested in the question about
authoring systems, we do intend eventually to permit linking to C routines.
It is already the case that one can use a CMU Tutor front end to control
other resources, by starting up other Unix processes and communicating thru
files.  For example, a CMU physics professor uses a CMU Tutor program to
create an input file in the proper format for Spice, a big circuit-analysis
program.  His CMU Tutor program starts up Spice and watches for the
appearance of an output file from Spice.  It reads this output file,
manipulates the contents with powerful string features, and graphs the
results.  This same professor is working on using CMU Tutor as a front end to
the Cray at the Pittsburgh Supercomputer Center.

CMU Tutor is being used at a number of universities which have acquired
Andrew and CMU Tutor.  For $500 one can get a university-wide site license.
If you are interested, write to Andrew Distribution, Information Technology
Center, Carnegie Mellon University, Pittsburgh PA 15213, and they'll send you
licensing information.  Be sure to state what kind of workstation you intend
to run Andrew on.  When you take out a license for the IBM-owned Andrew
system software, we throw in for free CMU Tutor, which is owned by Carnegie
Mellon.

Bruce Sherwood
Center for Design of Educational Computing
Carnegie Mellon University

ram@elmgate.UUCP (Randy Martens) (08/06/87)

In article <284@auvax.UUCP> louis@auvax.UUCP (Louis Schmittroth) writes:
>I am looking for an applications generator to be used to develope
>computer-based instruction programs which must run on both MS/DOS and
>UNIX.  Ideally this should be an authoring system which generates C
>program modules which could also be used as a front end for a DBMS.  It
...
>The authoring system should really be a front end to generate C code
>and call on a library of functions supplied with the package.  It
>should have a screen builder and should generate a data dictionary, but
>also flow control facilities.
------
There is a product Produced by Quantum Software Systems of Ottawa, Ontario,
Canada, called QNX.  It is designed towards 80286 based PC's and makes
them run like greased bats out of hell.  It is the NICEST PC OpSys I have
ever seen.  It is full blown UNIX, full blown "C", and lots of nice features
including windowing, DBMS, networking, menu builder, editor, lots of function 
libraries & so forth.  It does real-time/multi-tasking/multi-processing very
well.  Part of the package is a tool called QDOS which allows you to
run MSDOS inside a UNIX shell, and have the DOS applications think that
they are on their very own little DOS machine, and let the QNX control
them and run other tasks in paralell.  It also includes the ability to create
applications in the UNIX environment. and crosslink them to run as dos .EXE 
files.

Quantum can be reached at (613)-591-0931 or (613)-726-1896.

Randy Martens - Hi ! I am new to the net.
Mail - Eastman Kodak, dept. 646 2-9, 901 Elmgrove Road, Rochester, NY, 14650
"Reality - what a Concept !" - R.Williams