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

上传人:max****ui 文档编号:6335771 上传时间:2020-02-23 格式:PPT 页数:58 大小:2.30MB
返回 下载 相关 举报
DARTS实时软件分析设计方法.ppt_第1页
第1页 / 共58页
DARTS实时软件分析设计方法.ppt_第2页
第2页 / 共58页
DARTS实时软件分析设计方法.ppt_第3页
第3页 / 共58页
点击查看更多>>
资源描述
DARTS实时软件分析设计方法 主讲 谢小云 DARTS实时软件开发设计方法 1 DARTS设计方法概述2 DARTS设计方法的设计步骤3 基于DARTS的洗衣机控制软件设计4 机器人控制器系统的设计 目录 DARTS实时软件开发设计方法 1 DARTS设计方法概述 通用软件开发的设计 系统划分为各个功能子模块 再进一步细分为函数 采用自顶向下的设计方法嵌入式应用软件的设计通过并发的任务来运作的 应用软件开发的系统设计将系统划分为多个任务 各个任务允许并发执行 通过相互间通信建立联系 DARTS实时软件开发设计方法 1 DARTS设计方法概述 DARTS DesignApproachforReal TimeSystems 它是SAISD SystemAnalysisSystemDesign结构化分析和设计 方法在实时系统开发中的应用 按照软件生命周期进行软件开发 DARTS通过将系统分解成任务和定义任务接口的方法 来扩充结构化分析 设计的方法 使得实时应用系统具有并行处理的能力 该开发方法的关键是将一个系统分解为并行的任务 并定义任务间的接口 DARTS实时软件开发设计方法 1 DARTS设计方法概述2 DARTS设计方法的设计步骤3 基于DARTS的洗衣机控制软件设计4 机器人控制器系统的设计 目录 DARTS实时软件开发设计方法 2 1嵌入式实时软件系统生命周期 需求分析系统设计 DARTS设计方法数据流分析划分任务定义任务接口任务设计模块构筑任务与系统集成系统测试 DARTS实时软件开发设计方法 2 2DARTS 数据流分析 在需求分析的基础上 以数据流图作为分析工具分析系统的数据流 从系统的功能需求开始分析系统的数据流 以确定主要的功能 数据流图 DataFlowDiagram DFD 也称为BubbleChart或DataFlowGraph 它用来描绘系统的逻辑模型 从数据传递和加工的角度 以图形的方式描绘数据在系统中流动和处理的过程 反映系统必须完成的逻辑功能 DARTS实时软件开发设计方法 2 2DARTS 数据流分析 数据流图的基本图形符号 加工 输入数据在此进行变换产生输出数据 其中要标明加工的名字 数据输入的源点或数据输出的终点 其中要标明源点或终点的名字 数据流 被加工的数据与流向 箭头边应给出数据流名字 可用名词或名词性短语命名 数据存储 必须加以命名 用名词或名词性短语命名 DARTS实时软件开发设计方法 2 2DARTS 数据流分析 数据流图示例 DARTS实时软件开发设计方法 2 2DARTS 数据流分析 数据流与加工之间的关系在数据流图中 如果有两个以上数据流指向一个加工 或者是从一个加工中引出两个以上的数据流 这些数据流之间往往存在一定关系 DARTS实时软件开发设计方法 2 2DARTS 数据流分析 DARTS实时软件开发设计方法 2 2DARTS 数据流分析 数据流图的画法识别系统的输入和输出 画出基本系统模型把顶层图细化为系统的功能级数据模型对功能级数据流图中描绘的主要功能进一步细化 DARTS实时软件开发设计方法 2 3DARTS 划分任务 识别出系统的所有功能以及它们之间的数据流关系 得到完整的数据流图后 下一步是识别出可并行的功能 系统设计人员把可并行 相对独立的功能单元抽象成一个系统任务 DARTS设计方法提供了怎样在数据流图上确定并发任务的方法 实时软件系统中并行任务的分解主要考虑系统内功能的异步性 一个任务可对应一个变换 也可对应多个变换 DARTS实时软件开发设计方法 2 3DARTS 划分任务 划分任务的原则 I O依赖性如果变换依赖于I O 速度受限I O 可独立成任务在系统中创建与I O设备数目相当的I O任务I O任务只实现与设备相关的代码I O任务的执行只受限于I O设备的速度 而不是处理器在任务中分离设备相关性 Device I OTask App Task DARTS实时软件开发设计方法 2 3DARTS 划分任务 功能的时间关键性 具有时间关键性的功能应当分离处理出来 成为一个独立的任务 并且赋予这些任务较高的优先级 以满足系统对时间的要求 DARTS实时软件开发设计方法 2 3DARTS 划分任务 计算需求计算量大的功能在运行时势必会占用CPU很多时间 应当让它们单独成为一个任务 为了保证其他费时少的任务得到优先运行 应该赋予计算量大的任务以较低优先级运行 这样允许它能被高优先级的任务抢占 多个计算任务可安排成同优先级 按时间片循环轮转 DARTS实时软件开发设计方法 2 3DARTS 划分任务 功能内聚 系统中各紧密相关的功能 不适合划分为独立的任务 应该把这些逻辑上或数据上紧密相关的功能合成一个任务 使各个功能共享资源或相同事件的驱动 把每个变换都作为同一任务中一个个独立的模块 不仅保证了模块级的功能内聚 也保证了任务级的功能内聚 DARTS实时软件开发设计方法 2 3DARTS 划分任务 时间内聚 将同一时间内完成的各功能形成一个任务 即使这些功能是不相关的功能组的各功能是由相同的外部事件驱动的 如时钟等 这样每次任务接收到一个事件 它们都可以同时执行由于减少了任务调度及切换的次数 减少了系统的开销 DARTS实时软件开发设计方法 2 3DARTS 划分任务 功能的周期执行将在相同周期内执行的各个功能组成一个任务 使运行频率越高的任务赋予越高的优先级 频率高的任务赋予高优先级 DARTS实时软件开发设计方法 2 4DARTS 定义任务间的接口 在数据流图中 接口以数据流和数据存储区的形式存在 在DARTS中有两类任务接口模块 任务通信模块TCM TaskCommunicationModule 任务同步模块TSM TaskSynchronizationModule DARTS实时软件开发设计方法 2 4DARTS 定义任务间的接口 任务通信模块信息隐藏模块 DARTS实时软件开发设计方法 2 4DARTS 定义任务间的接口 消息通信模块 DARTS实时软件开发设计方法 2 4DARTS 定义任务间的接口 任务同步模块 DARTS实时软件开发设计方法 2 4DARTS 定义任务间的接口 表示任务之间的接口的符号 DARTS实时软件开发设计方法 2 5DARTS 任务设计 有了划分好的任务以及定义好的任务间的接口后 接下来就可以开始任务的设计 主要工作是确定每个任务的结构 画出每个任务的数据流图 使用结构化设计方法 从数据流图导出任务的模块结构图 并定义各模块的接口 之后 便可以进行任务的详细设计 给出每个模块的程序流程图及数据结构 DARTS实时软件开发设计方法 1 DARTS设计方法概述2 DARTS设计方法的设计步骤3 基于DARTS的洗衣机控制软件设计4 机器人控制器系统的设计 目录 DARTS实时软件开发设计方法 3 1洗衣机控制软件需求分析与说明 功能需求定义和描述默认状态下洗衣机处于关闭状态 电源开关开启后 洗衣机默认的程序功能是洗衣 漂洗 脱水 默认水位时中等水位 运行状态是等待状态 洗衣机有运行状态和等待状态 当洗衣机处于运行状态时 用户的程序控制 即洗衣 漂洗 脱水按键和水位按键的输入无效 只有当洗衣机处于等待状态时其输入才有效 程序控制的洗衣 漂洗 脱水这三个键可以按下一个 两个或者三个 洗衣机总是按洗衣 漂洗 脱水的顺序执行程序并且只执行用户选择的程序 DARTS实时软件开发设计方法 3 1洗衣机控制软件需求分析与说明 水位按键每次只能选择高 中 低三种水位的一个值 洗衣机显示面板显示洗衣机的电源状态 暂停 启动状态 当前执行的程序以及即将执行的程序和水位状态 并且能根据用户输入以后及时改变显示信息 DARTS实时软件开发设计方法 3 1洗衣机控制软件需求分析与说明 非功能需求定义和描述洗衣机开关机的响应时间控制在500ms以内 洗衣机在运行状态和等待状态之间的才换控制在800ms以内 洗衣机功能和水位的输入控制在600ms以内 洗衣机显示面板的响应控制在1200ms以内 这里假设洗衣机洗衣用600s的时间 漂洗用300s的时间 脱水用100s的时间 DARTS实时软件开发设计方法 3 1洗衣机控制软件需求分析与说明 外部接口描述 DARTS实时软件开发设计方法 3 1洗衣机控制软件需求分析与说明 系统状态变迁图 DARTS实时软件开发设计方法 3 2洗衣机控制软件系统设计以及数据流分析 说明洗衣机程序状态信息是一组数据 包含四个项 电源状态 运行情况 程序状态和水位信息 与输入面板的相对应 时钟中断的时间间隔是20ms 通过具有一定频率的时钟中断来查看当前洗衣机程序执行的执行情况 按键输入和面板输出 以提高效率 降低复杂性 洗衣机状态 指令集是洗衣机在转变为相应状态的时候所需要运行的指令等 这些存储在快速读写存储器之中 读取这些数据的时间非常快 在100ms的量级 DARTS实时软件开发设计方法 3 3洗衣机控制软件任务划分 洗衣机控制软件任务划分 在数据流图中被划入相同的任务的数据处理过程用相同颜色的虚线方框来表示 按键输入任务 功能内聚原则 中断定时任务 周期执行原则 洗衣机状态信息处理任务 计算需求和功能内聚原则 信号输出任务 I O依赖性原则 为了提高效率 将数据流图中的洗衣机状态信息和洗衣机状态指令集整合在一起作为洗衣机程序的信息存储 以便各个任务的访问能够有一个统一的入口 DARTS实时软件开发设计方法 3 3洗衣机控制软件任务划分 洗衣机控制软件任务接口 DARTS实时软件开发设计方法 3 4任务模块设计 按键输入任务数据流图 DARTS实时软件开发设计方法 3 4任务模块设计 模块结构图 DARTS实时软件开发设计方法 3 4任务模块设计 状态信息处理任务数据流图 DARTS实时软件开发设计方法 3 4任务模块设计 模块结构 DARTS实时软件开发设计方法 3 4任务模块设计 中断定时任务数据流图 DARTS实时软件开发设计方法 3 4任务模块设计 模块结构 DARTS实时软件开发设计方法 3 4任务模块设计 信号输出任务数据流图 DARTS实时软件开发设计方法 3 4任务模块设计 模块结构 DARTS实时软件开发设计方法 1 DARTS设计方法概述2 DARTS设计方法的设计步骤3 基于DARTS的洗衣机控制软件设计4 机器人控制器系统的设计 目录 DARTS实时软件开发设计方法 控制面板 控制设备由内部控制器和外部控制面板组成控制器控制六个转轴 并与数字I O传感器交互作用 转轴和I O由程序控制该程序由控制面板操作启动执行 4 1需求分析与说明 DARTS实时软件开发设计方法 控制执行过程按下 上电 按钮 系统进入了上电状态 上电成功后 系统进入了手动状态 此时 操作者可以通过程序选择开关选择程序按下 运行 按钮 则选定的程序开始运行 系统转为运行态 程序运行中如果按下 停止 键 程序被挂起 之后 操作者可以按下 运行 键 使程序恢复执行 也可按下 结束 键 结束程序 按下 结束 键后 系统进入终止态 当程序最终终止执行时 系统返回手动状态 4 1需求分析与说明 DARTS实时软件开发设计方法 上电 上电成功 断电 启动 程序选择 程序终止 结束 启动 停止 状态变迁图 4 1需求分析与说明 DARTS实时软件开发设计方法 4 2数据流分析 程序 解释程序各语句 按下按钮 面板输入 有效的面板输入 运行开始结束 动作命令 动作确认 I O命令 传感器值 输入 传感器输入 传感器输出 输出 面板输出 运行停止重启动 轴块 轴确认 轴输入 轴输出 动作块 4 2数据流分析 DARTS实时软件开发设计方法 4 3任务划分 DARTS实时软件开发设计方法 4 3任务划分 DARTS实时软件开发设计方法 4 4任务模块设计 详细说明系统中各任务的设计考虑和执行流程 以利于程序员编制程序 任务体系结构 详细定义任务包含的子模块和模块间的关系任务执行流程 尽可能详细地描述任务的处理过程任务内数据结构任务内模块间接口 DARTS实时软件开发设计方法 4 4任务模块设计 DARTS实时软件开发设计方法 4 4任务模块设计 DARTS实时软件开发设计方法 系统和任务设计完成后 进行每个模块的详细设计 直到每个具体的函数在单元测试前不必编完模块全部程序 可以分阶段编码和测试模块的详细设计应一气呵成 避免系统以非结构化方式形成 4 5任务构筑 DARTS实时软件开发设计方法 4 5任务构筑 函数描述给出对该函数的简要描述 说明设计目的 意义以及特点功能说明该函数应具有的功能 可采用IPO图 输入一处理一输出图 形式性能说明对该函数的性能要求 包括精度 灵活性和时间特性等输入定义每个输入项的特性 包括名称 标识 数据类型和格式 取值范围 输入方式 数据来源 保密方式等输出定义每个输入项的特性 特征同输入 DARTS实时软件开发设计方法 4 5任务构筑 算法详细说明本函数所选用的算法 具体的计算公式和计算步骤流程用流程图辅以必要的说明来表示本函数的逻辑流程接口说明本函数与其他函数的调用关系 包括说明参数赋值和调用方式以及相关数据结构 如数据库 文件 存储分配说明本函数的存储分配限制条件说明本函数运行所受限制测试计划说明对本函数的测试计划 包括技术要求 输入数据 预期结果 人员安排等 DARTS实时软件开发设计方法 模块逐个连接 测试以构成任务任务被逐个连接和测试形成最终系统可分两步集成在宿主机上模拟集成 软集成 在目标机上集成 4 6任务与系统集成
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!