
This is the README for $__lastrelease$

It contains general information on the CooL-SPE (CooL Software
Programming Environment) and an overview of its major components.

The file "INSTALL" helps you installing the toolkit on your machine.

Before installing and using the CooL-SPE on your computer, you should
also read the file "LICENSE".

If you have any questions, hints or bugs to report, you may contact us
via:

  Sietec Systemtechnik GmbH & Co OHG 
  z.Hd. Dr. Mueller, STM 11
  Nonnendammallee 101,                         
  D - 13629 Berlin, Germany


  Phone: ++ 30 - 386 29 927
  Fax:   ++ 30 - 386 28 614

  Email: CooL@sietec.de

General information:
====================

The CooL-SPE is a programming environment specially designed to
support the professional development of large-scale object-oriented
application systems.

CooL-SPE supports the development of application systems with
graphical user interfaces based on X/Motif. These interfaces may be
constructed using UIL or interactivly using a dialog editor. A dialog
object class library, DIO, is available to facilitate integration of
the application with the runtime system of X/Motif. This interface
abstracts from the toolkit's primitives and improves productivity by a
factor of magnitude. The DIO is, of course, sufficiently open to allow
use of the full functionality of the toolkit in addition to the DIO
abstraction.

In order to build the application, the CooL-SPE incorporates a modern,
object-oriented 4th-generation programming language, CooL (Combined
object-oriented Language).

CooL offers all the basic features of the object-oriented paradigm,
such as (single) inheritance, dynamic binding and polymorphism. Above
that, CooL offers generic object types and abstract object types and
last but not least supports modules in the tradition of Modula, thus
allowing to really build large systems.

However, object technology does not exist in isolation, but rather it
has to anticipate the existence of millions of statements written in
procedural languages. Thus, CooL is fully type-compliant with the C
language type system and allows software written in C or in languages
with a C interface to be integrated into CooL applications without any
effort. In addition, CooL generates efficient ANSI C code, thus
allowing applications to be ported very easily.

Programmers are supported by the emacs editor, which comes with a
context-sensitive mode for CooL.

The CooL language is extended by the CooL library system CoLibri.
CoLibri offers a BCD type and a number of functions for the CooL
simple types (e.g. STRING).  As foundation object types, provides
basic file I/O, time representation (including date, time, duration,
interval etc.), and the basic container object types (e.g. set, list,
sortedList, map and dictionary) as generic types.

For tracking down programming errors and for monitoring applications,
the CooL programmer is supported by MaX, a convenient CooL source-code
debugger. MaX is also capable of completely analysing C programs if
they are currently used in a program. MaX offers the functionality of
the UNIX sdb debugger and, in addition, is able to process
(un-)conditional breakpoints, tracepoints, to resolve inheritance, to
dereference pointers etc. Additionally, MaX ensures considerable
handling comfort and includes command history and re-execution of a
history, named command sequences, an online help facility and more
besides.

Monitoring running applications is fine and useful when learning about
an application or when there is a need for analysing the behaviour of
an application, for example when tracking down bugs. However, for more
general and regular quality assurance purposes, a monitor such as MaX
is not the ideal choice. In order to carry out quality assurance, the
CooL-SPE comes with the Test Object Interface (TOI). The TOI provides
a runtime frame into which you may mount an object type (together with
all its subordinate object types) and then execute its methods
providing the arguments interactivly. During execution, both
intermediate results and the arguments may be recorded and used
subsequently as compare targets when running this test battery
automatically.

The SQL Object Interface (SOI) is provided to allow object-oriented
applications to be integrated with a relational database system. This
interface offers access to SQL tables via a generated object type
interface. In addition (and transparent for the programmer), the
generator also generates the c program, including embedded SQL code
for accessing the SQL database physically. Access is defined by an
explicit description from which a CooL object type for managing the
table is generated. This interface is independent of the underlying
database system. The current release supports INFORMIX.

The CooL-SPE - What It Is Not 
----------------------------- 

The CooL-SPE is an application programming environment and, as
mentioned above, thus supports the implementation of application
systems based on relational database technology and graphical user
interface systems. The CooL-SPE supports an object-oriented style of
programming. However, it neither introduces a methodology for
designing application systems in an object-oriented style, nor does it
enforce the use of objects when implementing an application system.

For those readers who wish to harmonise the CooL-SPE with some
object-oriented analysis and design methodology, we refer to the
Booch, OMT Coad/Yourdon or any other methodology. Any of these
methodologies, if really object-oriented, will allow you to design
your application system and then to implement the design easily using
the CooL-SPE.

Further reading 
--------------- 

You can find additional information on the CooL-SPE in the manual
pages enclosed in the distribution.

The introduction gives you a first step in using the CooL-SPE. 		???

This distribution contains the following parts:
===============================================

	INSTALL	     -- Information how to build and install the
			toolkit on your machine.
	LICENSE      -- Important information about copying
			permissions and warranty issues.
			This file should *not* be deleted.
	Makefile     -- The top level Makefile for the toolkit.
	README	     -- The file you are currently reading.
	Release      -- The current Release Id.
	Shapefile    -- The top level Shapefile.

	bin/	     --
	include/     -- Three local installation directories.
			These are initially empty.
	lib/	     --
 
	src/	     -- The sources
	doc/         -- The manuals


Acknowledgement
===============

The CooL-SPE was developed as part of the ITHACA project founded by
the European Commision under ESPRIT contract II and III. Partners in
these project were (Bull S.A., TAO S.A., ICS-F.O.R.T.H., University de
Geneve, Datamont S.p.A.). We would like to thank all those partners
(Martin Ader (Bull), Ramon Sole (TAO), Josep Monguio (TAO),
Prof. Panos Constantopoulos (F.O.R.T.H.), Martin Doerr (F.O.R.T.H.),
Dr. Oscar Nierstrasz (Uni Geneve), Dimitri Konstantas (Uni Geneve) and
Giancarlo Grech (Datamont)) involved in this project and heavily
suffering in using previous releases of the CooL-SPE since 1991. We
would also like to express our thanks to the reviewers of the
ITHACA-Project (Prof. Dodart, Prof.  Rijsbergen, Steef Geenen,
Prof. Hesse et. al.) for supporting us with precious hints and
critics.
