【Rhapsody学习笔记】3:Dishwasher
Exercise 3 :Dishwasher
1 新建项目Dishwasher
2 添加类“Dishwasher”
3 添加以下属性(Attributes)
类型为int型,初始值为0。
4 添加操作
各操作实现如下:
5 添加类型
浏览器选择包Default,右键选择“新增”–“类型”。
名称设置为“MAX_CYCLES”,种类设置为“Language”,添加描述:const int %s = 3;
。
6 创建组件
按照前面的例程( 【Rhapsody学习笔记】1:Hello World)重命名组件 DefaultComponent 为 Test,配置 Defaultconfig 为 Debug。Debug 配置为动画。
7 创建状态图
详细步骤可参考 【Rhapsody学习笔记】2:Count Down
8 创建并发状态
用“与线”功能创建并发状态。
9 显示状态名称
在状态图某状态框空白位置右键选择“显示选项”,选择名称。
10 重命名状态名
双击状态名可进行重命名。
11 添加状态
添加以下状态。
12 添加历史记录连接符与图连接符
13 添加缺省转换
14 添加转换
图中[isDryed()]应为[isDried()]。
15 入口操作
对normal状态添加入口操作
16 保存、编译执行
保存文件,编译执行。
点击“转为闲置”,创建一个实例。
- 如果未出现Dishwasher实例,可能是因为配置中没有选择一个初始的instance。
17 打开实例状态图
应该有三个高亮状态
18 插入事件
此时Dishwasher处于闲置状态。
生成事件evStart。方法:右击实例状态图任意位置,点击生成事件。
此时evStart出现在事件队列中。
19 创建测试脚本
- 在组件Test中新增一个文件TestScript.cfg。
- 设置路径为
..\..
- 设置类型为“其他”
- 添加文本元素
- 输入以下内容:
// Script to test the Dishwasher
output TestScript.log
trace #all all
timestamp
// First get the Dishwasher to a known state
go idle
Dishwasher->GEN(evService)
Dishwasher->GEN(evMode)
break Dishwasher stateEntered off
break Dishwasher stateEntered faulty
Dishwasher->GEN(evStart)
go
Dishwasher->GEN(evStart)
go
Dishwasher->GEN(evStart)
go
Dishwasher->GEN(evStart)
go
//should now be in faulty
go
//remove breakpoints
break Dishwasher -stateEntered off
break Dishwasher -stateEntered faulty
20 运行测试脚本
- 此时,脚本已经创建了一个日志文件TestScript.log,我们可以通过添加一个文件,名字为TestScript.log,类型为“其他”,路径为
..\..
。
21 阅读日志文件
浏览器右键日志文件TestScript.log,选择“编辑File”,注意需要项目停止运行。
qq_42971557: 第一句和第三句换成NetworkManager就可以了
普通小孩儿: 我也是这个问题 请问你是怎么解决的
weixin_45756603: 你好,请问我的vc版本为6.0,编译时显示Current value is "VC10", but no Visual Studio installation was not found in the directory "".是因为我的vc版本太低了吗
G_Summer_Song: 我的个人博客文章底部有源码链接
G_Summer_Song: 现在程序不支持