BEGIN OF INSTALL file for BPEL2oWFN Version 2.0.1

---------- Footnotes ----------

(1) A daily updated version of the code documentation can be accessed at
`http://www.informatik.hu-berlin.de/top/tools4bpel/bpel2owfn/documentation/doxygen'.

Setup and Installation
**********************

The distribution environment of BPEL2oWFN was created using the GNU
Autotools. If you are familiar with the setup and installation
procedure of any GNU tool you may skip this section.

Setup
=====

To setup the installation environment and to compile BPEL2oWFN simply
follow these steps:

  1. Unpack the source tarball by entering(1)

          gunzip bpel2owfn-2.0.1.tar.gz
          tar xf bpel2owfn-2.0.1.tar

  2. Enter that directory:
          cd bpel2owfn-2.0.1

  3. Run the configure shell script which attempts to guess correct
     values for various system-dependent variables used during
     compilation. It uses those values to create a `Makefile' in each
     directory of the package. Entering

          ./configure

     should lead to an output like:

          checking for a BSD-compatible install... /usr/bin/install -c
          checking whether build environment is sane... yes
          checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
          checking for gawk... gawk
          checking whether make sets $(MAKE)... yes
          checking build system type... i686-pc-cygwin
          checking for g++... g++
          checking for C++ compiler default output file name... a.exe
          checking whether the C++ compiler works... yes
          checking whether we are cross compiling... no
          checking for suffix of executables... .exe
          checking for suffix of object files... o
          checking whether we are using the GNU C++ compiler... yes
          checking whether g++ accepts -g... yes
          checking for style of include used by make... GNU
          checking dependency style of g++... gcc3
          checking for gcc... gcc
          checking whether we are using the GNU C compiler... yes
          checking whether gcc accepts -g... yes
          checking for gcc option to accept ISO C89... none needed
          checking dependency style of gcc... gcc3
          checking how to run the C preprocessor... gcc -E
          checking for grep that handles long lines and -e... /usr/bin/grep
          checking for egrep... /usr/bin/grep -E
          checking for ANSI C header files... yes
          checking for sys/types.h... yes
          checking for sys/stat.h... yes
          checking for stdlib.h... yes
          checking for string.h... yes
          checking for memory.h... yes
          checking for strings.h... yes
          checking for inttypes.h... yes
          checking for stdint.h... yes
          checking for unistd.h... yes
          checking windows.h usability... yes
          checking windows.h presence... yes
          checking for windows.h... yes
          checking for pow... yes
          checking whether gcc and cc understand -c and -o together... yes
          checking for bison... bison -y
          checking for flex... flex
          checking lex output file root... lex.yy
          checking lex library... -lfl
          checking whether yytext is a pointer... yes
          checking for kc++... kc++
          checking for dot... dot
          configure: creating ./config.status
          config.status: creating Makefile
          config.status: creating doc/Makefile
          config.status: creating src/Makefile
          config.status: creating src/Doxyfile
          config.status: creating tests/Makefile
          config.status: creating rpm/Makefile
          config.status: creating rpm/bpel2owfn.spec
          config.status: creating src/bpel2owfn.h
          config.status: executing depfiles commands

     In some cases the configure script complains (i.e. warns) about
     tools which could not be found in your system path. In this case
     please check *Note Tool Dependencies::. BPEL2oWFN can be compiled
     without these tools.  However, you cannot make changes to large
     parts of the programm as you will not be able to generate source
     files without the tools.

  4. After all Makefiles are created, run

          make

     to compile the executable binary as well as a documentation file.

  5. Alternatively, you can run

          make check

     to self-test the created binary. After many lines of output(2)
     `make check' should announce

          ==================
          All 5 tests passed
          ==================

     or, if anything went wrong, prints error message and requests to
     report the encountered bug to <bug-bpel2owfn@gnu.org>.

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

After successful compilation and self tests an executable file
`bpel2owfn' (or `bpel2owfn.exe' on systems running Microsoft Windows)
is created in the directory `bpel2owfn-2.0.1/src' of the distribution.
This file has no dependencies to other files of the distribution and
can be copied to any directory.

Alternatively you can install BPEL2oWFN properly by executing (3)

     make install

to copy the binary to the directory `/usr/local/bin' and to make the
documentation accessible (i.e. copy it to `/usr/local/info') for

     info bpel2owfn

You can undo the installation by entering

     make uninstall

The setup and installation procedure can be customized by running
`./configure' with several command-line options. Type

     ./configure --help

for more information.

Problems during Setup or Installation
=====================================

Any warning during an in other respects successful compilation can be
ignored -- these warnings mostly occur in generated files from Flex,
Bison or Kimwitu++ and are outside of our scope.

The compilation of BPEL2oWFN was tested on several operating systems
such as Microsoft Windows (running Cygwin), GNU/Linux, Apple Mac OS X
and Sun Solaris. Anyway, if the compilation fails please make sure you
use the most recent (stable) versions of the GNU Compiler Collection.
If this does not help please send us an electronic mail to
<bug-bpel2owfn@gnu.org>. Include the version number of your
distribution (version 2.0.1 of 11 May 2007). Also include in your
message the output that the make process produced. We will try to
answer your mail within a week.

If you are not interested in compiling BPEL2oWFN yourself you can
alternatively download executable binaries for several operating
systems on the website of BPEL2oWFN
(`http://www.gnu.org/software/bpel2owfn').

Makefile Targets
================

The generated Makefiles serve different targets:

`all'
     Compile BPEL2oWFN and create an executable binary `bpel2owfn' (or
     `bpel2owfn.exe' on systems running Microsoft Windows) in the
     directory `bpel2owfn-2.0.1/src'.

`dvi'
`html'
`pdf'
`ps'
     Generate documentation files in the given format which can be DVI,
     HTML, PDF or PostScript. The documentation is generated in the
     directory `bpel2owfn-2.0.1/doc' and is named `bpel2owfn.FORMAT'
     (User's Manual).

`clean'
     Clean all temporary files created during the compilation.
     Executables as well as generated documentation are preserved.

`distclean'
     Clean also source files generated by the compiler generator tools
     (Flex, Bison and Kimwitu++). Executables as well as created
     documentation files are also removed. Before re-compilation you
     have to run `./configure' again. Please note that after running
     `make distclean' you need the tools described in *Note Tool
     Dependencies:: to compile.

`check'
     Perform a number of self-tests: the directory `tests' contains
     several BPEL processes which are read and compiled.


---------- Footnotes ----------

(1) Cygwin users should open a `tcsh'-shell before.

(2) Unless the test script displays error messages warnings of
BPEL2oWFN can be ignored.

(3) Usually, `make install' and `make uninstall' can only be executed
by the root user.

Tool Dependencies
*****************

Required Programs
=================

To compile BPEL2oWFN you do not need any specific program other than
the GNU Compiler Collection. If you however want to change the program
(e.g. add new Petri net patterns) you need the following programs to
generate source code. These programs are (as BPEL2oWFN itself) free
software distributed under the GNU General Public License.

Flex, A fast scanner generator
     Flex is needed to generate the lexer of BPEL2oWFN. Flex was written
     by Vern Paxon. Copyright (C) 1990 The Regents of the University of
     California. All rights reserved. Flex is available under
     `http://www.gnu.org/software/flex/flex.html'.

Bison, The YACC-compatible Parser Generator
     Bison is needed to generate the parser of BPEL2oWFN. Bison was
     written by Robert Corbett und Richard Stallman. Copyright (C) 1992,
     1998, 1999, 2003, 2004, 2005 Free Software Foundation, Inc. Bison
     is available under `http://www.gnu.org/software/bison/bison.html'.

Kimwitu++, The Term Processor
     Kimwitu++ is needed to generate all files managing the AST
     (abstract syntax tree). Kimwitu++ was written by Toby Neumann and
     Michael Piefel.  Copyright (C) 1988-1997  Axel Belinfante,
     University of Twente.  Copyright (C) 1997-2007  Michael Piefel,
     Humboldt-University Berlin.  Kimwitu++ is available under
     `http://site.informatik.hu-berlin.de/kimwitu++'.

Optional Programs
=================

BPEL2oWFN is a compiler and thus creating output files which can be
read by several other programs. These programs are not needed to compile
BPEL2oWFN yet without these programs BPEL2oWFN makes not much sense.

LoLA, a Low Level Petri net Analyzer
     LoLA is an explicit model checker implementing a broad variety of
     reduction techniques such as partial order reduction, symmetries
     or the sweep line method. LoLA was written by Karsten Schmidt and
     is available under
     `http://www.informatik.hu-berlin.de/~kschmidt/lola.html'.

Graphviz, the Graph Visualization Software
     Graphviz is a graph visualization software with several graph
     layout programs including dot. Graphviz is maintained by AT&T Labs
     and is available under `http://www.graphviz.org'.

The Graphviz tool dot can be used to create a graphical representation
of the generated Petri net in PNG (Portable Network Graphic) format. If
dot is not found on your system, BPEL2oWFN will only create a .dot-file
and does not try to invoke dot.

Supported Platforms
===================

BPEL2oWFN is implemented in ANSI C and ANSI C++ and should compile on
nearly any platform that supports the GNU Compiler Collection.

However, we tested BPEL2oWFN on these platforms:
   * Microsoft Windows XP (x86)

   * Microsoft Vista Business (x86)

   * Apple Mac OS X Tiger (PowerPC and x86)

   * Sun Solaris 8 (SPARC)

   * Sun Solaris 9 (SPARC)

   * GNU/Linux (x86)

Reference System
================

As of May 2007, we use the following system developing and building
BPEL2oWFN:

   * Intel Pentium M processor, 1.60 GHz

   * 2 GB RAM

   * Microsoft Windows Vista Business

   * Cygwin with cygwin.dll version 1.5.24-2

   * GNU Compiler Collection 3.4.4 (cygming special, gdc 0.12, using
     dmd 0.125)

   * Flex version 2.5.4

   * GNU Bison version 2.3

   * Kimwitu++ version 2.3.10

The version numbers are not to be understood as system requirements,
but as a help if you fail to compile the sources.

Copyright
=========

Copyright (C) 2005, 2006, 2007 Niels Lohmann

     Copying and distribution of this file, with or without
     modification, are permitted in any medium without royalty provided
     the copyright notice and this notice are preserved.

See `http://www.gnu.org/software/bpel2owfn' or the User's Manual for
more information.

END OF INSTALL file for BPEL2oWFN Version 2.0.1
