DARTS实时软件分析设计方法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《DARTS实时软件分析设计方法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DARTS 实时 软件 分析 设计 方法 课件
- 资源描述:
-
1、DARTS实时软件分析设计方法实时软件分析设计方法主讲:谢小云主讲:谢小云DARTS实时软件开发设计方法1、DARTS设计方法概述设计方法概述2、DARTS设计方法的设计步骤设计方法的设计步骤 3、基于、基于DARTS的洗衣机控制软件设计的洗衣机控制软件设计 4、机器人控制器系统的设计、机器人控制器系统的设计目录目录DARTS实时软件开发设计方法1、DARTS设计方法概述设计方法概述u通用软件开发的设计:通用软件开发的设计:n系统划分为各个功能子模块,再进一步细分为函数,采用自顶向下的设计方法u嵌入式应用软件的设计嵌入式应用软件的设计n通过并发的任务来运作的,应用软件开发的系统设计将系统划分为
2、多个任务,各个任务允许并发执行,通过相互间通信建立联系。DARTS实时软件开发设计方法1、DARTS设计方法概述设计方法概述nDARTS(Design Approach for Real-Time Systems),它是SAISD(System Analysis System Design结构化分析和设计)方法在实时系统开发中的应用,按照软件生命周期进行软件开发。nDARTS通过将系统分解成任务和定义任务接口的方法,来扩充结构化分析/设计的方法,使得实时应用系统具有并行处理的能力。该开发方法的关键是将一个系统分解为并行的任务,并定义任务间的接口。DARTS实时软件开发设计方法1、DARTS设计
3、方法概述设计方法概述2、DARTS设计方法的设计步骤设计方法的设计步骤 3、基于、基于DARTS的洗衣机控制软件设计的洗衣机控制软件设计4、机器人控制器系统的设计、机器人控制器系统的设计目录目录DARTS实时软件开发设计方法2.1 嵌入式实时软件系统生命周期嵌入式实时软件系统生命周期u需求分析需求分析u系统设计系统设计DARTS设计方法设计方法n数据流分析数据流分析n划分任务划分任务n定义任务接口定义任务接口u任务设计任务设计u模块构筑模块构筑u任务与系统集成任务与系统集成u系统测试系统测试DARTS实时软件开发设计方法2.2 DARTS-数据流分析数据流分析 u在需求分析的基础上,以数据流图
4、作为分析工在需求分析的基础上,以数据流图作为分析工具分析系统的数据流,从系统的功能需求开始具分析系统的数据流,从系统的功能需求开始分析系统的数据流,以确定主要的功能。分析系统的数据流,以确定主要的功能。u数据流图数据流图(Data Flow Diagram,DFD)也称为)也称为Bubble Chart或或Data Flow Graph,它用来,它用来描绘描绘系统的逻辑模型,从数据传递和加工的角度,系统的逻辑模型,从数据传递和加工的角度,以图形的方式描绘数据在系统中流动和处理的以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能。过程,反映系统必须完成的逻辑功能。DARTS
5、实时软件开发设计方法2.2 DARTS-数据流分析数据流分析u数据流图的基本图形符号数据流图的基本图形符号 加工。输入数据在此进行变换产生输出数据,其中要标明加工的名字。数据输入的源点或数据输出的终点。其中要标明源点或终点的名字。数据流。被加工的数据与流向,箭头边应给出数据流名字,可用名词或名词性短语命名。数据存储。必须加以命名,用名词或名词性短语命名。DARTS实时软件开发设计方法2.2 DARTS-数据流分析数据流分析u数据流图示例数据流图示例 DARTS实时软件开发设计方法2.2 DARTS-数据流分析数据流分析u数据流与加工之间的关系数据流与加工之间的关系 n在数据流图中,如果有两个以
6、上数据流指向一个加工,或者是从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定关系。DARTS实时软件开发设计方法2.2 DARTS-数据流分析数据流分析DARTS实时软件开发设计方法2.2 DARTS-数据流分析数据流分析u 数据流图的画法数据流图的画法 n识别系统的输入和输出,画出基本系统模型 n把顶层图细化为系统的功能级数据模型n对功能级数据流图中描绘的主要功能进一步细化 DARTS实时软件开发设计方法2.3 DARTS-划分任务划分任务 u识别出系统的所有功能以及它们之间的数据流识别出系统的所有功能以及它们之间的数据流关系,得到完整的数据流图后,下一步是识别关系,得到完整的数
7、据流图后,下一步是识别出可并行的功能。系统设计人员把可并行、相出可并行的功能。系统设计人员把可并行、相对独立的功能单元抽象成一个系统任务。对独立的功能单元抽象成一个系统任务。uDARTS设计方法提供了怎样在数据流图上确定设计方法提供了怎样在数据流图上确定并发任务的方法。并发任务的方法。u实时软件系统中并行任务的分解主要考虑系统实时软件系统中并行任务的分解主要考虑系统内功能的异步性。内功能的异步性。u一个任务可对应一个变换,也可对应多个变换。一个任务可对应一个变换,也可对应多个变换。DARTS实时软件开发设计方法2.3 DARTS-划分任务划分任务 u划分任务的原则划分任务的原则:n I/O依赖
8、性n如果变换依赖于I/O,速度受限I/O,可独立成任务n在系统中创建与I/O设备数目相当的I/O任务nI/O任务只实现与设备相关的代码nI/O任务的执行只受限于I/O设备的速度,而不是处理器n在任务中分离设备相关性DeviceI/O Task App.TDARTS实时软件开发设计方法2.3 DARTS-划分任务划分任务n功能的时间关键性:n具有时间关键性的功能应当分离处理出来,成为一个独立的任务,并且赋予这些任务较高的优先级,以满足系统对时间的要求。event 1event 2Task 1Task 2Task 3Task 3deadline 1deadline DARTS实时软件开发设计方法2
9、.3 DARTS-划分任务划分任务n计算需求n计算量大的功能在运行时势必会占用CPU很多时间,应当让它们单独成为一个任务。n为了保证其他费时少的任务得到优先运行,应该赋予计算量大的任务以较低优先级运行,这样允许它能被高优先级的任务抢占。n多个计算任务可安排成同优先级,按时间片循环轮转DARTS实时软件开发设计方法2.3 DARTS-划分任务划分任务n功能内聚:n系统中各紧密相关的功能,不适合划分为独立的任务,应该把这些逻辑上或数据上紧密相关的功能合成一个任务,使各个功能共享资源或相同事件的驱动。n把每个变换都作为同一任务中一个个独立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚e
10、vent 1F1(x)+F3(x)event 2F2(x)DARTS实时软件开发设计方法2.3 DARTS-划分任务划分任务n时间内聚:n将同一时间内完成的各功能形成一个任务,即使这些功能是不相关的n功能组的各功能是由相同的外部事件驱动的(如时钟等),这样每次任务接收到一个事件,它们都可以同时执行n由于减少了任务调度及切换的次数,减少了系统的开销Clock TickeventF1(x)+F2(y)+F3(z)F4(x)+F5(y)DARTS实时软件开发设计方法2.3 DARTS-划分任务划分任务n功能的周期执行n将在相同周期内执行的各个功能组成一个任务,使运行频率越高的任务赋予越高的优先级。n
11、频率高的任务赋予高优先级F1F2F110HZ10HZ15HZ15HZFDARTS实时软件开发设计方法2.4 DARTS-定义任务间的接口定义任务间的接口 u在数据流图中,接口以数据流和数据存储区的在数据流图中,接口以数据流和数据存储区的形式存在。形式存在。u在在DARTS中有两类任务接口模块:中有两类任务接口模块:n任务通信模块TCM(Task Communication Module)n任务同步模块TSM(Task Synchronization Module)DARTS实时软件开发设计方法2.4 DARTS-定义任务间的接口定义任务间的接口u任务通信模块任务通信模块n信息隐藏模块信息隐藏模
12、块数据数据存储区存储区写数据写数据读数据读数据读数据读数据任务任务A任务任务BDARTS实时软件开发设计方法2.4 DARTS-定义任务间的接口定义任务间的接口n消息通信模块消息通信模块DARTS实时软件开发设计方法2.4 DARTS-定义任务间的接口定义任务间的接口u任务同步模块任务同步模块源源S:发事件信号:发事件信号(E)S目标目标D:等待事件:等待事件(E)DDARTS实时软件开发设计方法2.4 DARTS-定义任务间的接口定义任务间的接口u表示任务之间的接口的符号表示任务之间的接口的符号DARTS实时软件开发设计方法2.5 DARTS-任务设计任务设计 u有了划分好的任务以及定义好的
13、任务间的接口有了划分好的任务以及定义好的任务间的接口后,接下来就可以开始任务的设计。后,接下来就可以开始任务的设计。u主要工作是确定每个任务的结构,画出每个任主要工作是确定每个任务的结构,画出每个任务的数据流图,使用结构化设计方法,从数据务的数据流图,使用结构化设计方法,从数据流图导出任务的模块结构图,并定义各模块的流图导出任务的模块结构图,并定义各模块的接口,之后,便可以进行任务的详细设计,给接口,之后,便可以进行任务的详细设计,给出每个模块的程序流程图及数据结构。出每个模块的程序流程图及数据结构。DARTS实时软件开发设计方法1、DARTS设计方法概述设计方法概述2、DARTS设计方法的设
展开阅读全文