TTXP(TTCN-3 Express)是一个简单的TTCN3编译器(TTCN3是ETSI的一个语言标准,具体的编译器由各个厂商自己开发)。在上面的网址可以找到下载地址与安装方法,这里不详细介绍了。
1.Hello World
下面是一个非常简单的TTCN3模块,我们把这个模块存放到HelloWorld.ttcn3文件中
1. module HelloWorld {
2. control {
3. log("Hello World");
4. }
5. }
这个模块只有一个Control部分,Contorl部分只有一条log语句,这条语句是打印一条信息。
2. TTXP命令
ttxp /run HelloWorld
编译并且运行HelloWorld,运行结果: "Hello World"
这条命令包含了编译和运行两个步骤,但如果你已经编译过,ttxp /run就会直接运行Hello World
但是如果你后来又修改了文件,ttxp /run会重新编译运行
假如你仅仅想编译文件,而不用运行,用ttxp /compile
ttxp /compile HelloWorld
你也可以用文件名进行编译,
ttxp /compile HelloWorld.ttcn3
运行
ttxp /run HelloWorld.ttcn3
模块名称必须和文件名称保持一致,比如M.ttcn3中只能包含Module M,一个文件只能有一个Module
A command
ttxp /run M
or
ttxp /run M.ttcn3
会执行模块M的Control部分
模块中也可以不包含Cotrol,我们可以单独写一些函数库并且分别编译
下面是LibraryModule.ttcn3。这个文件包含了LibraryModule模块,里面提供了一个HelloWorld函数
1. module LibraryModule
2. {
3.
4. function HelloWorld()
5. {
6. log("Hello World");
7. }
8.
9. }
用下面的命令编译这个文件
ttxp /compile LibraryModule
下面是一个MainModule模快(文件名MainModule.ttcn3),在这个Module中导入LibraryModule,并且调用HelloWorld函数,如下
1. module MainModule
2. {
3. import from LibraryModule all;
4.
5. control
6. {
7. HelloWorld();
8. }
9. }
用下面的命令编译并且执行:
ttxp /run MainModule
返回结果:Hello World
这章里面主要介绍了TTXP的一些常用命令,另外里面很多地方提到了模块Module,下面我们简单介绍一下:
Module – Top-level unit of TTCN-3
模块- TTCN3中SCOPE最大的单元(其他的都需要包含在Module中)。
一个Module包含两个部分:Module定义和Module控制,这两个部分都是可选的,也就是说一个Module中可以是空的,没有任何东西
1. module MyModule {
2. : // Definitions part
3. control {
4. : // Control part
5. }
6. }
Module可以Import 其他Module,这个类似于C中的Include。
控制部分类似与C语言中的Main函数,用来控制测试用例的执行。
Module还有更多的内容,等以后接触到更多TTCN内容的时候再介绍。