网站大量收购闲置独家精品文档,联系QQ:2885784924

darts讲实时软件分析设计方法.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
darts讲实时软件分析设计方法

DARTS实时软件分析设计方法 主讲:谢小云 1、DARTS设计方法概述 2、DARTS设计方法的设计步骤 3、基于DARTS的洗衣机控制软件设计 4、机器人控制器系统的设计 1、DARTS设计方法概述 通用软件开发的设计: 系统划分为各个功能子模块,再进一步细分为函数,采用自顶向下的设计方法 嵌入式应用软件的设计 通过并发的任务来运作的,应用软件开发的系统设计将系统划分为多个任务,各个任务允许并发执行,通过相互间通信建立联系。 1、DARTS设计方法概述 DARTS(Design Approach for Real-Time Systems) ,它是SAISD(System Analysis System Design结构化分析和设计)方法在实时系统开发中的应用,按照软件生命周期进行软件开发。 DARTS通过将系统分解成任务和定义任务接口的方法,来扩充结构化分析/设计的方法,使得实时应用系统具有并行处理的能力。该开发方法的关键是将一个系统分解为并行的任务,并定义任务间的接口。 1 、DARTS设计方法概述 2、DARTS设计方法的设计步骤 3、基于DARTS的洗衣机控制软件设计 4、机器人控制器系统的设计 2.1 嵌入式实时软件系统生命周期 需求分析 系统设计-DARTS设计方法 数据流分析 划分任务 定义任务接口 任务设计 模块构筑 任务与系统集成 系统测试 2.2 DARTS-数据流分析 在需求分析的基础上,以数据流图作为分析工具分析系统的数据流,从系统的功能需求开始分析系统的数据流,以确定主要的功能。 数据流图(Data Flow Diagram,DFD)也称为Bubble Chart或Data Flow Graph,它用来描绘系统的逻辑模型,从数据传递和加工的角度,以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能。 2.2 DARTS-数据流分析 数据流图的基本图形符号 2.2 DARTS-数据流分析 数据流图示例 2.2 DARTS-数据流分析 数据流与加工之间的关系 在数据流图中,如果有两个以上数据流指向一个加工,或者是从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定关系。 2.2 DARTS-数据流分析 2.2 DARTS-数据流分析 数据流图的画法 识别系统的输入和输出,画出基本系统模型 把顶层图细化为系统的功能级数据模型 对功能级数据流图中描绘的主要功能进一步细化 2.3 DARTS-划分任务 识别出系统的所有功能以及它们之间的数据流关系,得到完整的数据流图后,下一步是识别出可并行的功能。系统设计人员把可并行、相对独立的功能单元抽象成一个系统任务。 DARTS设计方法提供了怎样在数据流图上确定并发任务的方法。 实时软件系统中并行任务的分解主要考虑系统内功能的异步性。 一个任务可对应一个变换,也可对应多个变换。 2.3 DARTS-划分任务 划分任务的原则: I/O依赖性 如果变换依赖于I/O,速度受限I/O,可独立成任务 在系统中创建与I/O设备数目相当的I/O任务 I/O任务只实现与设备相关的代码 I/O任务的执行只受限于I/O设备的速度,而不是处理器 在任务中分离设备相关性 2.3 DARTS-划分任务 功能的时间关键性: 具有时间关键性的功能应当分离处理出来,成为一个独立的任务,并且赋予这些任务较高的优先级,以满足系统对时间的要求。 2.3 DARTS-划分任务 计算需求 计算量大的功能在运行时势必会占用CPU很多时间,应当让它们单独成为一个任务。 为了保证其他费时少的任务得到优先运行,应该赋予计算量大的任务以较低优先级运行,这样允许它能被高优先级的任务抢占。 多个计算任务可安排成同优先级,按时间片循环轮转 2.3 DARTS-划分任务 功能内聚: 系统中各紧密相关的功能,不适合划分为独立的任务,应该把这些逻辑上或数据上紧密相关的功能合成一个任务,使各个功能共享资源或相同事件的驱动。 把每个变换都作为同一任务中一个个独立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚 2.3 DARTS-划分任务 时间内聚: 将同一时间内完成的各功能形成一个任务 ,即使这些功能是不相关的 功能组的各功能是由相同的外部事件驱动的(如时钟等),这样每次任务接收到一个事件,它们都可以同时执行 由于减少了任务调度及切换的次数,减少了系统的开销 2.3 DARTS-划分任务 功能的周期执行 将在相同周期内执行的各个功能组成一个任务,使运行频率越高的任务赋予越高的优先级。 频率高的任务赋予高优先级 2.4 DARTS-定义任务间的接口 在数据流图中,接口以数据流和数据存储区的形式存在。 在DARTS中有两类任务接口模块

您可能关注的文档

文档评论(0)

150****4233 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档