版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 面向对象的设计 Object Oriented Design5.7 任务管理 重点 用UML描述实时系统5.7.1 实时系统特点5.7.2 实时系统建模描述的主要内容5.7.3 面向对象和实时系统概念5.7.4 UML用于实时建模中1第5章 面向对象的设计 实施应用实时操作系统硬件接口传感器激励器环 境图 5-145 一个实时系统的例子实时系统的环境:2实施应用实时操作系统硬件接口传感器激励器环 境图 5-1455.7.1 实时系统特点5.7.2 实时系统建模描述的主要内容 时间线是最重要的 事件驱动 进程并发执行 对非功能需求要求高 非确定性 时间要求 异步、事件处理 通信 并发和同
2、步 系统的分布35.7.1 实时系统特点5.7.2 实时系统建模描述的主要内5.7.3 面向对象和实时系统概念1) 活动的类和对象 (activeclass) 活动类,并发执行“单元” UML中,活动类用粗线方框表示:Communicationsupervisor:commmanager图 5-146 活动对象及内部机构Port:CommunicationportInput:MessageBufferOutput:MessageBuffer如 图45.7.3 面向对象和实时系统概念1) 活动的类和对象 (a2) 通信 (Communication)(1) 最常用的通信实现机制 操作调用:发送一
3、条同步消息给一个对象, 调用者等待操作完成并返回. 同步:指定两条线程的同步点.当一个线 程到达指定的同步点后,等待另一 个线程的到耒,而后,交换信息,并发执行. 共享内存:将一块内存专用作通信区.邮箱/消息队列:发送一条异步消息,发送者 将一条消息放在邮箱后,立继返回继续执行.接收者到同一点去读消息,并处理消息. 52) 通信 (Communication)(1) 最常用的 将并发线程放在不同的计算机上实现. 调用线程时,标识它调用的一个对象的操作, 然后把请求放入RPC库中, RPC在网络上找到该 对象,将请求打包,并通过网络发送给目标对象. 接收方,将请求转为本地格式,执行请求的调 用.
4、当调用完成时,将结果以同样方式返回给发 送方. RPC即是一种通信机制,又是一种同步机制. 远程过程调用RPC:6 远程过程调用RPC:6(2) 通信中相关概念 事件(Event) 在实时系统中,事件是系统活动的驱动器在UML中,主要有四种不同类型的事件 条件成真- 条件事件 收到另一个对象的信号-信号事件 收到另一个对象(或对象本身)操作调用-调用事件 经过指定时间间隔的事件-时间事件7(2) 通信中相关概念 事件(Event)在UML中,主要有准备就绪运行等待 创 建 调用结果调度 运行时间50秒调 用 终止图 5-147 带有引起状态转移事件的活动对象状态如图8准备就绪运行等待 创 调用
5、结果调度 运行时间50秒调 信号(Signal) UML中将信号定义为“可能发生的命名事件”是 对象之间异步通信的规格说明.signalSignalabstractsignalphysicalabstractsignallogicalabstractsignalSynchronizationsignalMouseMovesignalKeyPressedsignalObjectDropsignalPerformCommand图 5-148 信号类的层次性9 信号(Signal)signalsignals 消息(Message) UML中消息的类型简单消息 表示普通的控制流同步消息 一个嵌套控制流
6、,表示一个操作调用异步消息 异步控制流中,没有直接的返回给 调用者,发送者发送完消息后,不需要等待消 息处理完成而是继续执行同 步 问 题不正确的共享访问使用互斥机制解决低效率资源利用挂起等待的线程.调度器调度死锁两个线程互相等待对方的资源 饿死一个线程总是得不执行.划分优先级解决解决同步问题与线程调度有关:优先级高的线程易得到系统控制权;调度参数化,选择调度算法;调用sleep等待10 消息(Message)简单消息 (3) 在java中实现并发同步机制Class DemoThread extends Thread public void run() try /Do forever for(
7、;) /synchronous message to system.out object system.out.println(“Hello”) /Asynchronous message placed in globalmailbox /Needs Definition of class signal and Mailbox elsewhere signal s=new signal(“Asynch Hello”); Global_mailbox.Put(s); /waits for 10 milliseconds sleep(10); catch (InterruptedExecption
8、 e) 11(3) 在java中实现并发同步机制Class DemoThPublic static void main(string arg) /Create an instance of the active class(thread) DemoThread t1=new DemoThread(); /start execution t1.start(); /Create another instance of the active class DemoTHread t2=new DemoThread(); / Start execution t2.start(); 12Public sta
9、tic void main(string5.7.4 UML用于实时建模中UML可以定义的信息 时间 并发 异步事件 同步 分发135.7.4 UML用于实时建模中UML可以定义的信息 时房屋告警系统传感器图传感器发送的消息有ACK,NAK或告警信号图 5-149 告警系统中的传感器Active Class传感器abstractid:AddressSelfTest()Activate()DeActivate()图像传感器与设备有关的配置参数SelfTest()Activate()DeActivate()热传感器与设备有关的配置参数SelfTest()Activate()DeActivate()声
10、音传感器与设备有关的配置参数SelfTest()Activate()DeActivate()14房屋告警系统传感器图传感器发送的消息图 5-149 告警系房屋告警系统告警器图图 5-150 告警系统中的告警器告警器发送的消息有ACK,NAKActive Class告警器abstractid:AddressSelfTest()Trigger()触发TurnOff()断开电话告警器与设备有关的配置参数SelfTest()Trigger()TurnOff()光告警器与设备有关的配置参数SelfTest()Trigger()TurnOff()声音告警器与设备有关的配置参数SelfTest()Trigg
11、er()TurnOff()15房屋告警系统告警器图图 5-150 告警系统中的告警器告警类图图 5-151 房屋告警系统中的活动对象和静态对象Persistent系统配置信息Persistent单元配置信息单元处理器日志LCD显示器包装器声音告警器键盘处理器包装器Supervisor超级用户传感器告警器11.*11.*11.*1.*1.*系统处理器16类图图 5-151 房屋告警系统中的活动对象和静态对象Pe图 5-152 房屋告警系统中的信号层次关系信号层次关系图signalSignalabstractTimeSent:TimeSender:ObjectIdsignalGeneral Sig
12、nal (一般信号)abstractsignalSensor(传感器) SignalsabstractsignalAlarm(报警) SignalsabstractsignalErrorsignalTrigger(触发)signalAcksignalNAKsignalAlarmsignalTurnOff(断路)signalActivatesignalDeactivatesignalHeartbeat(跳动)signalSelfTest17图 5-152 房屋告警系统中的信号层次关系信号层次关系图状态图图 5-153 状态图中的并发子状态激活阶段告警器自检激活传感器设备传感器自检系统被激活自检/
13、发送 ACKNAK自检告警器传感器激活命令/发送 ACK/发送 ACK初始化线程循环创建设备表创建单元处理器NAK成功激活失败NAK18状态图图 5-153 状态图中的并发子状态激活阶段告警器激活系统停止系统被激活激活失败激活传感器激活告警器初始化单元处理器“激活系统”命令图 5-154 复杂状态图复杂状态图19系统停止系统被激活激活失败激活传感器激活告警器初始化“激活系顺序图:系统处理器:单元处理器:传感器:告警器:单元配置信息激活读配置同步返回配置信息异步简单自检ACK激活自检ACKACKACKAB循环处理每一个告警器和传感器图 5-155 告警器激活序列图B-A 5秒20顺序图:系统处理
14、器:单元处理器:传感器:告警器:单元配置信息:声音告警:supervisor:日志:系统处理器2c.2触发2c.1存储(Date,Time,Cell,Sensor):电话告警:声音告警:单元处理器:照相单元传感器2c.告警2b.触发2a.触发1.告警图 5-156 传感器协作图协作图21:声音告警:supervisor:日志:系统处理器2c.2触活动图等待信号告警激活关闭超时触发告警器触发告警器A触发告警器B触发告警器X报告给系统告警(给系统处理器)请求超时信号激活消息处理关闭消息处理超时消息处理在独立的活动图中描述给实时OS发来的超时信号排序图 5-157 告警器活动图输入事件22活动图等待信号告警激活关闭超时触发告警器触发触发触发报告给系 组件和展开 图图 5-158 房屋告警系统的展开器用户面板Thread告警系统处理器Thread传感器Thread单元处理器Thread告警器传感器告警器主单元1111.*11.*23 组件和展开实时系统分类:硬实时,考虑容错性软实时系统经常是嵌入式系统实时系统特点:时间并发执行的线程非确定性实时系统建模:描述时间要求并发性异步通信同步通信分布活动对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年手术室安全隐患防范措施
- 2026年食品安全员工作计划书
- 2026年中班户外活动跳圈圈活动目标
- 2026年检测公司年度工作计划
- 2026年幼儿园急救科普策划方案
- 2026高速养护面试题目及答案
- 水富县公司股权合同参考
- 2026公文培训面试题目及答案
- 2026广东社区面试题及答案
- 2026航运专业面试题及答案
- 2026年内蒙古高考(化学)真题试卷带答案
- 小儿推拿技术操作考核评分标准
- 小学语文部编版一年级下册全册《字、词、句》(直接打印每生一份熟读熟记)
- 蓬溪县国有资产监督管理局 面向社会公开招聘国有企业工作人员的(10人)考试备考题库及答案详解
- 2026年江苏高考化学真题试卷含答案
- 2026年安徽省中考化学真题【含答案解析】
- 绍兴市城市发展集团有限公司招聘考试笔试试题
- 2026年招标采购从业人员《招标采购专业实务(初级)》考试真题(附答案解析)
- YY/T 0297-2026医疗器械临床试验质量通用要求
- 2026烟台辅警笔试题库
- 精神卫生中心运营方案
评论
0/150
提交评论