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语言编译器和引擎的安装和测试。