DARTS实时软件分析设计方法

上传人:pu****.1 文档编号:584658483 上传时间:2024-08-31 格式:PPT 页数:58 大小:2.30MB
返回 下载 相关 举报
DARTS实时软件分析设计方法_第1页
第1页 / 共58页
DARTS实时软件分析设计方法_第2页
第2页 / 共58页
DARTS实时软件分析设计方法_第3页
第3页 / 共58页
DARTS实时软件分析设计方法_第4页
第4页 / 共58页
DARTS实时软件分析设计方法_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《DARTS实时软件分析设计方法》由会员分享,可在线阅读,更多相关《DARTS实时软件分析设计方法(58页珍藏版)》请在金锄头文库上搜索。

1、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设计方法概述设计方法概述2、D

3、ARTS设计方法的设计步骤设计方法的设计步骤 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实时软件开发设计方法2.

5、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依赖性n如果变

8、换依赖于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.3 DA

9、RTS-划分任务划分任务n计算需求n计算量大的功能在运行时势必会占用CPU很多时间,应当让它们单独成为一个任务。n为了保证其他费时少的任务得到优先运行,应该赋予计算量大的任务以较低优先级运行,这样允许它能被高优先级的任务抢占。 n多个计算任务可安排成同优先级,按时间片循环轮转DARTS实时软件开发设计方法2.3 DARTS-划分任务划分任务n功能内聚:n系统中各紧密相关的功能,不适合划分为独立的任务,应该把这些逻辑上或数据上紧密相关的功能合成一个任务,使各个功能共享资源或相同事件的驱动。 n把每个变换都作为同一任务中一个个独立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚even

10、t 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将在相同周期内执行的各个功能组成一个任务,使运行频率越高的任务赋予越高的优先级

11、。 n频率高的任务赋予高优先级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、DAR

14、TS设计方法的设计步骤设计方法的设计步骤 3、基于、基于DARTS的洗衣机控制软件设计的洗衣机控制软件设计 4、机器人控制器系统的设计机器人控制器系统的设计目录目录DARTS实时软件开发设计方法3.1 洗衣机控制软件需求分析与说明洗衣机控制软件需求分析与说明 u功能需求定义和描述功能需求定义和描述 n默认状态下洗衣机处于关闭状态。 n电源开关开启后,洗衣机默认的程序功能是洗衣、漂洗、脱水,默认水位时中等水位,运行状态是等待状态; n洗衣机有运行状态和等待状态; n当洗衣机处于运行状态时,用户的程序控制,即洗衣、漂洗、脱水按键和水位按键的输入无效;只有当洗衣机处于等待状态时其输入才有效; n程序

15、控制的洗衣、漂洗、脱水这三个键可以按下一个、两个或者三个,洗衣机总是按洗衣-漂洗-脱水的顺序执行程序并且只执行用户选择的程序; DARTS实时软件开发设计方法3.1 洗衣机控制软件需求分析与说明洗衣机控制软件需求分析与说明n水位按键每次只能选择高、中、低三种水位的一个值; n洗衣机显示面板显示洗衣机的电源状态、暂停启动状态、当前执行的程序以及即将执行的程序和水位状态,并且能根据用户输入以后及时改变显示信息。DARTS实时软件开发设计方法3.1 洗衣机控制软件需求分析与说明洗衣机控制软件需求分析与说明u非功能需求定义和描述非功能需求定义和描述 n洗衣机开关机的响应时间控制在500ms以内;n洗衣

16、机在运行状态和等待状态之间的才换控制在800ms以内;n洗衣机功能和水位的输入控制在600ms以内;n洗衣机显示面板的响应控制在1200ms以内;n这里假设洗衣机洗衣用600s的时间,漂洗用300s的时间,脱水用100s的时间。DARTS实时软件开发设计方法3.1 洗衣机控制软件需求分析与说明洗衣机控制软件需求分析与说明u外部接口描述外部接口描述 DARTS实时软件开发设计方法3.1 洗衣机控制软件需求分析与说明洗衣机控制软件需求分析与说明u系统状态变迁图系统状态变迁图 DARTS实时软件开发设计方法3.2 洗衣机控制软件系统设计以及数据流分析洗衣机控制软件系统设计以及数据流分析 u说明说明n

17、洗衣机程序状态信息是一组数据,包含四个项:电源状态、运行情况、程序状态和水位信息,与输入面板的相对应;n时钟中断的时间间隔是20ms,通过具有一定频率的时钟中断来查看当前洗衣机程序执行的执行情况、按键输入和面板输出,以提高效率、降低复杂性。n洗衣机状态、指令集是洗衣机在转变为相应状态的时候所需要运行的指令等,这些存储在快速读写存储器之中,读取这些数据的时间非常快,在100ms的量级。 DARTS实时软件开发设计方法3.3 洗衣机控制软件任务划分洗衣机控制软件任务划分u洗衣机控制软件任务划分洗衣机控制软件任务划分(在数据流图中被划入相同的任务的数据处理过程用相同颜色的虚线方框来表示) n按键输入

18、任务:功能内聚原则;n中断定时任务:周期执行原则;n洗衣机状态信息处理任务:计算需求和功能内聚原则;n信号输出任务:I/O依赖性原则。n为了提高效率,将数据流图中的洗衣机状态信息和洗衣机状态指令集整合在一起作为洗衣机程序的信息存储,以便各个任务的访问能够有一个统一的入口。 DARTS实时软件开发设计方法3.3 洗衣机控制软件任务划分洗衣机控制软件任务划分u洗衣机控制软件任务接口洗衣机控制软件任务接口 DARTS实时软件开发设计方法3.4 任务模块设计任务模块设计u按键输入任务按键输入任务 n数据流图 DARTS实时软件开发设计方法3.4 任务模块设计任务模块设计n模块结构图 DARTS实时软件

19、开发设计方法3.4 任务模块设计任务模块设计u状态信息处理任务状态信息处理任务 n数据流图 DARTS实时软件开发设计方法3.4 任务模块设计任务模块设计n模块结构 DARTS实时软件开发设计方法3.4 任务模块设计任务模块设计u中断定时任务中断定时任务 n数据流图DARTS实时软件开发设计方法3.4 任务模块设计任务模块设计n模块结构DARTS实时软件开发设计方法3.4 任务模块设计任务模块设计u信号输出任务信号输出任务 n数据流图DARTS实时软件开发设计方法3.4 任务模块设计任务模块设计n模块结构DARTS实时软件开发设计方法1 、DARTS设计方法概述设计方法概述2、DARTS设计方

20、法的设计步骤设计方法的设计步骤 3、基于、基于DARTS的洗衣机控制软件设计的洗衣机控制软件设计 4、机器人控制器系统的设计机器人控制器系统的设计目录目录DARTS实时软件开发设计方法上电手动停止结束断电运行程序选择控制面板控制面板控制设备由内部控控制设备由内部控制器和外部控制面制器和外部控制面板组成板组成控制器控制六个转控制器控制六个转轴,并与数字轴,并与数字I/O传感器交互作用。传感器交互作用。转轴和转轴和I/O由程序由程序控制控制该程序由控制面板该程序由控制面板操作启动执行操作启动执行4.1 需求分析与说明需求分析与说明DARTS实时软件开发设计方法u控制执行过程控制执行过程n按下“上电

21、”按钮,系统进入了上电状态。n上电成功后,系统进入了手动状态。此时,操作者可以通过程序选择开关选择程序n按下“运行”按钮,则选定的程序开始运行,系统转为运行态。n程序运行中如果按下“停止”键,程序被挂起。之后,操作者可以按下“运行”键,使程序恢复执行,也可按下“结束”键,结束程序。n按下“结束”键后,系统进入终止态。当程序最终终止执行时,系统返回手动状态。 4.1 需求分析与说明需求分析与说明DARTS实时软件开发设计方法断电态断电态通电态通电态手动态手动态运行态运行态终止态终止态挂起态挂起态上电上电上电上电 成功成功断电断电启动启动程序程序选择选择程序程序 终止终止结束结束启动启动停止停止状

22、态变迁图状态变迁图4.1 需求分析与说明需求分析与说明DARTS实时软件开发设计方法4.2 数据流分析数据流分析程序程序面板输入有面板输入有效效性检查性检查解释程序解释程序各语句各语句读传读传感器感器处理面板处理面板输入输入 处理处理I/O命令命令处理动处理动作命令作命令向传感向传感器输出器输出输出动作输出动作轴数据轴数据接收接收确认确认输出到输出到面板面板轴控制轴控制器器读面板读面板 输入输入按下按下按钮按钮面板输入面板输入 有效的有效的面板输入面板输入 运行运行开始开始 结束结束动作动作命令命令动作动作确认确认I/O命令命令传感器值传感器值输入输入传感器输入传感器输入传感器传感器输出输出输

23、出输出面板面板输出输出 运行运行 停止停止重启动重启动轴块轴块轴确认轴确认轴输入轴输入轴输出轴输出动作块动作块4.2 数据流分析数据流分析DARTS实时软件开发设计方法4.3 任务划分任务划分DARTS实时软件开发设计方法4.3 任务划分任务划分DARTS实时软件开发设计方法4.4 任务模块设计任务模块设计u详细说明系统中各任务的设计考虑和执行流程,详细说明系统中各任务的设计考虑和执行流程,以利于程序员编制程序。以利于程序员编制程序。u任务体系结构:详细定义任务包含的子模块和任务体系结构:详细定义任务包含的子模块和模块间的关系模块间的关系u任务执行流程:尽可能详细地描述任务的处理任务执行流程:

24、尽可能详细地描述任务的处理过程过程u任务内数据结构任务内数据结构u任务内模块间接口任务内模块间接口DARTS实时软件开发设计方法4.4 任务模块设计任务模块设计DARTS实时软件开发设计方法4.4 任务模块设计任务模块设计DARTS实时软件开发设计方法u系系统统和和任任务务设设计计完完成成后后,进进行行每每个个模模块块的的详详细细设计,直到每个具体的函数设计,直到每个具体的函数u在在单单元元测测试试前前不不必必编编完完模模块块全全部部程程序序,可可以以分分阶段编码和测试阶段编码和测试u模模块块的的详详细细设设计计应应一一气气呵呵成成,避避免免系系统统以以非非结结构化方式形成构化方式形成4.5

25、任务构筑任务构筑DARTS实时软件开发设计方法4.5 任务构筑任务构筑u函数描述函数描述给出对该函数的简要描述,说明设给出对该函数的简要描述,说明设计目的、意义以及特点计目的、意义以及特点u功能功能说明该函数应具有的功能,可采用说明该函数应具有的功能,可采用IPO图(输入一处理一输出图)形式图(输入一处理一输出图)形式u性能性能说明对该函数的性能要求,包括精度、说明对该函数的性能要求,包括精度、灵活性和时间特性等灵活性和时间特性等u输入输入定义每个输入项的特性,包括名称、标定义每个输入项的特性,包括名称、标识、数据类型和格式、取值范围、输入方式、识、数据类型和格式、取值范围、输入方式、数据来源

26、、保密方式等数据来源、保密方式等u输出输出定义每个输入项的特性,特征同输入定义每个输入项的特性,特征同输入DARTS实时软件开发设计方法4.5 任务构筑任务构筑u算法算法详细说明本函数所选用的算法,具体的详细说明本函数所选用的算法,具体的计算公式和计算步骤计算公式和计算步骤u流程流程用流程图辅以必要的说明来表示本函数用流程图辅以必要的说明来表示本函数的逻辑流程的逻辑流程u接口接口说明本函数与其他函数的调用关系,包说明本函数与其他函数的调用关系,包括说明参数赋值和调用方式以及相关数据结构括说明参数赋值和调用方式以及相关数据结构(如数据库、文件)。(如数据库、文件)。 u存储分配存储分配说明本函数的存储分配说明本函数的存储分配u限制条件限制条件说明本函数运行所受限制说明本函数运行所受限制 u测试计划测试计划说明对本函数的测试计划,包括技说明对本函数的测试计划,包括技术要求、输入数据、预期结果、人员安排等术要求、输入数据、预期结果、人员安排等DARTS实时软件开发设计方法u模块逐个连接、测试以构成任务模块逐个连接、测试以构成任务u任务被逐个连接和测试形成最终系统任务被逐个连接和测试形成最终系统u可分两步集成可分两步集成n在宿主机上模拟集成(软集成)n在目标机上集成4.6 任务与系统集成任务与系统集成DARTS实时软件开发设计方法

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号