Lotos SOURCES Readme
June 2006
1.
Overview
The Lotos module contains source code for Lotos (Logical Topology Simulator)
simulation package, which simulates and visualizes the protocols of the HyperCast module.
See the file lotos-BINARIES-Readme.html
in this module for information on how to run the Lotos simulator.
See the Chapter "Logical Topology Simulator (Lotos)" available from www.hypercast.org for additional information.
Lotos
requires Java version 1.4.x or higher (but may also be compilable with earlier versions of Java).
2.
Open Source License
The
sources in this module are made available under the terms
version 2.1 of the
GNU Lesser General Public License
("LGPL").
3.
Extract the ZIP archive
The ZIP archive for the sources are
usually distributed in a file with the
name
lotos-SOURCES-xxx-yyyymmdd.zip
where xxx
is a tag that identifies who created the archive and yyyymmdd
is the date when the archive was created.
Copy the file to a directory where you want
to run Lotos, and extract ('unzip')
the
archive with a utility such as WinZip (on Windows) or the unzip command
(on
Unix or Cygwin).
NOTE:
This
package requires that the hypercast.jar
is located in the the
/lib directory. Should
hypercast.jar not be included in the ZIP archive, it can be
copied form the /lib
directory of a hypercast BINARIES directory.
4.
Files in Lotos module
The
contents of the archive is this file, XML configuration files, JAR
files, and command scripts.
Makefile
This
is a
GNU Makefile that
contains instructions for compiling all or parts of the sources,
generating
Javadoc, building the target "/lib/lotos.jar", and
generating a ZIP archive with binaries and other files. To run the
makefile, the following JAR files need to be present in the directory /lib: hypercast.jar, xalan.jar,
bcprov-jdk14-122.jar.
Readme
files:
lotos-SOURCES-Readme.html - this file
lotos-BINARIES-Readme.html - Readme
file for Lotos binaries
Certificate:
testcert.cer
- A
self-signed digital certificate for
security settings
.keystore
-
Java Keystore file that contains private
key for public key in testcert.cer
XML
files:
SimHypercast.xml
- Configuration file for Lotos..
DemoMenuConfig.xml
- Configuration file for Lotos (configures the Examples button).
demo1.xml, demo2.xml, demo3.xml -Configures the topology associated with a Examples
button).
lib/lotos.html - HTML
file that starts the Lotos Applet.
Directories:
/lib
Directory
with external *.jar
files needed for HyperCast.
The makefile instructions will place JAR file lotos.jar in
this directory.
lib/hypercast.jar
:
Implementation
of HyperCast
NOTE: This
directory should be included in the SOURCE distributions of lotos,
but is not included in the CVS module of lotos.
lib/xalan.jar :
XSLT
processor for XML documents
(xml.apache.org/xalan-j/)
lib/crimson.jar
XML
classes
needed for Java version 1.5 (and recommended for Java version 1.4)
lib/bcprov-jdk14-122.jar
: Implementation
of cryptographic algorithms (www.bouncycastle.org)
/bin
Contains
scripts that start applications. The "*.sh" scripts are
for Unix/Cygwin shells and are run form the / directory. The "*.bat"
scripts are for DOS shells. They can be run by `clicking' on the
correspondng files.
lotos.sh, lotos.bat
- starts the Lotos application.
version.sh, version.bat
- displays the version of Lotos
/src/lotos -
Source files
5.
Version Identifiers
The
following files contain the version identifiers.
/src/lotos/Version.java
Before
creating a new release of the lotos module , the version
identifier in
these files should be updated. Running the Version.class file displays
the version identifier stored in Version. java.
Releases
posted at SourceForge should follow the convention that a
release
has a tag which identifies the developer who created
the
release and the date of the creation of the release.
However, the version
numbering is not strictly enforced. Each developer
(including the
developers that maintain the Sourceforge.net repository) is
responsible for maintaining a meaningful or consistent versioning
scheme.
6.
Compiling Lotos (without Makefile)
This
package requires that all libraries needed by the HyperCast module
and hypercast.jar
are available. With
Eclipse, the sources
can be downloaded from the CVS repository.
7.
Compiling Lotos (with Makefile)
The following instructions describe how
to use the Makefile for compiling the
code and creating
ZIP files with
binaries. This
Makefile in the module is a GNU makefile. (On some systems, you need to
run "gmake"). The makefile should run under Unix and under
Windows/Cygwin.
Note:
The Makefile compiles to Java version 1.4. The software can
be
compiled to older (1.2, 1.3) or later versions (1.5).
All class files are placed in the /bin
directory. All Javadoc files are placed
in the /javadoc or
/javadoc_public
directories.
Remarks:
- The
Makefile creates a VERSIONTAG
which is used to name the created ZIP files. By default, the VERSIONTAG
consists
of a
username and a date. Edit the Makefile
to change the VERSIONTAG.
- Before
creating a new release, edit the statement in /src/lotos/Version.java.
Here are the available options for the Makefile:
make,
make complete
Creates
configuration defaults, compiles all sources,
creates lib/lotos.jar
make
javadoc
Creates
Javadoc
files of all methods in
/javadoc directory
and creates a ZIP archive.
make
javadocpublic
Creates
Javadoc
files of public methods in
/javadoc_public directory
and creates a ZIP archive.
make
zipbinaries
Generates a
ZIP file with HyperCast
binaries and VERSIONTAG in the name of the ZIP file. The zip files
contains:
lib/*.jar
bin/*.sh
bin/*.bat
lotos-BINARIES-Readme.html
lib/*.jar bin/*.sh bin/*.bat lotos-BINARIES-Readme.html
lib/lotos.html lib/network-transp.gif
SimHypercast.xml DemoMenuConfig.xml demo?.xml
testcert.cer .keystore
make
zipsources
Generates a
ZIP file
with HyperCast sources and VERSIONTAG in the name of the ZIP file. The
zip
files contains:
src
lib/*.jar
lib/*.gif
lib/*.html
bin/*.sh
bin/*.bat
lotos-BINARIES-Readme.html lotos-SOURCES-Readme.html
SimHypercast.xml DemoMenuConfig.xml demo*.xml
Makefile
testcert.cer .keystore
make
clean
Removes
binary files in
/bin/*
and removes javadoc files
7.
Running applications of the lotos module
Refer
to the instructions in
/lotos-BINARIES-Readme.html or the instructions on
the website
www.hypercast.org.