论文部分内容阅读
随着计算机应用的快速发展和普及,现代软件逐渐呈现出规模越来越大、复杂性越来越高、生命周期越来越紧、功能要求越来越强等特征,这也从客观上要求必须提高软件的可扩展性。近年来,软件工程领域中出现的渐进式增量开发模型与基于插件的设计方法等技术逐渐成熟起来,为软件的可扩展性设计提供了理论指导和技术支撑;这一技术要求设计人员在软件开发过程中将程序按模块拆分、按模块开发和按模块部署,能够有效地提升软件的可扩展性,同时也降低了软件维护的复杂度。 另外,为了能够充分利用高性能计算机提供的计算、通信等优势,实现高性能数值仿真、满足日益增长的计算和工程实用性需求,各国的科学家均进行了相关研究,并取得一些进展。但是,由于需要支付昂贵的使用费用或是计算精度较低、并行规模受限等缺点,这些研究成果无法满足我国用户的需求。所以,当前我国工业部门面临的尴尬局面是:有硬件,无实用的软件;有国外昂贵的商业软件,无自主研发的高精度、高效率软件。为了能够快速、便捷地集成由不同单位、分不同阶段开发完成的各软件模块,为用户提供丰富的高性能解决方案,进一步提升我国高性能计算应用与发展水平,本文开展了以下几方面的研究内容: 1)面向用户可定制工作台架构研究。在对软件可扩展性和开放服务网关协议(OSGI:Open Service Gatew Initiative)的原理进行研究的基础上,提出并实现了基于插件原理、采用“微内核+插件”为体系结构的软件集成框架,即面向用户可定制工作台软件;工作台软件采用动态的可扩展架构和增量开发的设计模型,能够快速、便捷地集成其他软件模块,具有强可扩展性;软件分为四层,采用明确的模块划分,实现了各模块间的松散耦合效果。 2)基于角色的科学工作流关键技术研究。针对飞机气动优化领域的科学工作流的特点,本文采用基于角色的设计思想,研究并实现了一个面向飞机气动优化领域的科学工作流管理系统SC_SWF。系统是将执行一系列复杂操作的组件与计算模型分离,计算模型控制组件执行的顺序,通过不同组件与计算模型的组合,从而实现了丰富的计算流程的驱动。另外,本文也开展了SC_SWF通用性探索研究。 3)基于志愿计算的指纹自动识别系统的研究。采用志愿计算的模式,研究并实现了基于志愿计算的指纹自动识别系统,系统能够汇聚公安网内的闲置资源参与指纹比对,系统具有Web层、志愿服务层及志愿客户端层三级架构;支持实时比对和指纹库查重两种比对模式。 4)软件高效集成方法研究。对一般软件模块的操作流程进行抽象与归纳,将其求解过程分为前处理、生成控制文件、作业提交与运行、计算过程监控以及后处理五个步骤;在此基础上,开展了软件高效集成方法的研究,并通过将各模块封装为符合OSGI规范的插件,然后以组件的形式实现每个步骤的功能的方式,最终实现了SC_SWF、CCFD求解器和相场模拟三大类软件的高效集成。 5)工作台软件高效便捷的安装与部署方法研究。为体现文章研究内容的整体性,针对软件在部署过程中的实际问题,开展了工作台软件高效便捷的安装与部署方法的研究。将不同的软件模块及其所依赖的模块打成一个包,根据安装环境配置相应的脚本文件,有效地屏蔽了不同软硬件平台的异构性,从而实现了工作台软件的高效便捷安装。