BIP Compiler

  • Software distribution and licensing: Public binary distribution
  • Software maturity: Well-tested software, good documentation
  • Software Maintenance and Evolution: Active maintenance, plans for future evolution

The BIP compiler allows the generation of executable code to simulate, execute, explore and debug BIP models. It is provided with execution engines which are runtime schedulers for the generated code.

 Revisions

Thu April 30 2015 - New release 2015.04-RC7

Main changes are :

  • added warnings for dead code, uninitialized variables, non 1-safe Petri nets, and non determinism using static analysis of both code and Petri nets
  • fixed exponential execution time when generating C++ code of broadcast connectors (with large number of ports)
  • various bug fixs.

Download links are available below :

Separate download links are available below :

Tue Feb 10 2015 - Minor revision of the documentation 2015.02-RC6.1

Minor revision of the documentation only to fix the examples of the tutorial in the documentation. We keep revision 2014.10-RC6 for the compiler and the engines.

Wed Oct 15 2014 - New release 2014.10-RC6

Main changes are :

  • switched to g++ 4.8.2 and Java 6
  • added a multithread engine for parallel execution of BIP programs
  • modified native types (now : bool, int, float and string)
  • types and const variable of imported packages can be referenced with fully qualified names or simple names
  • all identifiers belong to the same namespace
  • added type checking for expressions and statements
  • added declaration of subtype and backend name for external types
  • added declaration of prototypes for external functions/operators
  • added check in the compiler for cycles in priorities of compounds
  • various bug fixes.

Download links are available below :

Separate download links are available below :

Wed Jun 12 2013 - New release 2013.06-RC5

Main changes are :

  • new optimization levels in the C++ code generator
  • improved performance of the C++ generated code
  • improved performance of the optimized engine
  • various bug fixes.

Download links are available below :

Separate download links are available below :

Mon Jul 23 2012 - New release 2012.07-RC4

Main changes are :

  • const data support in package
  • exploration support in engine and C++ generated code
  • various bug fixes and optimizations.

Download links are available below :

Separate download links are available below :

Tue May 22 2012 - New maintenance release 2012.05 for the new BIP tools

Main changes are :

  • bug fix for BIP backend
  • gdb debugging
  • various bug fixes

This is a maintenance release with mainly bug fixes and minor feature enhancement.

Download links are available below :

Separate download links are available below :

Thu Apr 26 2012 - New release 2012.04 for the new BIP tools

Main changes are :

  • easier installation
  • better diagnostics on BIP source code
  • better support for cross package type use
  • support for if/then/else
  • better performance (in particular with the use of optimized engine)
  • 64 bit support
  • several bug fixes/small enhancements
  • better documentation

Download links are available below :

Separate download links are available below :

Tue Feb 7 2012

New versions for the BIP compiler and reference engine are available. Please note that these software are still under development and are provided as preview (BETA) versions. Notice also that these versions do not target performances, and the executables obtained from BIP source files can be very slow or consume a large amount of memory.

Download links are available below :

 Main difference between BIP2 old and new versions

For this new version of BIP, the tool-chain has been rewrote from scratch.

This new version of BIP corresponds to also full cleanup of the BIP2 language and its semantics. This required slight modifications of the BIP language and its semantics. The main differences are the following :

  • internal transitions of atoms : we now make clear distinction between internal transitions and transitions labelled by internal (non exported) ports
  • merged export of ports : several (internal) ports of an atom or a compound can be exported through a single port
  • connectors :
    • exported ports : as for atoms, an exported port of a connector has to be connected to enable an interaction
    • define is restricted a list of eventually quoted ports
    • we clarified the the relationship between define and the list of on statements
    • we check for consistency of transfer functions (up and down functions)
  • priorities :
    • we now compute the transitive closure of the rules (maximal progress is still considered as default)
    • priorities are applied globally to hierarchical connectors of compounds
    • we check for cycles in the priorities
  • opaque code has been removed
  • a clear interface with external C++ code has been specified

Contact | Plan du site | Site réalisé avec SPIP 4.2.16 + AHUNTSIC [CC License]

info visites 4216826