[163] in DCNS Development

home help back first fref pref prev next nref lref last post

[Dennis.Aylward@East.Sun.COM (Dennis Aylward - Account Executive):

daemon@ATHENA.MIT.EDU (Peter Roden)
Wed Feb 5 11:12:27 1992

Date: Wed, 05 Feb 92 11:11:42
From: roden@MIT.EDU (Peter Roden)
To: developers@MIT.EDU


------- Forwarded Message

Date: Wed, 5 Feb 92 10:58:02 EST
From: Dennis.Aylward@East.Sun.COM (Dennis Aylward - Account Executive)
To: mar@MIT.EDU, roden@MIT.EDU
Subject: KHOROS

I suspect that this is already familiar to you but I thought I would pass
it along FYI, just in case...

--Dennis Aylward

----------------------------------------------------------------------------
                                                        The Florida SunFlash

                               KHOROS

SunFLASH Vol 38 #3                                             February 1992 
----------------------------------------------------------------------------
This is an announcement about a public domain image processing (and
more) project from the Department  of  Electrical and Computer
Engineering at the University of New Mexico. Ftp and mail instructions
are included. -johnj
----------------------------------------------------------------------------

             AN ENVIRONMENT FOR INFORMATION PROCESSING,
             DATA VISUALIZATION, AND SOFTWARE DEVELOPMENT

     THE KHOROS PROJECT

     The main goal of the Khoros software project is to create and  provide
     an  integrated  software  development environment for information pro-
     cessing and data visualization. The  Khoros  software  system  is  now
     being  used  as  a  foundation  to  improve  productivity  and promote
     software reuse in a wide variety of application domains.   A  powerful
     feature  of  the  Khoros  system  is  the  high-level, abstract visual
     language that can be employed to significantly boost the  productivity
     of the researcher.

     Central to the Khoros system is the need for a consistent yet flexible
     user  interface  development  system that provides cohesiveness to the
     vast number of programs that make up  the  Khoros  system.   Automated
     tools  assist  in  maintenance as well as development of programs. The
     software structure that embodies this system provides for  extensibil-
     ity  and portability, and allows for easy tailoring to target specific
     application domains and processing environments.

     OVERVIEW

     The Khoros system integrates multiple user interface modes, code  gen-
     erators, instructional aids, data visualization, distributed computing
     and information processing.  The result is a  comprehensive  tool  for
     computational  research  and  development.   The Khoros infrastructure
     consists of six major subsystems:

     (1)  A high-level visual language that may  be  extended  to  fit  the
          application domain.

     (2)  A user interface development system consisting of a  User  Inter-
          face  Specification (UIS) and code generators that use the UIS to
          generate code for all programs created under the Khoros system.

     (3)  An interoperable data  exchange  format  (VIFF)  supported  by  a
          comprehensive automatic storage conversion library.

     (4)  Application specific data display and processing libraries; image
          processing,  digital  signal processing, numerical analysis, data
          and file conversion, graphics display, and image display.

     (5)  A set of interactive X Windows-based programs address such  areas
          as  image  display,  colormap  manipulation, animation, plotting,
          warping of image data, and surface visualization.

     (6)  A set of meta-system calls provide a foundation  for  distributed
          computing  and  efficient  data  transport.  Khoros provides user
          selectable compute locations via the  visual  language,  computer
          supported  cooperative  work  via  a distributed X mechanism, and
          remote access to data via a distributed data transport server.

     The software structure that embodies this system provides for extensi-
     bility  and  portability,  and  allows  for  easy  tailoring to target
     specific application domains and processing environments. Khoros is  a
     successful demonstration of how research programming, application pro-
     gramming, information  processing,  data  visualization,  instruction,
     documentation,  and maintenance can be integrated to build a state-of-
     the-art software environment.

     THE VISUAL LANGUAGE

     The visual language of Khoros, cantata, is  a  graphically  expressed,
     data-flow  oriented  language.   The user builds a cantata application
     program ("workspace") by connecting  processing  nodes  ("glyphs")  to
     form  a  data  flow  graph.  Glyphs are selected from the many library
     routines available with Khoros; the user may also create  new  library
     routines  using the Khoros user interface development system, and make
     them available to cantata.  The visual language is  considered  to  be
     large-grain  because  each  glyph represents an entire program.  "Con-
     trol" glyphs (providing if/else conditions, loops, etc) and a  expres-
     sion  parser  extend  the  functionality  of  the underlying data flow
     methodology.

     Visual "procedures", each representing a segment  of  the  network  of
     glyphs  in  a  workspace,  can  be used to add structure to the visual
     language and help to  manage  the  complexity  often  associated  with
     visual  programming.  A dynamic execution scheduler allows the user to
     interactively execute the entire flow  graph  across  a  heterogeneous
     computer  network.  The execution can be set to either a demand driven
     or data driven model depending on the application and desired level of
     interactivity.

     USER INTERFACE DEVELOPMENT SYSTEM

     The framework of every program in the Khoros system is  defined  by  a
     User  Interface  Specification.  This high-level specification is used
     with automatic code generators that allow Khoros programs to combine a
     UNIX-like  command  line user interface (CLUI) with an X-Windows based
     graphical  user  interface  (GUI).   Khoros  programs  can  be  easily
     incorporated  into the visual language that is an integral part of the
     Khoros system;  the use of the code generators  ensures  that  program
     user  interfaces  and  documentation  are  consistent and correct.  In
     addition, the user interface development system provides  a  means  of
     quickly  prototyping new algorithms, encourages standard coding styles
     and methods, and can  potentially  make  the  user  as  productive  in
     extending  the system as the original programmers were in creating it.
     The software development tools listed below allow an end-user  to  act
     as a developer to extend the system.


             Program Name   Description
             -----------------------------------------------------
             preview        GUI display tool
             composer       GUI editor
             conductor      code generation tool for a GUI's
             ghostwriter    code generation tool for CLUI's
             kinstall       source configuration & management tool

     The Khoros user interface development system provides features  common
     to all applications, such as: (1) journal recording/playback & distri-
     buted user  interfaces  for  X-Windows  based  applications,  (2)  re-
     arrangement  of  the graphical user interface without recompiling, (3)
     consistency of use, (4) standardized  documentation  format,  and  (5)
     consistent structured programming methodology and styles.

     INTEROPERABLE DATA EXCHANGE FORMAT

     The Khoros Visualization and Image File Format (VIFF) or  data  struc-
     ture  supports general geometric objects, multidimensional data, and a
     robust mapping scheme.   Storage  type  conversion  between  different
     architecture  platforms  is automatically performed by the meta-system
     read and write utilities; for example, DEC VAX floating point data  is
     automatically converted to IEEE format if read on a SUN computer.  The
     consistent use of the Khoros  data  structure  promotes  an  algorithm
     library  that  can  be  used  in  many  disciplines  and supports data
     exchange.

     As Khoros expands, there will be a need to support a set of "standard"
     file  formats.   Currently,  Khoros provides for data interchange with
     other systems via file format converters.  Khoros supports the follow-
     ing  file  formats:  TIFF, pbm, BIG, DEM, DLG, ELAS, FITS, Matlab, SUN
     raster, TGA, and xbm.

     DATA PROCESSING LIBRARIES

     Khoros includes libraries of programs that can operate on point  data,
     one-dimensional  data,  two-dimensional  data,  multiband  data  or N-
     dimensional  vector  data.   These  operators  are  designed   to   be
     polymorphic,  or  in  other  words  they function on bit, byte, short,
     integer, float and complex data types.  The term also implies that the
     functions  know to operate differently depending on the dimensionality
     or organization of the data.

     There are two interface levels defined in  the  library  functions  in
     Khoros; the program or process interface and the function call or pro-
     cedure interface.  The program interface is determined  completely  by
     the high-level user interface specification described above.  The pro-
     cedure interface is currently not as well defined, but allows the pro-
     cedures  (functions) to be easily combined into a single program. As a
     note, visual programs are built by executing a set of  programs  using
     the program interface.

     The libraries contain over 260 programs, in the following  categories:
     arithmetic,  classification,  color  conversion, data conversion, file
     format conversion, feature extraction,  frequency  filtering,  spatial
     filtering,  morphology  filtering,  geometric  manipulation, histogram
     manipulation, statistics, signal generation, linear  operations,  seg-
     mentation, spectral estimation, subregion, and transforms.

     In addition, high-level graphics and display libraries  are  available
     to  those  who  wish  to create new X-Windows based applications under
     Khoros. These libraries act as a "visualization toolkit" that is  lay-
     ered on top of Xlib, Xtk and the Athena Widgets.

                 Library   Description
                 ---------------------------------------------
                 forms     graphical user interface
                 utils     pop-up browsers, errors, help, etc.
                 gaphics   2D/3D graphics; X, Postscript, HPGL
                 display   image display & editing

     X WINDOWS APPLICATIONS

     The interactive graphical user interface programs  that  are  part  of
     Khoros  are  based  on MIT X11R4 and the Athena widgets. Such applica-
     tions written under the Khoros system are automatically endowed with a
     journal  record  and playback capability that is useful for demonstra-
     tion and instructional purposes.  Taken a step  farther,  the  journal
     record/playback  capability  was extended to work on multiple displays
     simultaneously with a "distributed user interface  controller".   This
     distributed user interface empowers users to execute a Khoros applica-
     tion which not only will appear on multiple  displays  simultaneously,
     but which can also receive input from each of the users.
     Still under development, the  distributed  user  interface  controller
     will  provide  a  more  sophisticated  mechanism for instructional and
     demonstration purposes, as  well  as  a  powerful  tool  for  a  long-
     distance, collaborative approach to problem solving.

          Program Name          Description
          -----------------------------------------------------------
          cantata               visual programming language
          editimage             image display & manipulation
          animate               image sequence display
          xprism2 and xprism3   2D and 3D plotting packages
          viewimage             surface visualization
          warpimage             image registration and warping
          concert               distributed user interface controller

     META-SYSTEM FOUNDATION

     Khoros is designed to operate and fully utilize a  heterogeneous  com-
     puting  environment.   The meta-system library provides a set of func-
     tion calls that extend the standard UNIX system  calls  to  provide  a
     network level interface.  As an example, the kopen() function can open
     a standard file on the local host as well as open access to:  a remote
     file,  a  socket,  shared  memory,  a pipe, a stream, or SUN's Virtual
     Memory.  This simple interface provides access to  network  wide  data
     transport.

     The application programmer benefits from the meta-system  because  the
     task  of writing distributed applications is simplified.  The end user
     benefits from the meta-system by being able to  select  compute  loca-
     tions   via   cantata   and  by  being  able  to  access  remote  data
     transparently.

     The careful integration of the six Khoros subsystems summarized  above
     allow it to act as a distributed collaboration environment.

      HISTORY

     The Khoros project has been underway at the Department  of  Electrical
     and Computer Engineering at the University of New Mexico since January
     of 1987.   Previously  named  "XVision",  the  project  has  undergone
     tremendous changes in focus and scope since its beginning.  Originally
     conceived as a tool to improve the productivity of research,   initial
     software  was  developed  to  provide  a  consistent command line user
     interface for an existing library of image processing  programs.   The
     project quickly expanded to contain an image display program,  a plot-
     ting package, and code generators to automate  the  creation  of  code
     that was common to all programs.

     A visual language was developed to provide  users  with  a  more  con-
     venient  and  intuitive access to the capabilities offered by the bur-
     geoning image processing library.  Other libraries were  developed  to
     address  problems  in  digital  signal processing, numerical analysis,
     data conversion, and remote sensing.  A number of  new  graphical  and
     image  display  packages  were  developed  to  meet the demands of the
     users, while the user interface development system matured in order to
     meet the demands of the rapidly growing project.  The distributed user
     interface was implemented experimentally, to support  the  concept  of
     groupware;  reactions have been extremely favorable so far.

     CURRENT STATUS OF KHOROS (Patch Level 4)

     The Khoros system has been applied to  a  diverse  spectrum  of  areas
     including  medical  research, ecological studies, remote sensing, vir-
     tual reality, telecommunications, and optics. The Khoros project  con-
     tinues  to  evolve as new developments occur in the continued research
     and development of software environments for  information  processing,
     data  visualization and software development.  Khoros is being used as
     a teaching tool at several Universities.  Release 1.0  of  Khoros  was
     offered  free of charge via public ftp access on May 10, 1991; updates
     have since been provided in patch form.   Release  2.0  of  Khoros  is
     expected to be out in late 1992.

          The documentation for the system is a combination of on-line help
     and printed manuals.  The manual is made up of three separate volumes:
     User's Manual, Programmer's Manual, and Reference Guide.  Also,  jour-
     nal playback files are provided to give the new user "live" demonstra-
     tions of the various applications.

          Khoros currently runs on APOLLO, CRAY, DEC, HP, IBM, OMRON, MIPS,
     NeXT,  SGI  and  SUN  platforms,  and  there  are  porting efforts for
     386/486, CONVEX, DG and MacII platforms. Khoros is now  available  via
     anonymous  ftp  at no charge (from pprg.eece.unm.edu, 129.24.24.10, in
     the /pub/khoros directory), or a tape and printed documentation can be
     ordered for $250.00.  Support is provided via both a mail user's group
     and USENET News in which hundreds of users are now members.  For  more
     information, send e-mail to khoros-request@chama.eece.unm.edu.


=======================================================================
=======================================================================


     KHOROS  1.0 (Patch Level 4) RELEASE  ANNOUNCEMENT

INTRODUCTION

     Khoros is an integrated software development environ-
ment for information processing and visualization, based on
X11R4.  Khoros components include a visual programming
language, code generators for extending the visual language
and adding new application packages to the system, an
interactive user interface editor, an interactive image
display package, an extensive library of image processing,
numerical analysis and signal processing routines, and 2D/3D
plotting packages.

X Windows Applications

Animate - Interactive Image Sequence Display Tool
Cantata - Extensible Visual Programming Language
Concert - A system for distributed X user interfaces (groupware)
Editimage - Interactive Image Display & Manipulation Program
Xprism2 and Xprism3 - Comprehensive 2D and 3D Plotting Packages
Viewimage - A basic interactive program for surface rendering
Warpimage - An interactive program for registering and warping images

Data Processing Algorithms

     Khoros contains over 260 programs, in the following
categories: arithmetic, classification, color conversion,
data conversion, file format conversion, feature extraction,
frequency filtering, matrix algebra (LINPACK and EISPACK),
spatial filtering, morphology filtering, geometric manipula-
tion, histogram manipulation, statistics, signal generation,
linear operations, segmentation, spectral estimation, sub-
region, and transforms. Khoros supports the following file
formats: TIFF, pbm, BIG, DEM, DLG, ELAS, FITS, MATLAB, Sun
raster, TGA, and xbm.

User Interface Tools

Preview - Graphical User Interface Display Tool
Composer - Interactive Graphical User Interface Editor
Conductor - Code Generation Tool for a Graphical User Interface
Ghostwriter - Code Generation Tool for a Command Line User Interface
Source Configuration & Management - Tools to install and maintain a
                                    distributed source tree.


KHOROS DISTRIBUTION METHODS

1)  Anonymous FTP

Khoros is available via anonymous ftp from pprg.eece.unm.edu
(129.24.24.10).  Use your e-mail address as the password
(for example, ralph@whizbang.wmu.edu).  Once you have logged
in, cd to the "pub/khoros/release" directory and  get the
ascii file install.ftp.  This file will give you complete
instructions on how to get Khoros and install it on your
system.  To get this file, execute the following commands or
steps:

     a.   Use ftp to connect to pprg.eece.unm.edu.
          % ftp pprg.eece.unm.edu
               -or-
          % ftp 129.24.24.10

     b.   Use "anonymous" or "ftp" as the user name.
          Name (pprg.eece.unm.edu:login): anonymous
               -or-
          Name (pprg.eece.unm.edu:): ftp

     c.   Use your e-mail address as the password; please
          carefully use a valid e-mail address, as this ver-
          sion site logs all anonymous ftp's.
          Password (pprg.eece.unm.edu:user): {your valid e-
          mail address}
          331 Anonymous login ok, use your E-MAIL address as
          the password.
          230 Guest login ok, access restrictions apply.

     d.   Get the release notes for acquiring Khoros via
          anonymous ftp (note that "install.ftp" is the
          plain text file - both ".ms" and ".ps" files are
          available for those who would like them).
          ftp> cd /pub/khoros/release
          ftp> get install.ftp

 2)  Tape and Printed Documentation

     If you would like to order a tape and printed documentation,
fill out the order form below (last page). The cost is,
$250.00 (US and Canada) and $350.00 (International). Please
include a check or purchase order payable to UNM EECE Dept.,
in U.S. funds.  If you need additional information or
confirmation of your order, call the Khoros Group at
505-277-0806 and leave a message.

     All communication to the Khoros group should be via e-
mail.  If you have questions, comments or problems of a gen-
eral nature, then either mail the Khoros mailing list
(khoros@chama.eece.unm.edu), or post to the Khoros USENET
news group (comp.soft-sys.khoros).  To subscribe to the
mailing list, mail to khoros-request@chama.eece.unm.edu.
Once you have the system and want to report bugs, mail to
khoros-bugs@chama.eece.unm.edu.

KHOROS REQUIREMENTS AND LIMITATIONS

     To run Khoros, you must have a UNIX platform running
the X11R3, X11R4, X11R5, or OpenWindows servers. The Khoros
system consists of ~450,000 lines of C code;  you will need
a maximum of 120 Megabytes of storage for source, documenta-
tion and binaries.  To compile Khoros, the system requires
X11R4 (patch levels 1-18) or X11R5 client software from MIT
and an additional 50 Megabytes of storage.

----------------------------------------------------------------------------
-
         Khoros 1.0, patch level 4 Compiles On These Machines
                   (MIT X unless otherwise noted)
----------------------------------------------------------------------------
--
Vendor     Name                       Configuration
--------+--------------------------+----------------------------------------
---
Apollo  |  DN10000                 |  OS 10.3, Fortran 10.8, cc 6.8
        |                          |
CRAY    |  XMP, YMP, Cray 2        |  UNICOS 6.1
        |                          |
DEC     |  5000/3100               |  Ultrix 4.2, mips cc 2.0, DEC f77 
V3.0-2
        |                          |
DEC     |  Vax 3600                |  Ultrix 4.1, cc1.37.1
        |                          |
HP      |  HP9000/*                |  HP-UX 7.05, HP-UX 8.05
        |                          |
IBM     |  RS/6000                 |  AIX v3.x
        |                          |
OMRON   |  Luna88k                 |  Mach 2.5, gcc 1.37, f77 1.8.5
        |                          |
MIPS    |  Magnum 3000             |  RISCOS 4.51, cc 2.11, f77 2.11, X 4.0
        |                          |
NeXT    |  68030,40                |  MACH 2.0, gcc 1.37, Absoft f77 2.0,
        |                          |  Pensoft X
        |                          |
SGI     |  All                     |  OS 3.3.2, OS 4.0, X11 1.2, f77 3.3
        |                          |
SUN     |  SPARCstations, SUN4/*   |  SUN OS 4.1.1, f77 1.3.1
        |                          |
SUN     |  SUN3/*                  |  SUN OS 4.1.1, f77 1.3.1, gcc 1.39
----------------------------------------------------------------------------
---

     The Khoros user community has ported Khoros to various
other platforms such as the Convex, the Sequent, Data Gen-
eral Aviion, MacII, and 386/486 machines. At this time,
these platforms are not directly supported by the Khoros
Group.

KHOROS CONSORTIUM

     If your organization is interested in distributing the
Khoros software system, and/or supporting further research
and development of software environments for data processing
and visualization please contact Tom Sauer at the address
below or e-mail consort@chama.eece.unm.edu.

                Tom Sauer, Khoros Consortium
   Department of EECE, Room 110, University of New Mexico
                   Albuquerque, NM 87131

============================================================================
=
                    C U T  H E R E
============================================================================
=

                           KHOROS
                          Room 110
                     Department of EECE
                  University of New Mexico
                   Albuquerque, NM 87131

        SHIP TO:

                 -----------------------------------------------------------

                 -----------------------------------------------------------

                 -----------------------------------------------------------

                 -----------------------------------------------------------

        PHONE NUMBER:

                 -----------------------------------------------------------

        E-MAIL ADDRESS:

                 -----------------------------------------------------------

        PURCHASE ORDER NUMBER:

                 -----------------------------------------------------------

        CREDIT CARD ORDERS -    Please include the type of credit card, your
                                credit card number, and its expiration date.
                                In order to process your order, we
                                need to have your full name (as it
                                appears on the card) and also a number
                                where we can reach you during the day.

           NAME (as it appears on credit card):

                 -----------------------------------------------------------

           CREDIT CARD NUMBER:

                 -----------------------------------------------------------

           EXPIRATION DATE and CARD TYPE:

                 -----------------------------------------------------------

        Media:  (Please circle one of the following types of media)

                1) DC600A cartridge tape
                2) DC6250 cartridge tape
                3) 9-track tape (1/2 inch, 1600bpi)
                4) 9-track tape (1/2 inch, 6250bpi)
                5) DAT 4mm tape

        Binaries: (If you would like a compiled version of Khoros,
                   please circle one of the following machine architectures)

                1) DEC MIPS (Ultrix 4.2)
                2) SUN3  (SunOS 4.1.1)
                3) SUN4, SPARCstation  (SunOS 4.1.1b)
                4) SGI (OS 4.0)


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
For information send mail to info-sunflash@sunvice.East.Sun.COM.
Subscription requests should be sent to 
sunflash-request@sunvice.East.Sun.COM.
Archives are on solar.nova.edu, paris.cs.miami.edu, uunet.uu.net,
src.doc.ic.ac.uk and ftp.adelaide.edu.au

All prices, availability, and other statements relating to Sun or third
party products are valid in the U.S. only. Please contact your local
Sales Representative for details of pricing and product availability in
your region. Descriptions of, or references to products or publications
within SunFlash does not imply an endorsement of that product or
publication by Sun Microsystems.

John McLaughlin, SunFlash editor, flash@sunvice.East.Sun.COM. (305) 
776-7770.



------- End of Forwarded Message


home help back first fref pref prev next nref lref last post