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)重命名组件 DefaultComponentTest,配置 DefaultconfigDebugDebug 配置为动画。

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”,注意需要项目停止运行

【Rhapsody学习笔记】3:Dishwasher相关推荐

  1. 【Rhapsody学习笔记】4:Relations

    Exercise 4 :Relations 1 聚集和关联 将项目Dishwasher另存为Relations,添加两个新类:FrontPanel和Motor. 从类Dishwasher到类Motor ...

  2. 【Rhapsody学习笔记】2:Count Down

    Exercise 2 : Count Down 1 复制项目 打开第一个实例Hello.rpy,选择"文件"–"另存为",新建一个文件夹重命名,将项目保存为&q ...

  3. 【Rhapsody学习笔记(二)】Linux环境下的Rhapsody集成引擎安装部署

    Rhapsody的安装部署包括Rhapsody引擎的部署(服务端),以及Rhapsody IDE(客户端)的安装部署,其中,IDE可以安装在多台不同的windows客户机上,本文仅介绍CentOS7环 ...

  4. 【Rhapsody学习笔记(一)】OrionHealth-Rhapsody的组成及常用过滤器

    一.Rhapsody组成 1.Rhapsody引擎 Rhapsody引擎集成了不同的卫生系统,提供安全连接,可靠的消息传递和高性能.Rhapsody引擎是整个集成平台的核心,提供快速服务的关键.它保证 ...

  5. 【Rhapsody学习笔记】1:Hello World

    Exercise1 Hello World 1 新建项目 2 点击图表,打开绘图工具栏 3 绘制displaydisplaydisplay类 拖动右边图标至中间窗口,修改名称. 成功后左侧" ...

  6. 【Rhapsody学习笔记(三)】常用通讯点

    通讯点(Communication Points)即外部接口是对内外传输(接收和发送)消息的基本套件,是外部系统和Rhapsody路由之间的接口,不同种类的通讯点提供了不同的传输接口用于连接各种不同的 ...

  7. ROS学习笔记(八): ROS通信架构

    ROS学习笔记(八): ROS通信架构 文章目录 01 Node & Master 1.1 Node 1.2 Master 1.3 启动master和node 1.4 rosrun和rosno ...

  8. ROS机器人操作系统学习笔记(三)ROS通信架构

    ROS机器人操作系统学习笔记(三)ROS通信架构 ROS的通信架构是ROS的灵魂,也是整个ROS正常运行的关键所在.ROS通信架构包括各种数据的处理,进程的运行,消息的传递等等.本章主要介绍了通信架构 ...

  9. 系统工程(SE)学习笔记(番外篇之一)——Capella使用体会兼谈SE工具

    系统工程(SE)学习笔记(番外篇之一)--Capella使用体会兼谈SE工具 零.Capella简介 壹. Capella的优势 贰.Capella的缺点 叁. 生态环境 肆. 总结 说到SE,就不能 ...

最新文章

  1. u8 采购到货单中的 业务类型 没有表字典,是系统预置 存入表也是文字: 普通采购 - 固定资产...
  2. proguard的简单配置说明
  3. Java当中 报错 没有有任何类型 的外层实例可访问
  4. 控件中的Events个人理解。
  5. 车牌识别数据集_行人再识别数据集
  6. 17年数据分析经验告诉你大数据行业的门道
  7. 电脑音箱有电流声_音箱造成电流声的原因
  8. iText操作PDF基础
  9. 一键导出所有微信联系人的小工具,搞私域、搞网销客户交接时可能可以用到,【微信通讯录抽水机】
  10. Chromium OS并行运行Linux chroot运行Linux
  11. 淘宝刷单怎么刷?买手黑号为什么会成为黑号?
  12. Cipher Block chaining
  13. table总结insertRow、deleteRow 学习
  14. 红亚太学链之区块链技术深度剖析第7章
  15. wegame显示不出区服务器,wegame无法显示网页怎么办?腾讯wegame无法显示网页的三种解决方法...
  16. Aspose.Slides for Python演示文稿指定幻灯片放映设置
  17. python新年快乐代码_Python第二天 祝大家新年快乐
  18. 【Vue3】图标处理方案SvgIcon
  19. c语言测试你的性格,测试你性格中最真实的一面
  20. SQL语言增、删、改、查功能练习

热门文章

  1. LTE协议栈---PCFICH信道
  2. 第四代语言计算机语言,第四代程序设计语言是什么程序语言
  3. 【编程工具】程序中出现中文乱码的解决方法
  4. 3.一些软件架构的上下文
  5. 3.3带误差线的柱状图
  6. 手机通讯录c语言导入手机软件,Total Control软件将手机通讯录导入导出的操作流程介绍...
  7. 理论: LVM与磁盘配额管理
  8. igm焊接机器人基本操作_焊接机器人教程方案.ppt
  9. 《CISP》(七)信息安全支撑技术——访问控制
  10. ModelArts实现语音分类、文字类别分类