天天看点

Linux上配置BIP语言编译器及引擎

BIP语言是一个强大的建模语言,本文将介绍如何在Linux上对BIP语言的编译器和引擎进行安装,并运行一个BIP2语言的HelloWorld程序。BIP语言的编译器仅在GNU/Linux系统上做过测试,虽然官网上说也支持Mac OSX系统,但是目前没有提供支持。经过本文的测试,BIP语言的编译器可以在Mac OSX上安装,但是由于官方并没有提供BIP语言引擎Archive架构的编译版本,因此引擎并不支持Mac OSX。

本文使用的是Ubuntu12.04.2版本,BIP语言使用的是最新的BIP2,编译器和引擎使用的是2013年6月的版本。下面以一个刚刚安装完成的Ubuntu系统为例,介绍整个安装过程。

首先,我们从$ cd bip-full

$ source ./setup.sh

然后我们需要将bipc-2013.06-RC5目录下的bin文件夹添加到环境变量中:

$ export PATH=$PATH:/A目录/bipc-2013.06-RC5/bin
           

接着我们开始安装BIP编译器和引擎所需要的一系列依赖项:

1.C++编译环境,虽然Linux自带有gcc编译器,但是里面缺少了很多功能,所以我们需要再安装一些包:

$ sudo apt-get update
           

先更新一下apt-get里面的链接,否则会报Unable to locate package build-essential错误,再安装build-essential:

sudo apt-get install build-essential
           

2.JDK环境,可参考 这篇文章,或者直接运行:

$ apt-get install openjdk-6-jre
           

3.cmake命令,直接运行:

$ sudo apt-get install cmake
           

4.gawk命令,直接运行:

$ sudo apt-get install gawk
           

最后就可以开始运行HelloWorld程序了。首先在B路径(任意)下创建一个HelloPackage的目录,再在HelloPackage目录下创建一个HelloPackage.bip文件,内容如下:

package HelloPackage
  port type HelloPort_t()

  atom type HelloAtom()
    port HelloPort_t p()
    place START,END
    initial to START
    on p from START to END
  end

  compound type HelloCompound()
    component HelloAtom c1()
  end
end
           

切换到HelloPackage目录下,依此运行以下命令:

$ bipc.sh -I . -p HelloPackage -d "HelloCompound()"\
  --gencpp-output output
$ mkdir output/build
$ cd output/build
$ cmake ..
[...]
$ make
[...]
           

即可完成对BIP语言的编译,最后我们来运行:

$ ./system
           

得到以下结果:

[BIP ENGINE]: initialize components...
[BIP ENGINE]: state #0: 1 internal port:
[BIP ENGINE]:   [0] ROOT.c1._iport_decl__p
[BIP ENGINE]:  -> choose [0] ROOT.c1._iport_decl__p
[BIP ENGINE]: state #1: deadlock!
           

至此,我们就完成了BIP语言编译器和引擎的安装和测试。

继续阅读