版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. A-7E项目背景简介项目背景简介2. A-7E项目的构架商业周期项目的构架商业周期3. A-7E项目的构架项目的构架3.1 分解结构分解结构3.2 使用结构使用结构3.3 进程结构进程结构 A-7E项目是美国海军研究实验室的降低软件成本项目是美国海军研究实验室的降低软件成本项目(项目(Software Cost Reduction),由美国海由美国海军支持军支持 该项目开发人员想通过该软件的开发实际验证软件该项目开发人员想通过该软件的开发实际验证软件工程原理(比如信息隐藏)适用于高性能嵌入式实工程原理(比如信息隐藏)适用于高性能嵌入式实时系统,实际上该项目是一个飞机航空电子系统设时系统,
2、实际上该项目是一个飞机航空电子系统设计项目计项目 该项目于该项目于1977年开始,年开始,1987年终止,历时年终止,历时10年年 A-7E是一种单座、舰载攻击机,于是一种单座、舰载攻击机,于20世纪世纪60、70至至80年代服役于美国海军年代服役于美国海军A-7E海盗海盗II型攻击机型攻击机A-7C(A-7E的前身)是世界上最早正的前身)是世界上最早正式生产并装备了计算机以辅助导航和投式生产并装备了计算机以辅助导航和投弹的机型之一弹的机型之一A-7E是一种航空母舰舰载机是一种航空母舰舰载机某种战斗机驾驶舱某种战斗机驾驶舱通常而言,飞机上的计算机都采用专用的计算通常而言,飞机上的计算机都采用专
3、用的计算机设备机设备A-7E装备的是装备的是IBM生产的专用计算机生产的专用计算机战斗机投弹瞄准装置战斗机投弹瞄准装置航空电子设备航空电子设备 Parnas的目的的目的:通过该项目的开发证实其:通过该项目的开发证实其理论研究成果适用于需求灵活、内存占用理论研究成果适用于需求灵活、内存占用少、开发时间短的实时软件系统少、开发时间短的实时软件系统 项目指导思想项目指导思想:留下一个完整的工程模型,:留下一个完整的工程模型,把相关的文档、设计方案、代码、方法和把相关的文档、设计方案、代码、方法和原则都公之于众,供相关人员模仿使用原则都公之于众,供相关人员模仿使用1. 获得了一个完整的获得了一个完整的
4、需求文档需求文档,该文档在今,该文档在今天的实时、嵌入式软件系统的开发中仍然天的实时、嵌入式软件系统的开发中仍然是适用的是适用的2. 该项目在当时该项目在当时已经开创性地采用了很多先已经开创性地采用了很多先进的计算机软件工程方法进的计算机软件工程方法,包括面向对象,包括面向对象的设计方法(信息隐藏),使用域模型来的设计方法(信息隐藏),使用域模型来处理系统未来变化的适应性,以及创建了处理系统未来变化的适应性,以及创建了一个标准的、可重用的参考构架一个标准的、可重用的参考构架1. 信息隐藏信息隐藏是软件开发中可行的和明智的设是软件开发中可行的和明智的设计准则计准则2. 从实现系统质量指标的角度看
5、,从实现系统质量指标的角度看,认真设计认真设计构架层次上的各种结构可以达到事半功倍构架层次上的各种结构可以达到事半功倍的效果的效果A-7E航空电子系统的构架商业周期航空电子系统的构架商业周期最终用户最终用户 海军飞行员海军飞行员开发组织开发组织 美国美国 海军研究实验室海军研究实验室设计师经验设计师经验 学术的学术的 对其它系统地了解对其它系统地了解技术环境技术环境 信息隐藏信息隐藏 协同顺序进程协同顺序进程设计师所受的影响设计师所受的影响需求需求(质量属性)(质量属性)可修改性可修改性 性能(实时性能(实时)设计师(小组)设计师(小组)构架构架 模块结构模块结构使用结构使用结构进程结构进程结
6、构A-7E 航航空电子空电子系统系统A-7E项目的项目的主要功能需求主要功能需求:1. 读取各种传感器的数据读取各种传感器的数据2. 更新座舱中显示设备的显示内容更新座舱中显示设备的显示内容3. 辅助飞行员导航和正确投弹辅助飞行员导航和正确投弹A-7E项目的项目的主要质量需求主要质量需求1. 实时性能实时性能2. 针对期望变更的可修改性针对期望变更的可修改性3. 可靠性可靠性1. 采用采用IBM公司生产的小型专用计算机,公司生产的小型专用计算机,内存大小为内存大小为64K,没有编译器,使用汇编没有编译器,使用汇编语言编写程序语言编写程序2. 计算机将与飞机上装备的近计算机将与飞机上装备的近24
7、种航空电种航空电子设备进行通信,这些航空电子设备有可子设备进行通信,这些航空电子设备有可能更改能更改1. 用于测量气压和风速的飞行探针用于测量气压和风速的飞行探针2. 可按方位角和仰角调整的前视雷达。该雷达能可按方位角和仰角调整的前视雷达。该雷达能够计算飞机与目标之间的直线距离够计算飞机与目标之间的直线距离3. 报告对地速度和偏航角的多普勒雷达报告对地速度和偏航角的多普勒雷达4. 惯性测量设备(惯性测量设备(IMS),该设备报告沿,该设备报告沿3个直个直角坐标的加速度角坐标的加速度5. 能够报告机翼下能够报告机翼下6个炸弹托架的载弹情况的传感个炸弹托架的载弹情况的传感器器6. 能够测量距离地面
8、高度的雷达高度计能够测量距离地面高度的雷达高度计1. 地图显示设备地图显示设备2. 正面显示器正面显示器3. 小键盘和小键盘和3个小型的字母数字显示窗口个小型的字母数字显示窗口4. 各种指示灯、仪表盘和声音信号各种指示灯、仪表盘和声音信号1. 软件在正面显示器上显示导航信息和操作软件在正面显示器上显示导航信息和操作指导、指引飞机飞向指定的方位指导、指引飞机飞向指定的方位2. 系统提供系统提供20多种导航模式供飞行员选择多种导航模式供飞行员选择3. 该软件至少有该软件至少有5种不同的方法计算飞机的种不同的方法计算飞机的飞行高度,有飞行高度,有20多种实时(多种实时(40ms)计计算的投弹方式算的
9、投弹方式关键数据的可靠性实施策略关键数据的可靠性实施策略A-7E软件所满足的质量目标包括:软件所满足的质量目标包括:1. 实时性实时性 软件系统每秒钟显示内容的更新次数软件系统每秒钟显示内容的更新次数和武器投放的计算速度和武器投放的计算速度2. 针对期望更改的针对期望更改的可修改性可修改性 对武器、平台、显示屏上符号的变更,对武器、平台、显示屏上符号的变更,以及通过键盘输入新的内容容易更改以及通过键盘输入新的内容容易更改 一个系统的构架一个系统的构架由一个或多个结构构成由一个或多个结构构成 为了实现为了实现A-7E系统的功能及质量目标,系系统的功能及质量目标,系统确定了构架层次上的统确定了构架
10、层次上的3个主要结构个主要结构A-7E软件构架软件构架分解结构分解结构使用结构使用结构进程结构进程结构 在构架中,每个在构架中,每个结构由元素及元素之间的关系结构由元素及元素之间的关系构成构成 A-7E项目的三种结构及其元素项目的三种结构及其元素结构结构元素元素元素间的关系元素间的关系影响对象影响对象分解结构分解结构模块模块是一个子模块是一个子模块更改容易程度更改容易程度使用结构使用结构过程过程要求正确出现要求正确出现实现子集和增量式实现子集和增量式开发的能力开发的能力进程结构进程结构进程,进程,线程线程同步、互斥,共同步、互斥,共享享CPU可调度性;可并行可调度性;可并行实现性能目标实现性能
11、目标 分解结构分解结构将系统的功能划分为可以独立实现将系统的功能划分为可以独立实现的模块的模块 一个模块可能是一个整体,也可能包括若干一个模块可能是一个整体,也可能包括若干个子模块,直到每个模块容易实现个子模块,直到每个模块容易实现 信息隐藏信息隐藏的原则要求各个模块仅通过某个确的原则要求各个模块仅通过某个确定的公共参数集合进行通信,每个模块提供定的公共参数集合进行通信,每个模块提供了一组可以由系统中其他模块调用的访问过了一组可以由系统中其他模块调用的访问过程程1. 每个模块结构应足够简单,能够被充分理解每个模块结构应足够简单,能够被充分理解2. 应该能够在无需了解其他模块的具体实现,应该能够
12、在无需了解其他模块的具体实现,并且不影响其它模块的行为的情况下修改某并且不影响其它模块的行为的情况下修改某个模块的实现个模块的实现3. 对设计进行修改的容易程度应该与该修改可对设计进行修改的容易程度应该与该修改可能发生的程度有合理的对应关系能发生的程度有合理的对应关系4. 应该能够把要对软件系统做的比较大的改动应该能够把要对软件系统做的比较大的改动分解成对各个模块的一组独立的修改分解成对各个模块的一组独立的修改分解结构的文档被称为分解结构的文档被称为模块指南模块指南 A-7E系统分解结构承载了系统可修改性系统分解结构承载了系统可修改性的质量目标的质量目标目标目标实现方式实现方式易于改变:武器、
13、平台等易于改变:武器、平台等信息隐藏信息隐藏了解未来可能的改动了解未来可能的改动正式的评审过程,借助相关正式的评审过程,借助相关领域专家的经验领域专家的经验为各开发小组分配任务,为各开发小组分配任务,使各小组之间交流最少使各小组之间交流最少按层次结构组织模块,每个按层次结构组织模块,每个开发小组开发一个二级模块开发小组开发一个二级模块及其所有子模块及其所有子模块1. 软件与之交互的硬件发生了变化软件与之交互的硬件发生了变化2. 所要求的外部可见行为发生了变化所要求的外部可见行为发生了变化3. 完全由该项目软件设计人员做出的某个决完全由该项目软件设计人员做出的某个决定发生了变化定发生了变化这些变
14、化是构架设计时考虑的因素,直接这些变化是构架设计时考虑的因素,直接影响着系统模块的划分影响着系统模块的划分A-7E系统分解结构的第一级模块划分系统分解结构的第一级模块划分A-7E系统系统硬件隐藏模块硬件隐藏模块行为隐藏模块行为隐藏模块软件决策模块软件决策模块 硬件隐藏模块硬件隐藏模块包括当硬件的任何一部分被具包括当硬件的任何一部分被具有不同的软有不同的软/硬件接口但具有相同能力的单硬件接口但具有相同能力的单元代替时需要修改的过程元代替时需要修改的过程 该模块实现了虚拟硬件该模块实现了虚拟硬件 该模块的一个子模块是扩展的计算机模块,该模块的一个子模块是扩展的计算机模块,该模块隐藏了处理器的细节该
15、模块隐藏了处理器的细节硬件隐藏模块硬件隐藏模块设备接口模块设备接口模块扩展的计算机模块扩展的计算机模块前视前视雷达雷达模块模块正面正面显示显示模块模块飞行信飞行信息显示息显示模块模块数据数据模块模块程序程序模块模块虚拟虚拟内存内存模块模块硬件隐藏模块分解结构硬件隐藏模块分解结构 行为隐藏模块行为隐藏模块包括当影响系统行为的需求包括当影响系统行为的需求发生变化时需要修改的过程。比如增加了发生变化时需要修改的过程。比如增加了一种导航模式,飞向员需要对此模式进行一种导航模式,飞向员需要对此模式进行选择选择 该模块应主要实现系统的需求隐藏。这些该模块应主要实现系统的需求隐藏。这些过程决定了应发送给由硬
16、件隐藏模块提供过程决定了应发送给由硬件隐藏模块提供的虚拟输出设备的数据的虚拟输出设备的数据行为隐藏模块行为隐藏模块功能驱动模块功能驱动模块共享服务模块共享服务模块前视前视雷达雷达模块模块正面正面显示显示模块模块飞行信飞行信息显示息显示模块模块模式模式确定确定模块模块I/O支持支持模块模块行程行程指挥指挥模块模块行为隐藏模块分解结构行为隐藏模块分解结构 软件决策模块软件决策模块将基于数学定理、物理事实、将基于数学定理、物理事实、编程思想的软件设计决策隐藏起来编程思想的软件设计决策隐藏起来 该模块所隐藏的信息在系统需求描述中是该模块所隐藏的信息在系统需求描述中是没有记载没有记载的的 这些模块的修改
17、很可能是由于外部因素的这些模块的修改很可能是由于外部因素的变化而希望提高该模块的性能或精度变化而希望提高该模块的性能或精度软件决策模块二级分解结构软件决策模块二级分解结构软件决策模块软件决策模块应用应用数据数据类型类型模块模块过滤过滤器行器行为模为模块块数据数据银行银行家模家模块块物理物理模型模型模块模块软件软件实用实用程序程序模块模块系统系统生成生成模块模块软件决策模块的部分三级划分软件决策模块的部分三级划分软件决策模块软件决策模块应用数据类型模块应用数据类型模块物理模型模块物理模型模块数值数数值数据类型据类型模块模块状态转状态转换事件换事件模块模块飞机飞机动作动作模块模块地面地面特征特征模
18、块模块武器武器行为行为模块模块 应用数据类型模块是对硬件隐藏模块中计应用数据类型模块是对硬件隐藏模块中计算机扩展子模块的补充算机扩展子模块的补充 应用数据类型模块提供了适用于应用数据类型模块提供了适用于航空电子航空电子系统应用的数据类型系统应用的数据类型,例如飞行高度,角,例如飞行高度,角度等度等 应用数据类型模块所隐藏的是变量及用于应用数据类型模块所隐藏的是变量及用于实现对这些变量操作过程中的数据表示,实现对这些变量操作过程中的数据表示,比如数据单位这个表示内容隐藏在该模块比如数据单位这个表示内容隐藏在该模块中中 应在何时更新数据项的值是由数据使用者应在何时更新数据项的值是由数据使用者的属性
19、(如数据的精度要求)和数据生产的属性(如数据的精度要求)和数据生产者的属性(如数据更新的频率)决定的者的属性(如数据更新的频率)决定的 数据银行家模块存在于数据生产者和消费数据银行家模块存在于数据生产者和消费者之间,起到者之间,起到中间缓冲中间缓冲的作用的作用数据生数据生产者产者数据银数据银行家行家数据消数据消费者费者 过滤器行为模块包含实际过滤器的数字化过滤器行为模块包含实际过滤器的数字化模型。它们被其它过程使用,来对可能的模型。它们被其它过程使用,来对可能的噪声数据进行过滤噪声数据进行过滤 该模块隐藏的是在对基于采样数据的值进该模块隐藏的是在对基于采样数据的值进行估计和对错误进行估计所采用
20、的模型行估计和对错误进行估计所采用的模型 比如,得到了各种不同的飞行高度数据,比如,得到了各种不同的飞行高度数据,如何选择正确的高度数据如何选择正确的高度数据 物理模型模块主要实现对物理模型及其计物理模型模块主要实现对物理模型及其计算机实现的隐藏算机实现的隐藏 物理模型是对不能直接测量但可根据观测物理模型是对不能直接测量但可根据观测值使用数学模型估算值的抽象,比如对于值使用数学模型估算值的抽象,比如对于估算投弹到命中目标的时间估算投弹到命中目标的时间 软件实用程序模块包含原本要由多个程序软件实用程序模块包含原本要由多个程序员编写的实用例程(公共函数库)员编写的实用例程(公共函数库) 这些例程包
21、括数学函数,资源监视程序和这些例程包括数学函数,资源监视程序和所有模块都已完成加电初始化时发出信号所有模块都已完成加电初始化时发出信号的过程的过程 系统生成模块主要隐藏直到系统生成时才系统生成模块主要隐藏直到系统生成时才作出的决策(晚绑定)作出的决策(晚绑定) 这些决策包括系统生成参数值的确定和对这些决策包括系统生成参数值的确定和对某一模块不同实现方案的选择某一模块不同实现方案的选择 该模块的过程并不在机载计算机上运行,该模块的过程并不在机载计算机上运行,而是在为此机载系统生成代码的计算机上而是在为此机载系统生成代码的计算机上运行运行 使用关系使用关系使用结构的思想是建立在使用关系的基使用结构
22、的思想是建立在使用关系的基础上的。如果过程础上的。如果过程A的运行必须以过程的运行必须以过程B的的正确运行为前提,则我们说过程正确运行为前提,则我们说过程A使用过程使用过程B 使用关系和调用关系并不完全相同使用关系和调用关系并不完全相同1、B过程是错误处理模块,不是使用关系过程是错误处理模块,不是使用关系2、A过程依赖过程依赖B过程的结果,是使用关系过程的结果,是使用关系目标目标如何实现如何实现以增量形式构建以增量形式构建和测试系统的各和测试系统的各个功能个功能为程序员创建为程序员创建“被允许使用被允许使用”结构,限制每个程序员所能使结构,限制每个程序员所能使用的过程用的过程针对平台变更进针对
23、平台变更进行设计行设计限制直接使用平台的过程的数限制直接使用平台的过程的数量,比如硬件平台的数量量,比如硬件平台的数量生成规模合理的生成规模合理的使用关系指南使用关系指南在适当的情况下,将使用关系在适当的情况下,将使用关系定义为模块之间的关系定义为模块之间的关系使用过程使用过程: 一个过程在一个过程在 被使用过程被使用过程 EC: Extended Computer ModuleNoneDI: Device Interface Module ADC: Air Data Computer IMS: Inertial Measurement SetEC.DATA, EC.PGM, EC.IO, A
24、T.NUM PM.ECMPM.ACMFD: Function Driver Module ADC: Air Data Computer FunctionsEC.DATA, EC.PAR, AT.NUM DB.DI.ADC, DI.ADC, FBSS: Shared Services Module PNL: Panel I/O SupportEC.DATA, EC.PGM, EC.PARDB.SS.MODE, DB.DI.PNL AT: Application Data Type Module STE: State Transition EventsEC.DATA, EC.PGMEC.PAR 扩
25、展计算机模块扩展计算机模块中的所有过程都不使用其它任何模中的所有过程都不使用其它任何模块中的过程,其他模块则都可使用计算机扩展模块块中的过程,其他模块则都可使用计算机扩展模块 应用数据类型模块应用数据类型模块中的过程仅能使用扩展计算机模中的过程仅能使用扩展计算机模块中的过程块中的过程 设备接口模块设备接口模块中的过程仅使用扩展计算机模块,应中的过程仅使用扩展计算机模块,应用类型模块和物理模型模块中的过程用类型模块和物理模型模块中的过程 功能驱动模块和共享服务模块功能驱动模块和共享服务模块的过程可以使用数据的过程可以使用数据银行家模块,扩展计算机模块,应用数据类型模块银行家模块,扩展计算机模块,
26、应用数据类型模块和设备接口模块的过程和设备接口模块的过程 任何过程都任何过程都不得使用功能驱动模模块不得使用功能驱动模模块中任何过程中任何过程 只有只有功能驱动模块功能驱动模块的过程可以使用共享服务模块的的过程可以使用共享服务模块的过程过程FD:功能驱动模块功能驱动模块SS:共享服务模块共享服务模块使用结构的分层图使用结构的分层图AT:应用数据类型模块应用数据类型模块EC:扩展的计算机模块扩展的计算机模块DI:设备接口模块设备接口模块 分层结构分层结构是使用结构的归纳,但是它不能是使用结构的归纳,但是它不能取代使用结构,因为在分层结构中并没有取代使用结构,因为在分层结构中并没有表示可能有哪些子
27、集,而使用结构规定了表示可能有哪些子集,而使用结构规定了特定的子集特定的子集 以子集的方式进行系统设计的好处是,可以子集的方式进行系统设计的好处是,可以交付由不同子集构成的系统,便于系统以交付由不同子集构成的系统,便于系统的增量开发的增量开发 A-7E系统的扩展计算机模块采用了支持多系统的扩展计算机模块采用了支持多处理能力的虚拟编程接口处理能力的虚拟编程接口 该软件系统是以一组该软件系统是以一组协同顺序进程协同顺序进程来实现来实现的,这些协同顺序进程保持同步关系、以的,这些协同顺序进程保持同步关系、以协调对共享资源的使用协调对共享资源的使用 进行结构支持了高性能的质量属性进行结构支持了高性能的
28、质量属性目标目标如何实现如何实现实现从输入到输实现从输入到输出的映射出的映射每个进程都作为一个采样、输每个进程都作为一个采样、输入、计算和输出的周期来实现入、计算和输出的周期来实现满足实时要求满足实时要求通过进程结构确定进程,并进通过进程结构确定进程,并进行脱机调度行脱机调度及时提供运行量及时提供运行量大的计算结果大的计算结果利用后台计算,并在需要时将利用后台计算,并在需要时将最新结果返回最新结果返回1. 让功能驱动模块计算该航空电子软件的让功能驱动模块计算该航空电子软件的输出结果,然后输出结果,然后定时定时更新正面显示器更新正面显示器2. 用进程作为一种隐蔽机制来实现某些访用进程作为一种隐蔽机制来实现某些访问过程,比如在问过程,比如在后台后台进行大量的运算进行大量的运算Periodic process: /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年神东煤炭人员招聘参考题库及答案详解
- 2026年重庆旅游投资集团有限公司人员招聘考试备考题库及答案详解
- 2026年化学原料和化学制品制造行业投资价值分析报告及未来五至十年成本优化与效率提升
- 2026年电视行业市场调查研究报告及未来五至十年垂直整合与横向拓展
- 2026年中国石油物资有限公司人员招聘考试备考题库及答案详解
- 2026年上海隧道工程股份有限公司人员招聘考试备考题库及答案详解
- 2026年渔业产品批发行业分析报告及未来五至十年竞争格局分析
- 2026年中药材仓储行业供需格局研究报告及未来五至十年自主创新与安全可控
- 2026年中国电信内蒙古分公司人员招聘考试题库及答案详解
- 2026年长城能源化工有限公司人员招聘笔试参考试题及答案详解
- 【第一次月考】2026 秋七年级上册道法第一次月考卷(统编版素养测评)
- 2026年非融资担保服务行业市场深度调查及投资规划报告及未来五至十年区域市场差异与机会
- 大型机械设备运行路线及作业位置承载能力校核方案
- 2026-2027学年四年级上册数学第一次月考分层训练测试完整版试卷
- 中国树莓果汁市场销售格局与未来经营效益盈利性研究报告
- 2026年南宁市青秀区社区工作者招聘笔试备考题库及答案详解
- VDA6.3-2026版 过程审核完整培训教材
- 高中主题班会 珍爱生命远离毒品课件-高中主题班会
- 供应商绩效考核方案实施细则
- 比亚迪造车工作制度
- 新时期高校统战工作:问题剖析与创新发展路径探究
评论
0/150
提交评论