




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物理研究中软件框架的开发与应用,中国科学技术大学近代物理系 虞孝麒 金 革 王 坚 周永钊 苏春晓 梁昊,物理研究中软件框架的开发与应用,一、软件开发中重用(Reuse)技术 二、面向对象的软件框架 三、大天区面积多目标光纤光谱天文望远镜(LAMOST)中观测控制系统(OCS)软件框架的开发 四、ROOT系统及其应用介绍,一、软件开发中重用(Reuse)技术,重用技术在软件开发中重要性 IT产业: 减小开发的工作量 缩短软件开发周期,产品及早投入市场 可靠性和可维护性得到保证 增强市场竞争力,一、软件开发中重用(Reuse)技术,重用技术在软件开发中重要性 科研领域 长生命期的设施特别 要求软件的灵活性、健壮性和可扩充性 ,重用技术是保证软件这些特性的关键之一 “The risk associated with complex control systems can be great, and there have been recent examples where the utility of scientific facilities has been limited by inflexible system architectures.”,一、软件开发中重用(Reuse)技术,重用技术的发展 程序和函数库传统的面向过程 类库(Class Libraries) 面向对象,代码级的重用 框架(Framework) 面向对象,不仅代码级的重用,而且分析和设计的重用,二、面向对象的软件框架,面向对象的框架定义及其与类库的主要差别 定义:在给定问题领域范围内建立起可重用解决设计问题而互相间协作的一组类的集合(它典型包括了具备缺省行为的大量对象) 类库与框架的主要差别: 行为相对于协议 “不是访问我们,而是我们访问你” 实现相对于设计,二、面向对象的软件框架 1.框架与类库的主要差别,1)行为相对于协议 类库是待开发程序中要访问的一个个行为的集合; 行为的集合 框架不仅仅是行为的集合,而且包括了支配着把这些行为组合在一起方法的一组规则,或称为协议。 行为的集合组合方法的规则,二、面向对象的软件框架 1.框架与类库的主要差别,2) “不是访问我们,而是我们访问你” 使用类库时,用代码产生对象实例并访问它们的成员函数,建立对象实例之间的联系,保证它们协调一起工作 。 用框架开发应用软件,编写用来划分软件各部分之间承担任务的程序,不用规定不同部分应该如何协调一起工作,由框架访问该程序就完成了应用软件的开发。,二、面向对象的软件框架 1.框架与类库的主要差别,3) 实现相对于设计 类库只重用实现,而框架同时重用设计 框架包含了一组相互关联类一起工作的方法,在一个给定领域范围中,解决了大量具体问题通用的设计,二、面向对象的软件框架,框架的主要优点 减少编程的代码 增加代码的可靠性和健壮性 更能保证一致性和模块化 提供了通用领域的问题(如用户接口,图形界面或网络操作等等)服务,二、面向对象的软件框架,框架的开发过程 领域分析 需求捕获和分析阶段 设计阶段 实现阶段 验证和确认阶段,二、面向对象的软件框架,框架的开发过程,二、面向对象的软件框架 3.框架的开发过程,领域分析 在给定的领域范围内,确定所有应用程序公共的类和对象 建立描述人们在领域中所用概念的领域模型,提供二个文本: 领域规模能使开发者清楚地了解哪些需求在 领域范围之内 静态模型确定领域中最重要的对象和类,二、面向对象的软件框架 3.框架的开发过程,需求捕获和分析阶段 目的 :捕获所有真实的需求,描绘出满足这些需求的理想系统的轮廓 活动 :捕获和分析 产生 : 需求模型规定了加在系统上的需求,提出对系统的约束或者是系统应提供的服务,产生需求规范和用例(use case)模型 静态对象模型由真实世界的抽象、高级抽象和这些对象之间关系组成 数据流模型 建立数据流图,二、面向对象的软件框架 3.框架的开发过程,设计阶段 分析模型是从概念角度来评述系统,不考虑实现系统的环境,用它作为编写源代码的基础是不合适的,因而在分析阶段之后,进入设计阶段,在设计阶段中,为了给实现提供坚实的基础,必须改进对象,扩展模型。 包括两个子阶段 结构设计定义对象和它们的相互协作 详细设计更详细地描述类和它们的方法,二、面向对象的软件框架 3.框架的开发过程,实现阶段 框架的实现是为框架重用者提供所要开发的应用软件公共部分 框架的实现是用执行语言来确定和描述带有属性和方法的所有类,完成在设计阶段中确认的对象、关系和它们的互相合作 实现的输入是类的详细说明、它们的接口和由执行语言体系所规定的外部定义。 实现过程中对每一个类进行类外部接口和类内部方法的实现两步处理。 其输出是一组已实现了的类的集合,二、面向对象的软件框架 3.框架的开发过程,验证和确认阶段 验证的目的是确定正在建立的系统能否满足领域分析或分析阶段中所提出的需求,验证是回答是否在正确地建立产品。 确认的目的是检验建立中的产品是否真正是所需要的产品,确认是回答正在建立的产品是否适用。 这个阶段的重要活动就是测试,该活动可分为单元测试、集成测试和回归测试,同时还包括代码检验、评述和统计测试等 采用“用例(Use Case)”作为工具完成集成测试是一种很好的方法,二、面向对象的软件框架,框架的重用 一个框架的成熟还依赖于基于框架的开发应用软件的重用过程,在重用过程中,不断发现框架不完善之处,对框架进行改进,产生新的框架版本。不断重用不断地更新,使框架在相应的应用领域中完善,同时也有可能延伸和扩展它的应用范围。 框架可以看成是一种具有生产能力的软件,建立框架的目的就是为了在给定领域中为开发大量应用软件提供基础。,二、面向对象的软件框架,框架的重用 框架二种重用方法 结构驱动(或称为集中于框架继承)方法,这种方法主要是依靠继承机制开发应用软件 数据驱动(或称为集中于框架组合)方法,这种方法是通过框架产生对象的实例,然后进行组合来开发应用软件,二、面向对象的软件框架 传统的应用软件与基于框架的应用软件开发过程,三、LAMOST中OCS软件框架的开发,LAMOST 及其OCS LAMOST是大天区面积多目标光纤光谱天文望远镜的缩写,一种大视场和大口径兼备的反射式施密特光学望远镜,它的有效口径为4米,视场为5度,能同时对4000个天体目标进行光谱观测,在LAMOST建成之后数年内,天文学家将利用LAMOST望远镜对北天区的2万平方度中的107个天体目标进行巡天光谱观测,三、LAMOST中OCS软件框架的开发 LAMOST 及其OCS,LAMOST望远镜控制系统由望远镜控制子系统(TCS)、焦面仪器控制子系统(ICS)、数据处理子系统(DHS)、观测战略子系统(SSS)等多个复杂的子系统和观测控制系统(OCS)组成,只有将各子系统有机地组织起来,协调一致地执行观测运行,才能可靠和有效地完成LAMOST 的观测任务。 OCS是一个高度自动化的、复杂的巨型望远镜控制系统, 它的主要任务是管理、协调和控制各子系统操作,使整个望远镜系统有条不紊地、按计划、有步骤地进行天文观测。OCS将是一个通过子系统之间、运行模块之间的软硬件接口构成的多层次的、集中与分散相结合的观测控制系统 。,LAMOST望远镜控制系统结构图,三、LAMOST中OCS软件框架的开发,LAMOSTOCS的开发 采用面向对象框架的开发方法 实现OCS的概念模型 完成需求分析通过建立用例模型,捕获和确定OCS的需求(迭代和渐增的) 建立OCS的分析模型通过设计OCS的对象图及相应交互视图 建立OCS的设计模型通过设计OCS的类图及相应的交互视图,状态机视图 完成实现模型和实施模型 通过建立实现视图和实施视图 完成测试模型,三、LAMOST中OCS软件框架的开发,OCS层次 OCSApp 公共部分 其他应用,OCS层次,OCS设计步骤,设计OCSApp的基本构架和功能,如访问控制,应用间的相互通讯,日志记录等。 设计几种OCS的典型应用模块(基于OCSApp)。在OCS中有三种典型的应用模块:GUI应用/控制台,可执行脚本,中间件。 在1、2的基础上设计OCS应用,合成2种设计的模块,增加该有的功能。如基于控制台的观测,有计划的观测等。,四、ROOT系统及其应用介绍,ROOT系统概况 ROOT系统是基于面向对象编程风格的集数据获取、数据分析、数据模拟为一体的一个基础的框架体系。 ROOT系统具有面向对象编程的所有特征,用面向对象语言C编写,由包括310个类的24种框架集成而成,同时提供了与PAW和GEANT等已在高能物理界应用多年的系统之间接口,可以很方便把原系统中信息转换到ROOT系统中来进行处理和操作。 ROOT系统为事例产生、事例重建、探测器模拟、数据分析和数据获取提供一组公共的工具和特性 上世纪九十年代中叶开始,以NA49实验面对大数据量(PB量级)和复杂的数据结构为背景开发的。,ROOT为基础的框架体系,四、ROOT系统及其应用介绍,ROOT系统的主要构件(components)有: 层次式面向对象数据库 C+解释器 先进的统计分析工具 可视化工具 一组丰富的有完全清楚定义的I/O的容器类 一组数量很大的GUI类 自动建立HTML文档设施 运行时刻对象检查能力的设施 客户/服务器网络连接类 支持共享存贮器设施 远程数据库存取机制 在UNIX、LINUX和 WINDOWS等操作系统环境下运行机制 等,The ROOT System,四、ROOT系统及其应用介绍,ROOT系统发展概况 ROOT系统最早在CERN重离子实验NA49中开始建立数据分析平台,短短六年期间ROOT系统从0.50版本,经过多次更新,目前已推出了3.09版本 从1999年以来,每年举行一次ROOT国际学术会议,今年10月14日16日在CERN举行了第四届ROOT国际会议,在这次会议有43篇专题报告。 其应用范围从数据分析拓展到数据获取在线监测、物理和探测器模拟、事例和数据文档的建立以及数据获取系统中数据流的控制等 ;几乎国际上高能粒子物理实验和核物理实验组都在不同程度上应用了ROOT系统,它逐步而且必将成为高能粒子物理和核物理研究中软件主流框架体系。 ROOT系统的应用已经拓展到其他物理研究中,甚至也引起非科研领域的兴趣。,四、ROOT系统及其应用介绍,ROOT系统在惯性约束聚变(ICF)研究中应用 以强激光为驱动器的惯性约束聚变(ICF)研究目前已经成为当今世界上最重要的前沿科学研究领域之一,ICF研究的对象是激光打靶产生的高温高密度等离子体,ICF实验诊断的目的之一是通过测量等离子体的状态,来揭示靶等离子体的特征和行为,进而获得驱动器-靶最佳耦合设计的依据和选择实现热核点火与自持燃烧的最佳途径。 由于等离子体现象的复杂性,获得正确的测试结果必须由理论分析、数值模拟和诊断技术的紧密结合来保证。 实验数据分析处理系统是ICF实验诊断研究重要组成部分,我们应用ROOT框架系统开发了ICF诊断实验数据处理系统,由数据处理类库和一系列数据处理应用软件组成。,ICF诊断实验数据处理系统类库和应用程序结构,四、ROOT系统及其应用介绍 4.ROOT系统在ICF研究中应用,四个层次,按照竖虚线分割的区域看 最左边的一列是基础类。其中主要部分是ROOT基础类,整个ICF数据处理类库都是建立在ROOT提供的框架和系统资源之上的。数学处理扩充类实现ROOT没有提供的部分资源;ICF图象处理基础类是通过对ROOT图象处理类继承和扩充得到的;靶参数和激光参数管理类放入基础类中。 紧接着的一列是ICF数据处理基础类,由单探
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025海南三亚市崖州区国有资产管理开发有限责任公司招聘笔试历年参考题库附带答案详解
- 2025贵州雍康文旅集团有限公司招聘8人(1月7日-16日)笔试历年参考题库附带答案详解
- 2025-2030中国喷漆设备行业发展分析及发展趋势预测与投资风险研究报告
- 2025-2030中国台式电动冲床市场发展动向与竞争趋势预测报告
- 2025-2030中国发光电化学电池市场战略规划及发展战略研究报告
- 2025-2030中国医用热密封器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国分马力电机市场消费需求调查及运营格局分析报告
- 2025-2030中国代餐粉市场消费前景分析及未来需求量预测报告
- 2025-2030中国二手汽车电商市场经营效益及前景动态洞察报告
- 天津2024入团考试试题及答案
- 《中国旅游地理》模块一 项目一解读中国旅游地理(教案) -《中国旅游地理》(高教版第一版)
- MOOC 集成电路设计基础-华中科技大学 中国大学慕课答案
- 可持续发展的措施和目标
- 成人疫苗接种知识讲座
- 2024云南省福利彩票发行中心公开招聘编制外人员20人高频考题难、易错点模拟试题(共500题)附带答案详解
- 第五版急危重症护理学实践与学习指导试题题库及答案
- 无人机技术助力船舶与港口管理
- 护理质量指标测试附有答案
- 学校工作亮点汇报课件
- JJG 443-2023燃油加油机(试行)
- 离心式压缩机-新课件
评论
0/150
提交评论