软件体系结构205_第1页
软件体系结构205_第2页
软件体系结构205_第3页
软件体系结构205_第4页
软件体系结构205_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、第 5 讲:管道过滤器结构 2.4 管道过滤器结构 2.4.1 管道过滤器结构组成原理 1. 设计思想 2. 结构组成 3. 技术特征 4. 优缺点评价 2.4.2 管道过滤器结构应用实例 1. 编译器流水线结构 2. 集成计划管理的数据流模型 3. 工作流元过程模型12.4 管道过滤器结构学科关联:编译器,UNIX管道,结构化应用2.4.1 管道过滤器结构组成原理 PF结构:基于功能抽象与IPO控制的数据流系统1. 设计思想:问题抽象流程化,处理过程并行化 (1) 针对问题域中的过程性描述进行建模元素抽象, 包括数据的输入过程,处理过程和输出过程 过程性问题的分解同样具有层次性, 如事务级和

2、活动级;概念层、逻辑层和物理层 过程的组织通过流模型构造思想来实现(2) 每一数据处理流程的组织,可以是顺序性或同时性的; 形成串行和并行两种基本的控制关系(串行并行)22. 结构组成:基于“独立部件”抽象原理和过程耦合机制结构组织策略:竖式上下分布;卧式左右分布 独立部件:携带IO端口的独立功能分块过滤器; IO端口是直接针对临近过滤器之间的连接关系而言的 过程耦合:功能块间可存在三种数据流耦合方式 串行连接(F1F2F4);并行连接(F1F2 F3); 回环连接(F5F3) 嵌套,选择3讨论1:结构组成单元 (1) 过滤器:具有一组输入输出端口的数据处理部件; 输入端口称数据源,输出端口称

3、数据池流式控制结构,用于转换或改变数据流端口类型及作用:数据源:提供同一类型的数据序列的发送功能 主动式:数据源主动地把数据推入过滤器(触发) 被动式:根据过滤器的需要被动提供数据(被调用)数据池:从过滤器接收处理结果 主动式:数据池主动从过滤器中拉出数据(主动输出) 被动式:由前序过滤器把数据推入(被触发)结构组合与选择策略:查询模式;中断模式4IO激活控制方式: 后序部件从过滤器中取出数据(被动式) 前序部件向过滤器推入数据(被动式) 过滤器不断读入写出数据(处于激活状态;主动式)过滤器类型:(模型复杂性:类型控制方式)被动式: 不拥有独立进程 需通过直接的过程函数调用来激活工作过程 具有

4、非渐进式计算单元特征主动式: 通过独立进程结构并发流来完成工作 自带任务激发机制,无需外界消息触发 具有渐进式计算单元特征和连续工作能力缺点:被动式重组困难;主动式设计复杂5(2) 管道:具有数据流耦合与端接口行为能力的连接实体; 可作为前后序过滤器之间IO流的导管或传输通道 封装了数据访问路径及角色功能的软总线关键特征:连接方式可从过滤器计算逻辑中独立地分离出来;形成物理级的连接器,而非逻辑级的关系语义与过程模型的本质区别数据以流块单元的形式封装,以打包的形式传送;因而数据和传输顺序是不能改变的管道类型: 同步控制式:是一个先进先出的数据缓冲器, 可用于主动式过滤器之间的连接 过程调用式:是

5、一个直接的数据传输通道, 可用于被动式过滤器之间的连接6讨论2:管道过滤器特征技术(1) 推式机制:源端漏端主动式数据源 拉式机制:源端漏端主动式数据池(2) 事务控制方式 同步:有时片设置,需等待需返回,(1:1)映射 嵌套控制流,与逻辑关联 异步:无时片设置,不等待不返回,(1:m)映射 选择控制流,或逻辑关联 并发:同一起点的多源性操作,(m:1)映射, 控制异步性,资源封锁机制 并行:不同起点的过程重叠,(m:m)映射, 控制同时性,资源共享机制pushpull7讨论3:常见的管道过滤器结构类型 管线(pipelines)结构:过滤器的IO约束是一个线性序列即只有单输入和单输出的拓扑结

6、构形式(常用)实例:顺序表,队列变异:一对多形式的IO关系;如树型结构,有向图(环)用于改善结构的流能力,IO具有非线性约束性质 命名管道(namedpipes)结构:亦称类型管道, 过滤器之间所传送的数据具有严格的数据类型定义, 并且通过对管道的命名来完成数据传送过程的封装特性:具有信道加密特性,可用于数据安全性要求高的场合缺点:难以维护,难以重用83. 技术特征:IPO流结构过程调用同步控制机制 过滤器必须是独立部件,各过滤器之间不能共享数据 临近过滤器间只受IO影响,不受对方控制作用的影响 非临近过滤器之间不共享任何运行状态 每次变换处理后的过滤器均回到统一的原始等待状态 过滤器的设计遵

7、循黑盒法原理(难点) 不需知道上下游过滤器的语义约束互不产生约束关联 只考虑各自的输入输出形式 自身的计算逻辑不依赖于各过滤器的渐进式执行顺序 被动式结构采用过程调用机制,不支持渐增计算模式; 主动式结构采用进程调度机制,可支持渐增计算模式 管道与过滤器的功能可明显分离,互相独立94. 优缺点评价优点: 支持结构重组和部件重用设计;数据格式一致和接口规范一致的过滤器之间,可任意连接组合 支持快速原型系统的设计实现,可作为领域体系结构风格 系统易于维护和升级;只要遵循IO约定,则易于更换部件 支持并行处理和过程的并发执行, 以及特定的过程分析,如吞吐和死锁分析缺点: 易于导致批处理;即管道传送数据流的功能退化 不适合处理交互式应用(因过滤器的转换处理特征) 不适合大量数据共享的应用(共享代价高且不灵活) 独立部件间数据传送效率低; 因而并行运行难以提高整个系统的运行效率102.4.2 管道过滤器结构应用实例典型应用:传统编译器结构;集成计划管理模型;工作流元过程模型1. 编译器流水线结构1970年,程序编译被看作是一个顺序处理过程;编译程序模型设计成一个典型的流水线结构,这是从顺序批处理结构进化而来1980年,中间表示法(如分析树)成为研究重点,它产生编译的开始阶段,在编译过程中执行,在结束时被抛弃整个模型仍保留顺序数据流结

温馨提示

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

评论

0/150

提交评论