Renew - The Reference Net Workshop
==================================

Renew is a high-level Petri net simulator written in Java.
This file tells you the most rudimentary information about Renew.
It should suffice to get Renew running and to extract the
full documentation from the archives.


License Terms
=============

`We' refers to the copyright holders. `You' refers to the licensee.
`Renew' refers to the complete set of sources, executables,
and sample nets that make up the Reference Net Workshop.

Renew is available free of charge, but not without restrictions.

The license section got a bit long. We apologize, but we cannot hope
to do better, because we included many external parts with many
different licenses.

Contributed Parts
-----------------

The Collections Package
.......................

The collections package is used as our set/queue/list
implementation. The relevant license information states:

Originally written by Doug Lea and released into the public domain. 

You can use it as you want. Please note that Dough Lea now suggests to
use the container libraries that come with Java 1.2 instead of his
own libraries. As soon as Java 1.2 becomes widely available, we plan 
to follow his advice.

The JHotDraw Package
....................

The JHotDraw graphical editor written by Erich Gamma
is copyrighted. The relevant license information states:

JHotDraw is copyright 1996, 1997 by IFA Informatik and Erich Gamma.

It is hereby granted that this software can be used, copied, modified,
and distributed without fee provided that this copyright notice
appears in all copies.

Code Generated from JavaCC
..........................

Some of the code of Renew was generated by the parser
generator JavaCC. The relevant license information
states:

3. DEVELOPED PRODUCTS

You may use the Software to generate software program(s) ("Developed
Programs").  Sun claims no rights in or to the Developed Programs.

4. YOUR INDEMNIFICATION OF SAMPLE GRAMMARS
DERIVATIVES AND DEVELOPED PRODUCTS

You agree to indemnify, hold harmless, and defend Sun from and against
any claims or suits, including attorneys' fees, which arise or result
from any use or distribution of Sample Grammar Derivatives and/or
Developed Programs.

Hence we would like to explicitly point out that Sun is not responsible
for any problems that might result from the use of the output of JavaCC.

Bill's Java Grammar
...................

A Java grammar billsJava1.0.2.jj was distributed together 
with JavaCC 0.7 as a sample grammar. This grammar was contributed 
to JavaCC by Bill McKeeman (mckeeman@mathworks.com).
The relevant license information from Sun states:

2. SAMPLE GRAMMARS

You may modify the sample grammars included in the Software to develop
derivatives thereof ("Sample Grammar Derivatives"), and sublicense the
Sample Grammar Derivatives directly or indirectly to your customers.

4. YOUR INDEMNIFICATION OF SAMPLE GRAMMARS
DERIVATIVES AND DEVELOPED PRODUCTS

You agree to indemnify, hold harmless, and defend Sun from and against
any claims or suits, including attorneys' fees, which arise or result
from any use or distribution of Sample Grammar Derivatives and/or
Developed Programs.

The original parts of billsJava1.0.2.jj which
are now contained in the files JavaNetParser.jj, FSParser.jj,
FSNetParser.jj, and StubParser.jj are Copyright (C) 1996, 1997
Sun Microsystems Inc. A sublicense for these grammars is hereby
granted. If you have any further questions, please consult the
file COPYRIGHT as distributed with JavaCC.

Graph Layout Algorithm
......................

The graph layout algorithm used in the class de.renew.util.GraphLayout was
originally provided by Sun as part of the Java Development Kit. The relevant
license information from Sun states: 

Sun grants you ("Licensee") a non-exclusive, royalty free, license to
use, modify and redistribute this software in source and binary code form,
provided that i) this copyright notice and license appear on all copies of
the software; and ii) Licensee does not utilize the software in a manner
which is disparaging to Sun. 

... 

This software is not designed or intended 
for use in on-line control of
aircraft, air traffic, aircraft navigation 
or aircraft communications; or in the
design, construction, operation or 
maintenance of any nuclear facility.
Licensee represents and warrants that it 
will not use or redistribute the
Software for such purposes. 

We would like to explicitly point out that 
Sun is not responsible for any problems that
might result from the use of the graph layout
algorithm. See the source files for Sun's
original disclaimer. 

Original Parts
--------------

This copyright section deals with those part of
Renew that are not based on other works, i.e. the packages
de.uni-hamburg.fs and de.renew without the JavaCC grammars,
some sources in CH.ifa.draw, and the example nets.

Example Nets
............

The example nets are in the public domain. You may modify
them as you like. You may use them as the basis for
your own nets without restrictions.

Java Source Code and Executables
................................

Sources and executables are copyright 1998 by Olaf Kummer and
Frank Wienberg. You can distribute these files under the
GNU General Public License. A copy of the GNU GPL is contained
in the file doc/COPYING.

Created Parts
-------------

You are permitted to use works that you create with Renew
(i.e., Java stubs, net drawings, PostScript output,
and simulation states) without restrictions.


Disclaimer
==========

We distribute Renew in the hope that it will be useful,
but without any warranty; without even the implied warranty of
merchantability or fitness for a particular purpose.

We are not liable for any direct, 
indirect, incidental or consequential damage including, 
but not limited to, loss of data, loss of profits, or
system failure, which arises out of use or inability to
use Renew or works created with Renew.
This clause does not apply to gross negligence or premeditation.

Some parts of Renew may include additional disclaimers
in their license terms. In such cases, both disclaimers
hold simultaneously. If one clause of any disclaimer
is found invalid under applicable law, this does not affect
the validity of the remaining clauses or of other disclaimers.

The applicable court is Hamburg, Germany.


Installation
============

Before you can use Renew, you must have Java 1.1 or higher installed.
You can download Java virtual machines from various sites.

  OS/2              http://service.boulder.ibm.com/asd-bin/doc/
  Linux             http://www.blackdown.org/
  Solaris           http://www.javasoft.com/products/index.html
  Windows 95/98/NT  http://www.javasoft.com/products/index.html
  Apple Macintosh   http://www.apple.com/macos/java/
  Many others       http://java.sun.com/cgi-bin/java-ports.cgi

There are many other platforms that cannot be listed here. For the 
installation of the Java platforms, please refer to the instructions 
that come with the executables. Renew is a full Java application, not 
an applet, and it is not intended to be used from WWW browsers like
Netscape or Internet Explorer. You must install a standalone Java.

Now the installation procedure depends on your operating system.

Apple Macintosh
---------------

You should have got the file renew1.2apple.bin, which is
a self-extracting archive, that you start as an
application. You will find two Renew applications
in the directory renew1.2 after decompression. Start the
Renew application for the standard simulation mode.
Start the SRenew application to enter the
extended sequential mode as described in the manual.

The documentation and the example files are included, too.

The current Mac OS has a Java runtime installed already. If
you use an older version, make sure to install
the Mac OS Runtime for Java before you install Renew, 
because it is not included in our archive.

Other Operating Systems
-----------------------

You should have got the file renew1.2base.jar, which is
a jat compressed archive. To uncompress the base package, 
issue the command

  jar xf renew1.2base.jar

which will create a directory with the name renew1.2.

Another jar-file renew1.2/renew.jar is automatically created.
That file contains the compiled Java classes. It should not be unpacked,
because it can be added directly to your classpath and allows
faster loading than many unpacked files.

For some operating systems there are special scripts that
ease the installation.

OS/2
....

Change to the directory renew1.2\bin\os2 and call the
installation script InstallRenew.cmd, which will create a
Renew folder and the necessary startup scripts for you.

  cd renew1.2\bin\os2
  InstallRenew.cmd

It is important that you start the install script from the 
proper directory, otherwise it cannot determine the correct
paths.

Now, a Renew 1.2 folder should appear on your desktop,
containing program objects for Renew in the conventional
as well as the extended sequential simulation mode.

Unix
....

Change to the directory renew1.2/bin/unix and call the
installation script installrenew in a sh-shell, which will
create the necessary startup scripts for you.

  cd renew1.2/bin/unix
  sh installrenew
	
It is important that you start the install script from the 
proper directory, otherwise it cannot determine the correct
paths. Now you can use renew1.2/bin/unix/renew
to start Renew.

Windows
.......

In the directory renew1.2\bin\win you will find the
startup scripts RENEW.BAT and SRENEW.BAT. First, invoke

  cd renew1.2\bin\win
  installrenew

to customize these scripts according to your directory
structure. It is required that you change to the binary 
directory first, otherwise the paths cannot be correctly 
determined. Then call

  renew

for the standard mode or

  srenew

for the extended sequential mode.

Manual Installation
...................

Maybe we did not provide a shell script for your platform
of our scripts did not work. You can always install
Renew manually, which is not very difficult after all.
First of all,

  setenv CLASSPATH .:/some/where/renew1.2/renew.jar

will set the new classpath, if the archive was extracted to
/some/where. Depending on your system you may need to
issue a different command.

If you are lucky, starting Renew might be as simple as

  java de.renew.gui.CPNApplication

now. The documentation contains a few hints on possible 
problems for the unlikely case that you do not succeed 
in the installation.

Source Installation
-------------------

If you want to uncompress the source package, type

  jar xf renew1.2source.jar

You must the delete the central class archive 
renew1.2/renew.jar and make a verifying compilation 
of the Java sources. You should also include the directory
renew1.2 in the classpath rather than the
jar-file. Note that you will require a full-fledged
Java compiler, not only a Java runtime environment,
to compile the source code. If you do not have a Java compiler
yet, you do not need the source code.

The base Renew distribution consumes about 5 MByte of
hard disk space. The source distribution adds another 
5.5 MByte to that figure.


Contact
=======

To get in contact with us, you can send an email to

  support@renew.de

regarding any aspect of the Renew tool, especially update 
notification requests, bug reports, feature requests, and
source code submissions. Our postal address is

  Arbeitsbereich TGI
    - Renew -
  Fachbereich Informatik, Uni Hamburg
  Vogt-Koelln-Strasse 30
  D-22527 Hamburg
  Germany

in case you do not have access to email. The latest
news about Renew are available from the URL

  http://www.renew.de/

and in the same place improved versions and bug fixes 
occur first.

