《嵌入式软件体系结构课件.pptx》由会员分享,可在线阅读,更多相关《嵌入式软件体系结构课件.pptx(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三部分第三部分信息与软件工程学院1嵌入式软件体系结构第1页/共58页核心内容核心内容体系结构的概念软件体系结构的作用软件体系结构的发展历程通用的体系结构基于模型的软件开发嵌入式软件体系结构信息与软件工程学院2第2页/共58页体系结构的概念体系结构的概念信息与软件工程学院3第3页/共58页基本观点基本观点信息与软件工程学院4目前尚没有共识的定义许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画 第4页/共58页来自建筑业的灵感来自建筑业的灵感信息与软件工程学院5n砖瓦房的建造第5页/共58页来自建筑业的灵感(来自建筑业的灵感(2)信息与软件工程学院6n现代建造框架框架第6页/共58页De
2、wayne Perry和和A1ex Wo1f定义定义信息与软件工程学院7n具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工数据构件是被加工的信息连接构件把体系结构的不同部分组组合连接起来。n该定义注重区分处理构件、数据构件和连接构件处理构件、数据构件和连接构件。其思想应用于其他定义中第7页/共58页Kruchten定义定义信息与软件工程学院8n软件体系结构有四个角度概概念念角角度度:描述系统的主要构件及它们之间的关系;模块角度模块角度:包含功能分解与层次结构;运行角度运行角度:描述了一个系统的动态结构;代代码码角角度度:描述了各种代码和库函数
3、在开发环境中的组织。处理处理连接数据第8页/共58页Bass,Ctements和和Kazman定义定义信息与软件工程学院9n一个程序或计算机系统的软件体系结构软件体系结构包括一个或一组软件构件、软件构件的外部可见特性及其相互关系。其中,软件外部的可见特性是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等第9页/共58页软件体系结构的生命周期软件体系结构的生命周期信息与软件工程学院10第10页/共58页软件体系结构的发展方向软件体系结构的发展方向信息与软件工程学院11n各种ADLs(结构描述语言)之间的信息互换:用一种公共形式把各种语言综合起来,使得能够交换各种体系结构描述信息 n设计
4、工具和环境:用工具实现体系结构的描述和分析,以实现阶段成果的自动转换n体系结构再工程:从遗留系统软件代码和系统中抽取结构信息,经过描述、统一、抽象、一般化与实例化等处理,总结出系统的体系结构 体系结构融合体系结构融合第11页/共58页软件体系结构软件体系结构作用作用信息与软件工程学院12第12页/共58页设计计划设计计划信息与软件工程学院13第13页/共58页帮助管理复杂系统的帮助管理复杂系统的抽象框架抽象框架信息与软件工程学院14任务的实时性软件体系结构独立于任何一个现实系统平台,它是一个抽象:现实系统中的许多细节被提炼并封装成软件体系结构中的元素。软件体系结构对管理的另一辅助作用是便于分析
5、矛盾需求之间的平衡点。第14页/共58页软件体系结构软件体系结构发展历程发展历程信息与软件工程学院15第15页/共58页示意示意信息与软件工程学院16第16页/共58页软件体系结构软件体系结构通用模型通用模型信息与软件工程学院17第17页/共58页整体结构整体结构 无结构模型无结构模型信息与软件工程学院18第18页/共58页层次结构层次结构信息与软件工程学院19第19页/共58页层次结构(层次结构(2)另一种体现另一种体现信息与软件工程学院20第20页/共58页层次结构(层次结构(3)示例示例信息与软件工程学院21OFP(飞控程序)第21页/共58页对象结构模型对象结构模型 抽象抽象信息与软件
6、工程学院22第22页/共58页客户机客户机/服务器结构模型服务器结构模型信息与软件工程学院23第23页/共58页客户机客户机/服务器结构模型(服务器结构模型(1)信息与软件工程学院24nnanoOS第24页/共58页客户机客户机/服务器结构模型(服务器结构模型(2)信息与软件工程学院25n安全安全OS 微内核微内核 User kernelHardwareProcessApplicationMemoryMicro-kernelFileNetDisplayRequestReturnSafetySecurity第25页/共58页三层体系架构三层体系架构信息与软件工程学院26第26页/共58页仓库风格
7、:黑板模型仓库风格:黑板模型信息与软件工程学院27共享数据共享数据第27页/共58页虚拟机体系架构虚拟机体系架构信息与软件工程学院28以牺牲运行效率为代价,优化应用的可移植性。一个抽象计算机,有自己的抽象指令解释执行抽象指令(应用),在实际计算机上运行应用可在新环境下运行,不重新编码、编译Basic、Java第28页/共58页虚拟机体系架构(虚拟机体系架构(2)信息与软件工程学院29第29页/共58页虚拟机体系架构(虚拟机体系架构(3):):JVM架构架构信息与软件工程学院30物理系统虚拟指令虚拟机第30页/共58页基于构件的架构基于构件的架构信息与软件工程学院31第31页/共58页云计算体系
8、架构云计算体系架构信息与软件工程学院32全新的基于互联网的超级计算理念和模式,实现需要多种技术结合,需要用软件实现将硬件资源进行虚拟化管理和调度,形成一个巨大的虚拟化资源池,把存储于个人电脑、移动设备和其他设备上的大量信息和处理器资源集中在一起,协同工作计算资源都放到互联网(云)上。计算资源则包括计算机硬件资源(如计算机设备、存储设备、服务器集群、硬件服务等)和软件资源(如应用软件、集成开发环境、软件服务)第32页/共58页云计算体系架构(云计算体系架构(2)信息与软件工程学院33第33页/共58页云计算体系架构云计算体系架构信息与软件工程学院34第34页/共58页MVC模式模式信息与软件工程
9、学院35第35页/共58页模型驱动的模型驱动的软件开发软件开发信息与软件工程学院36第36页/共58页传统设计方法传统设计方法信息与软件工程学院37当面对一个新的业务需求时,总是从先建立数据表等结构开始面向功能的结构化设计方法面向数据流的结构化设计方法面向对象设计方法第37页/共58页存在问题存在问题信息与软件工程学院38系统的状态无法统一设计,导致每个程序员都可以直接操控系统的状态 整个系统状态运行混乱容易将实体表和关系混合,造成分析者视觉混乱,无法正确提炼系统核心实体软件系统的编码架构以数据库为中心:沿用过程化编程风格,难于维护和拓展系统负载集中在数据库服务器端:大型机集中式计算模式,非分
10、布式计算模式容易丧失多层结构引以为豪的中间层,回复到过去的两层结构,不利于软件重用。第38页/共58页模型驱动的软件架构模型驱动的软件架构信息与软件工程学院39起源起源:OMG定义的一个软件开发框架,基于UMLMDA概念概念:以建模行为驱动整个软件开发过程核心思想核心思想:将业务分析与业务实现分离,保持业务逻辑对实现技术和平台的独立性,提高软件质量和可重用度意义意义:提供了一种途径(通过相关的工具)来规范化一个平台独立的系统、规范化平台、为系统选择一个特定的实现平台,并且把系统规范转换到特定的实现平台第39页/共58页模式驱动的设计过程模式驱动的设计过程信息与软件工程学院40确立领域模型及其之
11、间关系;定义业务功能;由程序员分别实现表现层、业务服务层和持久层领域模型相互关联 界面边界界面设计 业务流程业务组件数据持久化存储获取数据 第40页/共58页软件体系结构软件体系结构嵌入式实时模型嵌入式实时模型信息与软件工程学院41第41页/共58页轮询模型轮询模型信息与软件工程学院42第42页/共58页轮询(轮询(2)子轮询结构子轮询结构信息与软件工程学院43第43页/共58页轮询(轮询(2)子轮询程序子轮询程序信息与软件工程学院44print_msg(msg)char*msg;while(*msg!=END_CHAR)if(READY_FLAG&input(PRINTER_PORT)out
12、put(PRINTER_DATA,*MSG+);else poll_others();第44页/共58页轮询(轮询(3)典型结构及应用示意典型结构及应用示意信息与软件工程学院45典型应用典型应用哲学家问题;无线传感信息采集;分时系统;信号(如雷达信号)采集系统;网络服务应答;.第45页/共58页前后台模型前后台模型 中断模型中断模型信息与软件工程学院46前台后台第46页/共58页前后台模型(前后台模型(2):):中断的执行中断的执行信息与软件工程学院47第47页/共58页前后台模型(前后台模型(3)典型系统结构典型系统结构信息与软件工程学院48典型应用典型应用信号(如雷达信号)采集系统;开启节
13、能模式的微控制系统;酒店预订系统、.第48页/共58页前后台模型(前后台模型(4):):重要参数重要参数信息与软件工程学院49性能指标:响应时间 中断延迟时间 吞吐量前后台交互:同步信号 数据交互 第49页/共58页中断中断信息与软件工程学院50中断 指一个必须立即处理的情况时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程一种硬件机制,芯片必须带该机制中断服务一段代码或程序,中断发生时CPU新执行的内容相关概念中断注册中断注册使中断服务程序有效中断优先级中断优先级中断服务程序的紧急程度中断屏蔽中断屏蔽确保重要程序不被中断,以免引发错误中断源中断源可能引起中断的设备或故障第50
14、页/共58页中断中断 处理过程处理过程信息与软件工程学院51(1)中断CPU当前执行(2)保护被中断进程现场。(3)分析中断原因,转去相应的中断处理程序。在多个中断请求同时发生时,处理优先级最高的中断源发出的中断请求。(4)执行中断处理程序(5)恢复被中断进程的现场(6)CPU继续执行原来被中断的进程。第51页/共58页中断中断 现场保存与恢复现场保存与恢复信息与软件工程学院52保存/恢复内容 寄存器;现场保存:r0-r12、LR、CPSRsub lr,lr,#4;由IRQ模式计算返回地址(1)stmfd sp!,r0-r12,lr;保存寄存器和pc(2)mrs r0,cpsr(3)stmfd
15、 sp!,r0;保存CPSR(4);跳转执行相应的中断服务程序ldr r0,=INTOFFSET(5)ldr r0,r0(6)ldr r1,=HandlerEINT0(7)add r1,r1,r0,lsl#2;R0=R1+R2*4,(8)ldr r1,r1(9)mov lr,pc;ISR完成后的返回处(10)mov pc,r1;跳转到ISR(11);恢复现场:r0-r12、LR、CPSRldmfd sp!,r0(12)mrs spsr_cxsf,r0;恢复CPSR(13)ldmfd sp!,r0-r12,lr;恢复寄存器和pc(14)movs pc,lr;返回被中断程序(15)第52页/共58
16、页实时多任务模型实时多任务模型信息与软件工程学院53任务(Task)一个程序运行的实体;资源拥有的基本单位;系统调度的基本单元(若不含线程)实时任务(Real-time Task)一个带有实时性能约束的任务实时操作系统(RTOS)构架系统时从系统中抽象出一个便于上层应用开发的平台,为支持实时多任务应用第53页/共58页实时多任务模型(实时多任务模型(2)信息与软件工程学院54第54页/共58页实时多任务模型(实时多任务模型(3):示例):示例信息与软件工程学院55H/WApplicationDriverBSPOSKernelM/WFLASHRTCSPIPPILCDCANTCP/IPFile SystemGUIPowerManageCORBAJAVADCOMAPP 1APP 2APP n第55页/共58页思考题思考题信息与软件工程学院56教材 p44p45,第1、2、5题第56页/共58页57第57页/共58页58感谢您的观看。第58页/共58页