OVERVIEW OF THE KHOROS PROGRAMMER'S MANUAL

Volume II of the Khoros Manuals contains documentation for the program developer who wishes to create new applications using the Khoros user interface development tools and the source configuration tools.

In simplest terms, a Khoros application consists of application-specific algorithms which are accessed by an automatically generated user interface based on a User Interface Specification (UIS). The Khoros User Interface Development System (UIDS) supports the creation of three types of user interfaces: graphical, textual, and the visual language.

The source configuration tools help you to maintain the extensions that you have made to Khoros using the UIDS. The software engineering tools in Khoros embed conventions that we have chosen and modern software practices. The tools attempt to automate complex tasks. At this point in the evolution of Khoros, we are partially successful in hiding the complexity from the user. When a tool is complicated to use, we attempt in this manual to document and explain how a user should proceed.

The underlying philosophy is that you are creating your extensions to Khoros to have the characteristics of reusability and maintainability.

       CHAPTER SUMMARIES

Chapter 1 is where the Khoros programmer should begin. If you are new to Khoros, you should read through Chapter 1, then become familiar with the rest of Volume II, and then read Chapter 1 again.

Chapter 2 provides an in-depth explanation of the use of the UIS file. The first task for the application designer who wishes to develop a Khoros program is to create a UIS file, so a careful study of this chapter is important for anyone who wishes to develop a program under the Khoros system. Information concerning the physical appearance and functionality of an application interface is contained here. Designed as a high level description, the specification is used directly to generate the code for both the graphical and the command line user interfaces.

Chapter 3 gives instructions for the use of preview, a program that allows you to prototype the graphical user interface defined by a UIS.

Chapter 4 gives instructions for the use of composer, a program that allows you to interactively edit a UIS file and a Program Specification (PS) file.

Chapter 5 details the use of the ghost routines for automatic generation and maintenance of code for the command line user interface (CLUI) of a Khoros program. Use of the ghost routines is required for creation of any Khoros program.

Chapter 6 explains conductor, an automatic code generation program for xvroutines only. Conductor generates the C code necessary to mediate between the xvforms library and the application program's graphical user interface.

Chapter 7 gives examples of xvroutines; there is no need for additional examples of vroutines, as more than enough are available in the vipl and dspl libraries.

Chapter 8 introduces the libraries which form the foundation on which the Khoros system is based. They provide utilities so that the program developer may create applications under X Windows, Version 11, Release 4, while knowing only a little about X programming. For those who have already developed programs using the Khoros libraries, changes to library routines are listed in the first section.

Chapter 9 contains the documentation for the layout of of the Khoros Source Tree. In addition, it gives details on the use of Makefiles and Imakefiles.

Chapter 10 is the installation guide. Yes we know - it should be chapter 1.

Chapter 11 contains the documentation for kraftsman. This chapter was added when we released patch 3 to Khoros 1.0.

       RECIPE FOR USING VOLUME II

Volume II is an integrated set of documents. The order in which you should learn them depends on what stage of development you are in and what your goals are. Ideally, you could get started using the tools and the Khoros environment with out having to know all of the details of the system. Then as you begin to use the system, you can come back to Volume II as you need. The following recipe is for someone new to Khoros and investigating the possibilities of using Khoros as a software development environment.

    1) Get Familiar with Volume II - Read Chapter 1 sections A through I so that you can become familiar with the terminology used and the tools that are available. The details of this material will not sink in until you begin programming. Then, spend about an hour or two looking through the rest of Volume II, reading the sections that look interesting.

    2) Experiment with Composer - Create yourself a work directory for experimenting with composer. Create a user interface for a simple vroutine and use ghostwriter to generate code for it. Do not attempt to install it yet. Access your new routine via the cantata user interface as described in Chapter 1.

    3) Read Chapter 1 Again - This time through Chapter 1, read the documentation critically and try and understand most of the details. You are now preparing yourself to completely install a new program into the Khoros environment.

    4) Study Configuration Management - Most casual programmers are not familiar with configuration management and lack a knowledge of Imake, etc. But, if you want your software to have the qualities it needs to be maintainable and usable by others, then learn configuration management. This material is in Chapter 9 of Volume II.

    5) Create a Toolbox - Following the instructions in Chapter 11 and Chapter 1, create a new toolbox.

    6) Write and Install a Simple Program - Use the simple program that you created in step 2) above and install it into your toolbox.

Good Luck!