(电路与系统专业论文)嵌入式系统软硬件协同设计的建模与划分方法研究.pdf_第1页
(电路与系统专业论文)嵌入式系统软硬件协同设计的建模与划分方法研究.pdf_第2页
(电路与系统专业论文)嵌入式系统软硬件协同设计的建模与划分方法研究.pdf_第3页
(电路与系统专业论文)嵌入式系统软硬件协同设计的建模与划分方法研究.pdf_第4页
(电路与系统专业论文)嵌入式系统软硬件协同设计的建模与划分方法研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ab s t f a c t a s t h ed e v e l o p m e nto f te c hno l o g yo f v l s i , t h es i z eo f t he d e v i c eb e c o m e s s m a l l e r,t h ed e g re e o f i n t e grat i o nb e c o me s h i gh饥 the fu n c t i o no f s y st e m b e c o m e s m o r e c o m p i i c at e dw i t h i n the pr e s s ur e o f h i g h e r c o s t o f d e s i gn a n d p ro d u c e o f th e c h i p s a n d th e s h o rter t i m e , t o 一 m arke t , h 0 wt o des i gnthe s y st e m1 h a t c ans atis fyboth t h e p e rformanc e and c o s t h a s b e c o m e a se ri o u s s ubje c t o f s y s te mdes i gn. u nderth i s b ac k 脚 und , h w / s wc o 一 d e s i 即te c ho o l o 盯has c o me tothe p e 叩l e s atte n t i o n thi sth e s i si s m ai n l yabo utth em o del i n ga i 1 dthe p a rt i t 1 o ni飞 i nthe h w/ s w c o 一 d e s i gn. the ma i n work and i nno v atio nsare a s fol l o w s : s t u d yt h em o d e l i n gme t h o do f d i ffer e nt e mb e dde ds y s t e m st h e ns tres s e dthe ap p ro ac hb a s e d o n t h e u ml ( u n i fi edmo d e l i n g l an g uag e ) , a n dd i s cu s s e d the work fl o wo f t he m e 1 1 1 o do f m o d e l i ng b as e do nu ml1 hi0 u gh an realwor l dins t a n c e o f mp 3 p l aye r s t udy th e s ta t ic h w/ s wp a rt i ti o ni ng p ro b l e m , pr e s ent and re a l i zeanapp ro a c h b a s e d o n p b i l al gori t h m , th e e x p e r l m e ntre s u l t sh o ws t h a t th i s s 1 r a t e gyc ann o t o ul y k e e p th e d i v e r s i t y o f t henewp o p u l atio n an d avo i d t r a p p i n g i n l o c a i b e st s o l utio n , but a l s op r e s e rvethei n fo rm at i o no fevo l utio nd 1 r e ctio no fe l i t ei ndi vi d ua1in the e s t i mat i o n fu n c ti o n o f di strib u t i o n o f p ro b abi i ity v e ctor, avo i d d e s t r o y i 飞 o f buil d ing b l o c kfrom th ec ro s s o v er a n dm ut at i o no p e r a t i o ni nge neti ca l g o r i t 加 肚 , great l y i ncr e a s i n g the a b i i i t y o f s e arc h i n g th e b e s t s o l ut i o n . s t u d y t h e d y nam i c h w/ s wp arti t i o n i n g p ro b l e m , pres e n t e d a n e w m e th o d b as e d o ns y m m e t ry m e c 1 1 a n i s m c al l e dd p b i lfor dyn a 们 n ich w/ s w p a rt i l l o ni ng p r o b l e m , d e s i g n e x p e ri m e ntv i a c 0 1 n p ar i s onwithane x i s t i n g m e thod , then ana l yz e the re s ul t . t h e re s u l t s h o w s t h atth e 1 l 1 1 p o rt o f d u a l p ro b abi l i tyv e c t o r i n creas e s the tr ac k i n g and ad a p t i n g abi l i tyo f t h e a 1 g o ri t hm i n d y n a m i c e n v i ro nj 1 1 e n t , an d e ffec t i v e l y t he p e r fo rmanc eo fa l g o ri t l l m . b as e d o n t h i s ,p ro pose dthre s h o l dc o n s trai nt m e c h a n i s m to i n c re as eth ed y n ami ct r ac k i n gabi l i ty, th ere s u l t s how s t h a t the p e r fo r m a n c e p r o p o s e p r o b a b i l i t y e l:fec t i v e n e s s o f a i g o r i t h mg e t s fa r t h e r mor e i m p r o v e m e nt . ano t h e r m e t h o dfo rd y n ami ch w/ s w p a rt i t i o n i n gb a s e dq u a n tu m c o d i n g v i ac o m p a r i s o nw i t han e x i s t i n g m e t h o d ,v a l i d at et h e a n d a d v a n t a g e o f t h e a l g o r i t hm . k 即 w o r d s :h w/ s w c o 一 d c s i g n , c m b c d d e d叮 s t e mm o d e l i n g , u ml , h w/ s w p a r t i t i o n i n g ,d y n a m i c h w/ s w p a rt i t i o n i n g ,d p b i l ,d q c ga 中国科学技术大学学位论文相关声明 本人声明所呈交的学位论文, 是本人在导师指导下进行研究 工作所取得的 成果。 除已 特别加以 标注和致谢的地方外, 论文中 不包含任何他人已经发表或撰写过的研究成果。 与我一同 工作的 同志对本研究所做的贡献均已 在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权, 即: 学校有权按有关规定向国家有关部门或机构送交论文的 复印 件和电 子版, 允许论文被查阅或借阅, 可以 将学位论文编入有关 数据库进行检索, 可以 采用影印、缩印或扫描等复制手段保存、 汇编学位论文。 保密的学位论文在解密后也遵守此规定。 作者签名: 年月日 第一章 嵌入式系统软硬件协同设计方法概述 1 . 1 研究背景 嵌入式系统是从应用角度出 发, 以计算机技术为 基础, 软硬件可以剪裁, 能 够满足实际系统对功能, 可靠性, 成本, 体积和功耗等各方面的 严格要求的 专用 计算机系统, 因此被广泛的 应用到工业控制系统, 仿真系统, 医疗仪器, 信息家 电,通信设备等众多领域中。 嵌入式系统的设计比较复杂, 一般同时涉及到硬件和软件两方面。 硬件包括 处理器, 存储器, 接口控制器和专用模拟电路等多种要素, 软件又包括嵌入式操 作系统, 板级支持包, 设备驱动, 协议栈和应用程序等。 此外, 作为专用计算机 系统, 还必须满足体积, 成本, 功耗, 安全性等多种非功能性约束. 得益于近二 十 年来集成电 路技术的迅猛发展, 使得在一块芯片上集成包括软件和硬件在内的 完 整系统( s ys t emo n c hi p ) 成为 可 能。 s o c 是指 在单一芯 片上 集成了 数字 和 模 拟电 路、 信号采集和转换、 u o 、 存储器、微控制器m c u ( m 呼 c o n tr o l u ni t) 和 数 字信号处理器d s p(digl talsi g n a 1 p r o c es si n g) 等ic, 它可以 在单一芯片上实 现 信号 采集、 转换、 存储、 处理和u o 接口 等功能, 使得系统的 体积和成本大大下 降,顺应了向高性能,低功耗,低成本的发展趋势。图 1 1是一个近似的 s o c 所包含模块的示意图【 1 : s o c的出现掀起了微电子设计领域的一场革命,随着超大规模集成电路工 艺技术的发展, 器件尺寸变得越来越小, 单片芯片的集成度也越来越高, 系统的 功能也越来越复杂。 较为复杂的嵌入式系统往往包括专用集成电路部分, 以及在 嵌入式处理器上运行的软件代码部分, 整个系统的性能, 设计制造成本及可编程 性都依赖于该系统的软件和硬件设计。 因此, 在昂贵的芯片设计和制造成本, 以 及越来越短的 ti me一 to一 m ar ket 的压力下,如何能设计出性能和成本都符合要求 的系统就成为系统设计的一个课题。 在这样的背景下, 主要有三个核心技术: 软硬件协同设计技术, i p( i ni ellec t ua l p ro pe rt y) 核重用技术及深亚微米集成电路技术, 引 起了 人们的广泛关注, 分别从 不同的层次引发了 嵌入式系统设计的革命. s o c的设计不是一切从头开始, 而 是 将设计建立在较高的基础之上,运用ip核重用设计技术,从传统的电路设计 转向 系统设计, 设计的重心也从 逻辑综合、 布局 布线转向 系统的设计、 软 / 硬件 协 同设计 及仿真。 s 0 c从整个系统的角 度出 发, 把处理机制、 模型、 算法、软 件 ( 特 别 是 芯 片卜 的 嵌 入 式 操 作 系 统 ) 、 芯 片 架 构 、 各 层 次 电 路 直 至 器 件 的 设 计 紧 密结合 起来, 在单个芯片上 完成整个系 统的功能。 它的设 计必须是从系统行为级 别f 始,自 顶向下的进行设计。与由 多 块芯片组成的系 统相比,由于s o c设计 能 够全局及综合考虑整 个系统的 情况, 可以 在相同的工艺条件下实现更高性能的 系统需求。 二 ;葫一厂 :龙 瑟:) .应画甸一 一 二龚到_巨一夔 过一巨夔亘!_ 一_网_圈_一 i n :w 。、 h o 5。 一 ip hora ! int rfac rf 又能够将优良个体所代表的演化方向信息 很好的保存在概 率向 量的分布函数中, 避免了 遗传算法的交叉和 变异 操作对积 木 块的破坏,大大提高了寻找到最优解的可能性。 研究了动态软硬件划分问题,提出了一种基于对称机制 d p b il 算法的软硬 件动态划分方 法, 并与己 有动态 软硬件划分算法进 行了比 较。 实 验结果 表明 对 称 的概率向 量的引入, 提高了算法 对动态环境的跟踪 和适 应能力, 有效提 高了 算 法 的性能。在此基础上,引入了闭值约束机制,以提供算法的动态跟踪能力,实验 结果表明算法性能得到了进一步的提高。 提出 了一 种基于量 子概率编码的软 硬件动态划分算法, 通过与已知 动态软硬 件划分算法进行实验比较,验证了这两种算法的有效性和先进性。 本文内容安排 本文后续内容安排如下: 第二章介绍了嵌 入式系统建模的各种基本概念,常见的嵌入式系统建模方 法,重点 介绍了 利用统一建模语台 u m l( u ni fi edm odelingl an g u age ) 对嵌入式 系 统 进行建模的主要 过程。 第三章详 细介绍了 静态软 硬件协同 划分问 题的定 义和计算模型设定, 并对己 有的软硬 件划分 方法进行了 综述和分析; 然后介绍了 基于分布估计算法的 软硬件 划分方法,并给出了实验结果和分析。 第四章对由传统的静态软硬件划分问 题引申 出来的 动态软硬件划分问题 进 汀了 深入 的探讨和分析, 提出 并实现了基 于d p bi l算 法的 动态软硬件划分方 法, 给出了 实验结果和分析, 并从算法实 现过程中出 现的问 题出发, 提出了 闭值约 束 机制,进一步提高了算法的性能。 第五 章中 介绍了另 一种 基于量子 概率编码的 动态软硬 件划分方法, 利用量子 概率编 码的 思想, 结合 对称概率向 量的 搜索机制, 对于动 态划分问 题进行了 研究, 并 给出了实 验结果 和分析。 第六章总结全文。 第二章 嵌入式系统的建模方法 软硬件协同设计的第一个步骤就是建立系统的抽象模型, 细致而准确的描述 所要研究的系统的各个层面的 信息, 从而为进一步的分析和设计奠定基础。 所以 本章 将首 先介绍系统建模的主要目 的, 明 确系统建模的意义; 其次介绍 嵌入式系 统的 特点和建模时需要解决的问题, 给出嵌入式系统建模的初步轮廓; 接下来按 照面向 过程的和面向 对象的两种类别, 分别介绍已有的建模方法; 然后重点介绍 了基于统一建模语言u ml的嵌入式系统建模方法, 详尽地阐述了u ml的发展、 构成、 及其对于嵌入式系统的 建模能力, 最后通过一个实例简述了u m l 建 模的 基本流程。 21系统建模的主要目的 1 0 ( 1)理解应用领域中的知识,捕获用户的需求 对系统进行分析的过程就是开发者不断学习用户领域知识的过程。 当开发者 能建立一个用户满意的模型时, 说明他己 经理解了用户领域中的知识。 正如j a n l e s r umb au gh所说: 建模就是 抓住系统最本质的部分。 ( 2) 与 用户沟通 用户和开发者往往不熟悉对方的领域, 二者的沟通就有一定的难度。 通过建 立一个双方都能理解的模型有利于这种沟通, 可以 使项目 投资者、 分析人员、 设 计人员等达成一致,从而为建立正 确的系统打下良 好的基础。 ( 3 ) 有利于 我们理解复杂系 统 对大型复杂系统直接理解往往有困难, 通过建立模型, 对系统进行抽象, 抓 住系统的主要方面,这样有利于理解系统。 4) 使实现细节和需求分开 系统的模型可以从多个角度来描述系统: 有一些侧重于系统的外部行为和系 统中与现实世界相对应的 有关信息; 有一些则侧重于描述系统中的 模块以 及模块 的内部操作。通过模型, 可以 将实现细节和需求分开。 (5 ) 进行系统设计 对于硬件系统而言, 在设计系统的具体实现架构以前, 硬件系统的模型可以 很好的体现系统的高层布局, 为设计者提供整体的映像, 有利于自 顶向下的设计 流程的实现。 对于 软件系统而言 , 在编写代码以前, 软件系统的 模型可以 帮助软件开发人 员 方 便地研究软件的多种构架和设计方案, 从中 找出 最适合的解决方案, 简化实 现。模型能够说明在最终设计中所要解决的许多问题。 (6 ) 建立 系 统的文档 系 统的模型可以 用文档或者视图来组织信息, 通过这些视图可以组织、 查找、 检查以及编辑与大型系统有关的信息。 2 . 2嵌入式系统的特点和建模面临的主要问题 ( 1)系统精简,专用性强,建模方法的可配置性要求较高 嵌入式系统一般没有系统软件和应用软件的明显区分, 不要求其功能设计与 实 现上 过于复杂, 这样一方面有利于控制系统成本, 同时也有利于实现系统安全。 嵌入式系统的个性化很强, 其中的软件系统和硬件的结合非常紧密, 一般要 针对硬件进行系统的移植, 即使在同一品牌、 同一系统的产品中也需要根据系统 硬件的变化和增减不断进行修改。 同时针对不同的 任务, 往往需要对系统进行较 大更改, 程序的编译下载要和系统相结合, 这种修改和通用软件的“ 升级” 是完 全不同的概念。 在这种情况下, 建模方法必须能针对不同的嵌入式系统架构灵活的适应, 避 免出现系统描述的冗余或者漏洞。 (2 ) 系统的异质性强,建模方法的 统一描述能 力较高 嵌入式系统包含的组件通常比 较复杂, 硬件层面上既有较为通用的嵌入式微 处 理器. 又 有专用性很强的独立芯片, 软件层面上既有 应用程序, 又有通用的协 议,驱动程序等。这导致建模语言必须有很强的 包容性和统一描述的能力。 ( 3 ) 系统的实时性强,建模方法应有相应的处理能力 通 用 计 算 机具 有 完 善的 操作 系 统 和 应 用 程 序 接口 ( a pi ) , 但 一 般 不是 实 时 的。 嵌入式系统则不同, 在精简的系统架构下, 为了充分利用系统资源、 合理地调度 多 任务、 系统函数以及和专家库函数接口, 许多嵌入式操作系统都有一个多任务 核心,以满孚名种嵌入式系统的需要。 对于系统核心的 功能, 各种嵌入 式系统差别 较大, 但即使是微内核 系统, 系 统核心也负责完成如下一些基本任务: 进程间通讯、线程调度、中断和内存管理 等, 以保证程序执行的实时 性、可靠 性,并 减少开发时间, 保障软件质量。 因此, 对于建模方 法而言 , 还必须能 够准 确的描述诸如并发, 通信, 调度等 各种实时要素。 2 . 3常见的嵌入式系统的建模方法 常见的面向嵌入式 系统的 建模方 法主要分为两类: 面向过程的行为级 描述方 法和面向对象的系统级描述方法。 面向过程的行为级 描述方法主要包 括用有限状态机模型, 数据流模型, 数据 / 控制流模型, 任务流模型, 离散事件模型,以 及p etri 网模型,等等。 (l ) 有限状态自 动机 一个有限 状态机是 描述控制系统的 最常用的模型, 因为系统的行为可以 很自 然地用状态和状态之间的 转换 来描述. 有限 状态自 动机模型可以 用一个5 元式来 表示: (s , 1 , 0 , f, h), 5 , 1 , 0分别表 示所有 状态集, 输入状态集和输出 状态集; 乞 h 分别表示为下一状态函数,和 输出 函数。下 一状态函 数f 定 义为 输入改变后 状 态机的下一个状态, 输出函数定 义为状态改 变后输出的 符号。 由于有限状态机的各 状态 及其转换可以 用来描述控制系统的 行为, 所以 有限 状态机模型成为用来描 述控制 系统最常用的 模型. 对于 控制领域的应用系 统, 有 限 状态自 动机是很好的 描述手 段, 但有限状态自 动机 模型也 有其自 身的 缺点, 系 统的节点数与有限状态机的 状态数为指数关 系, 当节点 数超过一定量 时就出 现状 态 爆炸现象。 1 1 1 2 1 3 . (2) 数据流图 数据流图 是适合用来描述 计算密集型系 统的 模型, 因为数学表 达式可以 很容 易的表示为一个有向 图, 其中节点 表示操作, 而弧表示节点 操作执行的 顺序关系. 形式上 数据流图可以 被描 述为 一个五元式 (n,a, v,v q乃,其中n表示节点 集, a表 示弧的集合, v表示弧 相对应的值, v o表示弧边对应的初始值, f 定 义了 每个节点所进行的 操作。 尽管数据流图比 较适合描 述计 算密集型系 统, 但是并不适 合系统中的 控制部 l 2 分。由于这个原因,数据流图常被用来描述d s p 系统。 ( 3 , 数据/ 控制流图 在数 据/ 控制流图中,节点代表对数据的处理 步骤或者控制条件判断, 而边 则 代 表 数 据和 控制的 相关 性。 它可以 很方 便的 描述 控 制步、 数据流和 并发 等概念, 通常用于高层次综合工具。 数据流图又 可以 分为同 步数 据流图 和动态数据流图。 在同步数据流图中, 数据的流向 在系统运行前就可以 确定, 而在动态数据流图中, 数据的流向 还要受到运行时数据内容的影响。 数据/ 控制流图 适合用于硬件综合 工具, 作为系统层设计描述模型, 数据 / 控制流图的 粒度太细。 (4 ) 任务流图 任务 流图 模型 是由 通信 顺序进 程(c s p) 所 衍生出 来 的 模型。 一 个系 统被 描述 为一些进程的集合, 每个进程相对独立, 可看作一个操作序列,以单向的通道和 同步的协议进行通信。 同步通信和含义是在通信时先使接受方处于接受状态, 再 进入通信过程,通信时进程的运行会暂停. (5 ) 离散事件模型 在离散事件模型中, 系统的状态改变过程通过放置在时间轴上的非同步的离 散事 件进行驱动。 这些事件按照时间的 先后顺序发生作用。 排队系统 ( q u e u i ng system)是离散时间模型的一种。离散事件模型是应用广泛的硬件描述语言 v h d l和veril og的 基础, 特别适合硬件模型中的 信号、同步等行为。离散事件 模型 模拟时需要模拟器, 实现开销较大, 模拟效 率不高。 离散事件模型对于软件 并 不 是合 适的 模型, 常 用于 描述硬 件和 模拟 通信 系 统。 口 41 l 5 ( 6 ) p et r i 网 pe tri网是 近年来 提出 的形 式化 描 述模型 【 16 1 , 在嵌 入式系统建 模中 也得到了 应 用 1 7 。 在pe tri网 模 型中, 包 含 位 置, 标 记, 转 换 等 概 念。 位置 可以 保 存 标 记, 标记 代表流过系统的信息,转换同事件相关。 pe tri 网 可以 对系统的动态特性进 行精确的描述,较好地对数据流和控制流的动态执行过程实施控制。p e t ri网的 理论模型严谨,有形式化的分析手段。 面向 对象的系统级描述方法种类更 加繁多, 20世纪80年代末以来, 随着面 向 对象技术成为研究的热点, 先后出 现了几十 种面向 对象的软件开发方法。 其中, booc h , o m t 和0 0 s e 在面向 对象软 件开 发界 得到了 广 泛的 认可。 这三 种方法也 是u m l 的直 接来 源【 1 8 。 ( 1 ) b o o c h方法 b o o c h 方法是g rady b o o c h 从1 9 8 3 年开始研究,1 9 9 1 年后走向 成熟的一种 方法。 b o och 方法区分系统的 逻辑和物理结构并 描述这两种结构的 静态和动态语 义。b o o c h 方法被区分为微观和宏观的过程。 微观开发过程代表开发者或开发小组的日 常活动。 宏观开发过程是微观开发 过程的控制框架, 这个更广的过程确定一些相应的成果和活动, 以帮助开发小组 进行有效的风险评估以及对开发过程进行修改。 宏观过程侧重风险和结构两个方 面,对日 程、结构和完整性最为重要。 b ooch方法是u m l的主要来源, 其面向 对象的概念十分丰富。 主要概念有: 类、 对象、 继承、 元类、 消息、 域、 操作、 机制、 模块、 子系统、 进程等. 其模 型主 要包括: 逻辑静态视图 ( 类图、 对 象图 ) , 逻辑动态视图 ( 状态转换图、 时态图 ) , 物理静态视图( 模块图、 进程图 ) 以 及物理动态视图。 ( 2 ) o mt方法 o m t( o bj e c t m o d e l i n gte c hn i q u e ) 方 法最 早是由助o m i s , s h an和r u m b a u gh 在1 987 年 提出 的,曾 扩展应用 于关 系 数 据库设 计, r t l n l b a u gh在19 引年正 式 把 o m t应用于面向 对象的分析和设计。 这个方法是在实体关系模型上扩展了 类、 继承和行为而得到的。 o mt方法从三个视角描述系统, 相应地提供了三种模型: 对象模型、 动态模 型、 功能模型。 ( 3 ) 0 0 s e方法 o o s e ( o bj e ct 一 o r i e nted s o ft w a r e e n g i n e e ri n g ) 是i v arj ac o b s o n 在1 9 咒年提出 的 一 种面向 对象开发方法,以 其“ 用 例驱 动(usec as e d ri ve n) ” 思 想而著 称. o o s e方法与上述两种方法有所不同, 它涉及到整个软件生命周期,包括 需求分析、设计、实现和测试等四个阶段。 该方法中的一个关键概念就是“ 用例” 。用例是指与行为相关的事务序列。 因此 每一个用例就是一个外界使用系统的方式, 当 用户给定一个输入, 就执行 一个用例的实例并引发只属于该用例的一个事务。 基于这种系统视图, j ac obso n 将用例模型与其它五种系统模型 相关 联: 需求模型、分析模型、设计模型、实现 模型、测试模型。 以 ) 其他面向对 象建模方法 除了以 上的三 种方法外, 较著 名的 面向 对象方法还有 g o ad 一 年 之 后j 即 ob son 加 入到 他们的 行列, 共同 致力 于 将他 们的 方法 统 一为二义 性较少的u m l o 9 。 均 97年, 对象管理组 织 ( o m g)采 纳u m l 作为 它的 标准建 模语言 ( u m li. 1)。 从 此u m l 就由 独立 于任何开发 商 的对象管理组织所有,并通过严格而有序的o mg过程对其修订和维护。 在u m l 产 生和发 展的 短短几 年时 间里, 它结 束了“ 模型论 战” ( m e th odw ar ) 的时 代, 并成为在软件工业中占 支配地位的建模语言。 u m l不仅是事实上的建 模 语台 标 准, 它 也正 在快 速地成为 法定的 标准。 o m g己 经被国 际 标 准化组织 ( 15 0) 批准为公共可 用规范 ( pas)的 提交者, 并申 请将u m l 规范作为国际 标准。 从u ml 属于o m g之日 起, o mg对u ml的修订就没有停止过,从 1 9 9 7 年 到 现在, o m g 运用其 严格的 修订 过程, 共对u m l 进行了4 次 重大修订 (um l i .1 , u m l 1 3 , u m l 1 4和u m l z .0 ) 。 现在最新的 版本是2 0 0 7 年发布的u m l z . 1 1 版。 下文均以目前 较为通用的2. 0 版本为标准. 24 . zo m l 的基本结构 u m l主 要包括事 物、 关系和图 l 9 . 事 物是 对模型中 最具有 代表性的 成分 的 抽象, 如类、 接口、 协作和用 例等; 关系把事 物结合在一起, 面向 对象技术中, 上 要的关系有依赖、关联、 泛化和实现; 而图是聚集了相关事物的图形表示。图 是u m l 建模活动的最终成果, 它们用来清晰地 表达系统分析设计中 各种复杂的 概念,反映了 在 不同 视角上对系 统 模型的 投影 。 共 有下列五类图 ( 共9 种图 形) , 如图 2 . 1 所示: ,- -。万 . ,l . l 行为图实现图 类图 对 象 图 1 , 实现图 口. 结构图 构件图 顺序图 一 活动图 布署图 静态视图 图21 动态视图 u ml的基本结构 第一类是用例图 ( us e c as e di agram) ,从用户角度描述系统功能, 展现了 一组 用例、 参与者 ( 一 种特殊的 类 ) 及 其它 们之间的 关 系。 用 例图 是最为 核 心的 一类图 , 这些图对于系统的行为进行组织和建模是非常重要的。 第二类是 结 构图, 包 括类图 似as s di a gr a n l ) 和 对象图 ( 。 场 e ct di a g r 翻) 。 类图 展 现了 一组对 象、 接口 、 协 作以 及它 们之间的 关系。 对 象图 是 某一具 体 场景 ( sc e nan o) 下 类图中所建立的事物的实例的 静态 快照。 它们都给出 系统的静态结构视图, 包 含主动类( ac ti v e cl as s) 的类图 给出 系统的 静态进程视图。 第 三类是实 现图, 用构 件图 ( co m pone ntdi ag r am) 描述系统构 件及各构 件之间 的 依赖关系。 布署图 ( d epl oym 呱di a gr am) 展 现了 运 行时 物理节点以 及其中的 构 件 的配置等。 第四 类是 行为图, 包括状态图 ( state 一 ch artdi agram) 和活 动图 ac t iv itydi a g r aj ” ) 。 状态图展现了 一个状态机, 它由 状态、 转换、 事件和活动等组成, 对于接口、 类 或协作的反应式行为建模非常重要。 活动图强调对象间的控制流程, 展现了 在系 统内从一个活动到另一个活动的流程。 第五类是 交互图, 专 注于 描 述 对 象间的交 互 关 系。 顺序图 ( s eq ue nc e di a g r aj m ) 强调对象之间消息发 送的顺序; 协作图 ( collabo ationdi agraln ) 强调收发消息的各 l 6 对象间的结构组织。 顺序图和协作图是同 构的, 这意味着它们是可以 相互转换的。 于 丁 为图和交互图等都专注于系统的动态视图。 其中用例图从使用者 视角出发看待系 统, 结构图 和布署图 着重描述系统的静 态结构,行为图和交互图着重描述系统的动态变化和行为。 24 . 3u m l 的扩展机制 u m l最大的特色莫 过于扩展机制, 极大的 增强了 其适应性, 主要包括两种 扩展机制,分为重型扩展和轻型扩展, 其中重型扩展是指通过元模型来扩展 u m l ,而轻型扩展主要指按照u mlp ro fil 。 的方式进行扩展。 u m l 在嵌入式系 统的使用主要通过后者完成的。 u ml的重型扩展指基于元模型的 扩展,创建一 种新的建模语言,为 u m l 家族 语言 增添一个新成员的方式. o m g的四层元层次体系结构中, m 3 层和m z 层表示了一个基于统一模型定义语言的多语言家族机制, 在o mg标准中, 这个 统一 模型 定 义 语言 就是m o f ( m et a o bj e c t f ac ili ty)1 5 2 1 。 u m l 轻型扩展主要指按照u m lp ro fil e 的方式进行扩展,包括三种扩展机 制: 约束、标记值和构造型。 1) 约束是u ml中限制一种或多个元素语义的规则。约束可以附加在类或对象 上,并且经常附加在关系上。 2) 标记 值是附 属于u m l 元素的性质, 类中的 操作所附加的前置条 件和后置条 件是一种标准的加标签值 3) 构造型是最复杂的扩展机制,它是一种附加在己有模型元素的语义,如果构 造型附 加于某种元素, 则覆盖该元素的 语义, 该 元素成为一种新的元素。 典型的 构 造 型 如为 类定 义 的 元 素 ( m e t a c l as s) , 为 包 之间 的 相关 关 系定 义 的 导 入 (i mport) 等。 在这种情形中, 构造型在原来的元素( 类或相关关系) 中增加了 新的 或另外的 语义。 2 . 5 基 于uml 的 嵌入 式系 统建模 25 . iuml 描述下嵌入式系 统建模的 基本要素 u m l作为面向 对象分析与设计的 标准建模语言, 在嵌入式系统设计领域得 到了 广 泛的应用2 。 兀 211 。 嵌入式系统的设计分 软件和硬件两 个部分,软件 体系 结构 涉及系 统的类, 对象, 结 构和行为, 也包 括系统的通讯协议, 数 据结构 和算 法等问题。而硬件体系结构则包括 输入 / 输出设 备,处理器,存 储器,其他 通讯 接口等。 下图2 一 2 用u m l 类图描 述了 典型的嵌入 式系统设 计所涉及的各种要素。 图2 一 2 嵌入式系统设 计的类图描述 由前文的讨 论,结 合上图的 表现,同 其他建 模语言 相比, u ml用于嵌 入式 系统设计的主要优势有三个方面: (1 ) 统 一 了 静态 结构和动态行为等不同方面的 描述; 硬 2) 以不 同的视角来 构建 模型, 如用例视图、 结构 视图、 布署视图等, 用于理解 和规划系统的不同设计阶段; (3)良 好 的扩展 机制, 扩展的u m l 语言 可为 任意 特定 应用领域建模。 2 . 52u m l 对于嵌入式系统各种重要特征的描述方法 由图 2 一 2可以对基于 u ml的嵌 入式系统建 模方法有大致的了 解, 考虑到 u m l z 乃长 达数千页的用户手册, 接下来 仅从结 构, 行为,时间, 并发, 通信这 五个 最具代表 性的 方面 对基于u m l 的方 法细节展开 介绍。 1)结 构特征 早期的 u ml描述以类和方法为主,没有体系结构方面的支持,使得 u ml 描述与嵌 入式系统实现 之间的 距离太 大。 因此需 要增加一 个层次来描述 各种对 象 是 如何 构成系 统的,这就是结 构特征 描述。 主要 有基于ro o m (reait 而e o bj ee t o ri e n te d m o d e li n g ) 2 2 的u m l 一 rt 方 法 2 3 , 该 方 法 为 系 统 结 构 建 模 增 加了 四 个 新 的 构 造 块 (c 叩 s u le s , p o rt s , c o nne c t o r 和p r o toc o ls ) . c 即 sule s 为 物 理 上 分 布 的 、 并 发 的 系 统 构 件 建 模, 构 件的 内 部 结 构 为s ub 一 c 叩 sules 和 它 们 的 互 连 , 构 件 与 外 部 环境或s ub一 ca p s ul e 的消息 交互只能 通过p ort 来 进行, p ort 是构 件唯一外部可 见 的 事 物 。 一 个c ap s ul e 就 是 一 个 主 动 类 , 它 本 身 的 功 能 通 过 一 个 状 态 机 来 描 述, 如图2 一 3 所示。 c o nne ct or和 pr ot ocol用 于描述从结 构建模的角度 展现的 系统构 件间的行为 p o rt c a p s u le s u b 一 c a p s u le 图2 一 3 l 乃 月 l 一 rt 中的 结构建模 u m l 一 rt 方 法现己 被接受成为u m lz刃标 准中的内 容, 从而加强了u ml 对 结 构化建 模能力 的支持。 u m l z 刀中的组 合结构图 ( c o mpo s i t e s t r u c t u r e s d i a g ram ) 是用于系 统结构建模的图形手段, 它的主要 构造是容器 类, 角色, 端口 和连接 器。 图2 4使用它表现了一个p c机的结构。 图2 一 4 基于u ml 一 rt 的p c机组合结构图 整 个 c o m pu t er是 一个 容 器类(co n tai n er ) , 容器 类中 可以 包含 其它 的类的 实 例,称为角色(p art) , 角色的 端口 之间通过连接器( c o nne ctor) 表示连接关系。图 中di sk , m e m ory 和dis p layc ard 等都 是相 应类的 实例, 它们 都从属于容器 类 c o m p uter ,因 此形象 地体现了 一个计算 机中 各个物 理模块的结 构特征. 2) 行为特征 u ml 通 过 状态 机, 交互 和 过 程 (p ro ce d llr e ) 来 描述系 统的 行为。 (l ) 状态 机描 述 对 象本 身 ( 如类, 用 例 等) 的 行为, u m l的状 态图和 活 动图 都 属 于 状态机 描 述。 u m l 状 态 图是 一 类m e al y 一 m oo re状态图 ,即 在进行 转 换时 或 进入状态时都支持动作, 且支持状态嵌 套。 u m lz.0版本在状态图的基本内 容上 没有大的改变, 只是 提高了 状态图 建 模的 封装能力, 提供了入点(e n l rypoint) 和出 点( ex it p oi nt ) 作 为 子状 态 与 外部的 交互点 , 从 而很好 的 封装 子状 态,为 组织大 型 的状态机模型提供了 方便。 早期的u m l 把活动图定义为 活动到活动的 控制流, 只 是作 为状态机的一种 特 殊情况1 2 4 , 这样的 定义限制了 活动图 的描述能力, 尤其是在 面向 数据流的行 为 描述中显 得支 持不足。 为了使u m l 支持 数据流描述, 扩 展了u m l 一 rt 中的主 动 类 概念 , 称为s h e l l , 共分 三种: c s h e ll( 面向 控制的 ) , d s h e l l( 面向 数据的 ) 和 h sh ell ( 混合的) 。 c s hen 是传统的主动 类概念, 有基于状 态的 行为描述, 并 通过基 于 信号的端口 与外部 通信; d s h el l 则在 行为 描述中包 含了同 步数据流图 (s d f), 采 用 基于 流 (s tr e am) 的 端口。 相应地 , 把 流 ( 模仿 数据流 图中 的基于 标记 ( to ken) 的 通 信方 式) 作为 一种新的通信方式加到了u m l 中。 (2交互建 模的 重点 是可视化对象与 对象 之间所发生的 动作, 通常使用顺序图 和 协作图 。同早期的u ml 相比, u m l z .0允 许更复杂形 式的 消息建模,如迭代 消息, 分支消息和监护消息等, 从而增强了为复杂交互建模的能力。另外还推出 了 一 个全 新 的图 , 称 为 时 序图 ( ti m ingdi a gr am) 124, 实际 上时 序图 的原型 很 早就 出 现过,同硬件期间的信号时序图类似,u ml z 刃的时序图清晰的刻画了对象状态 随时间的 变化特性, 一个时序图 上还可以同时 表现多个 对象, 通常用虚线将他们 分开, 不同的( 并且可能是并发的) 对象之间的通 信还可以 通 过表 示事 件依赖关系 的有向线段清楚的表现出来。 (3)过程(p ro ce d ure ) 是 u m l描述行为细节的详述,过程是由 一系列动作 ( ac tion) 组成的 。 动作成为u ml 用于支 持行为并发的 最小基本 单元。 过 程可以 使 用与 编程语台 类似的方法来描述, 用在方法体,或 者状态机语境内,与 进入/ 退 出 状态, 状态转换或者状态活动 ( d 。 一 ac t iv it y) 相关的可 执行行为 描述等部 分。 过程 和动作 提供了 行为 掐述的 最低成细节, 因而 有助于提供完 整的可执行u m l 模型, 目前o m g已 完成了u m l 动作语义规范, 它定 义了 动 作语言的元模型。这一 规 约创建了完全用u m l 来描述动态动作的 标准方式, 为实 时和嵌入式系统开发 增 加了从u ml模型生成完整实现的可能性。 3) 时间 特征 u m l虽然没有明 确的时间方面的 描述构造, 但对于可能的时间 约束描述, u m l 留下了 足够的空间。 u m l 可以 将时间 标记与消息 序列相关联, 还可以 给一 个消 息附加一个字符串, 在字 符串中 书写复杂的 表达式 (um l 本身并不说明 这些 字符串的语法和语义) 。为了进行详细的定时分析,消息可以进一步详述,如到 达模式和同步模式等。 上 文 提到的u m l时 序图是 对实时系 统建模的 一个重要扩展, 它们 在表现精 确的时序方面狠出色。 在时序图中, 各种常见的 时间相关元素如周期, 时限 , 启 动时间, 执行时间, 停留时间, 松弛时间, 上升 和下降时间以 及抖动等, 即可以 采用字符串形式的注释, 也可以 采用不同的 阴影 模式描述。 当需要在一 个图 上表 现很多任务时, 则 可以 使用一 种简 化时 序图, 它显示出随时间变化执行的多个 任 务,如图2 一 5 所示。 枪仙时间任务协挽时间 ljl; 圈 图2 一 5 有 阴影的 任务 时序图 o m g早在 1 9 9 9 年就开 始征求实时 系统非 功能 性方面, 如可调度 性, 性能 及 时间的 描述建议, 2003 年最终发 布了p ro fil e fo ; sc hedul ab ili ty , p e d 沁 rmancean d ti m e( sp t)2 5, 它给出 了系 统 实 时 方面 建 模 和 分 析 的一 个最小 概 念集 和框架 ; 与 之相关的另一个p r o fi l e 是u m l r o fi l e fo r m o d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论