Toolset
The toolset consist of the following:

Hierarchy of instruction sets with projections/embeddings.
- Instruction sets:
- PGLA, PGLB, PGLC, PGLD, PGLDg, PGLE, PGLEc, PGLEcw, PGLEcr, PGLEcm, PGLAu,
PGLBu, PGLBg
- Basic instruction sets:
-
- Generic
- MPP - Molecular Programming Primitives
- MPPV - MPP with Values
- HMPPV - Highlevel MPPV
- FMN - Focus Method Notation
- MSP - Molecular Scripting Primitives (extends HMPPV with instructions on values)
- MSPea - extension of MSP with eval/apply
- MSPio - extension of MSP with simple I/O
- HMPPVis - HMPPV with inverse selection
- MSPfunc - extension of MSPea with functions
- Projections/embeddings:
- pglb2pgla, pglc2pglb, pgld2pglc, pgldg2pgld, pgle2pgldg, pglec2pgle,
pglecw2pglec, pglecr2pglec, pglecm2pglecr, pglau2pglbu, pglbu2pglbg,
pglbg2pglb
- Tools:
-
- genparser - generic parser
- gensim - generic simulator
- prog2lts - program to labelled transition system translator
- bisim - bisimulator of labelled transition systems
- parsim - parallel simulator
- pgla-jumpopt - pgla jump optimizer
- gencompiler - generic compiler (available modules for compiling PGLEc.MSPio to PIR (Parrot Intermediate code Representation; Parrot is the virtual machine for Perl 6 that is currently being developed), and PGLEc.MSPio to CIL (Common Intermediate Language; the intermediate language voor the MS .NET Framework).
- threadsim - thread simulator
- Statemachines (to be used with basic instruction set FMN):
-
- smbr - boolean register
- smnnr - natural number register
- smnnc - natural number counter
- smnns - natural number stack
- Console
Requirements
A machine running Unix or Linux with the following installed:- Perl version 5.x
- Tcl/Tk version 8.x
- Tcldot - part of Graphviz from AT&T Bell Laboratories
Most Linux distributions have packages for graphviz available. Look for the packages graphviz and graphviz-tcl (ubuntu: libgv-tcl).
Note: There is a bug in the tcldot part of all versions (latest version 2.38) of graphviz higher than 2.28. This bug is reported to the graphviz organisation, but there is no fix yet. It is best to install from the sources of version 2.28.
- ToolBus
- this is only needed for the parallel simulator and the thread simulator
(locally available - see Download)
It depends on some standard software (yacc/bison, (f)lex).
Tested on
- Linux - Fedora 31, CentOS 6.6, Ubuntu 18.04
Copyright
This toolset is copyrighted by Bob Diertens, 2001-2020. It may be used free of charge for educational purposes only.This toolset comes with absolutely no warranty. It may not be sold and only be distributed in the form as found here.
Download
Sources
- pga-1.8.tar.gz (June 29, 2017)
- toolbus-bundle-0.1.1.tar.gz
Install
- PGA Toolset
Execute the commandstar zxf pga-1.8.tar.gz cd pga-1.8
And follow the instructions in the file INSTALL. - ToolBus
Execute the commandstar zxf toolbus-bundle-0.1.1.tar.gz cd toolbus-bundle-0.1.1 ./configure --prefix=<install-directory> make make install
Use the same install-directory as with the PGA Toolset.
Packages
The packages include the Toolbus bundle and the older version of graphviz. They will install in /usr/local/PGA.
Note that these packages are experimental at the moment. Please report any problems with them.
Linux system | version | package |
---|---|---|
Fedora | 31 | pga-1.8-1.fc31.x86_64.rpm |
Ubuntu | 18 LTS | pga_1.8-1_amd64.deb |
Ubuntu | 19 | pga_1.8-1-ub19fix_amd64.deb * |
Ubuntu | 20 LTS | pga_1.8-2-ub20fix_amd64.deb ** |
** altered version of pga_1.8-1_amd64.deb by changing dependency on libperl5.26 to libperl5.30