面向对象的方法和设计模式在EPAPS中的应用

点赞:6468 浏览:20535 近期更新时间:2024-02-07 作者:网友分享原创网站原创

摘 要:本文介绍了面向对象的方法和设计模式在ELIS海洋石油成像测井地面后处理平台EPAPS中的应用,及EPAPS的主要设计思想.

关 键 词 :测井系统 数据后处理 面向对象 设计模式


中图分类号:TE32 文献标识码:A 文章编号:1672-3791(2014)05(a)-0104-03

面向对象的方法和设计模式在EPAPS中的应用参考属性评定
有关论文范文主题研究: 关于软件设计的论文范文资料 大学生适用: 大学毕业论文、学院学士论文
相关参考文献下载数量: 37 写作解决问题: 学术论文怎么写
毕业论文开题报告: 论文提纲、论文设计 职称论文适用: 刊物发表、职称评中级
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 最新题目

ELIS海洋石油成像测井系统(Enhanced Logging Imaging System)是中海油田股份有限公司自主研发具有自主知识产权的用于海上石油勘探开发的电缆测井成像系统,它主要由地面采集系统、井下仪器和数据解释处理三个部分组成.

EPAPS即现场快速数据解释处理平台,主要功能包括数据加载,数据的处理和显示、出图、文件格式转换等.EPAPS采用了彻底的面向对象设计理念,妥善利用了多种先进的软件设计模式,整体架构简洁明了,在软件功能性、可维护性、可扩展性和模块互操作性等诸多工程要素上均有着非常出色的表现.

1.面向对象设计理念

面向对象的设计理念主要包括抽象、封装、继承、多态,EPAPS灵活运用了这些面向对象的设计理念对EPAPS进行了合理的分层、分包、建立类的层次结构和良好的体系架构,使EPAPS可复用性、可维护性、可扩展性都得到了极大的提高.

2.设计模式

要使系统最大程度的适应需求的变更或新增,就必须在其要实现的宏观业务逻辑的抽象复用上下功夫.而设计模式就是综合运用面向对象技术和特性来提高业务逻辑可复用性的常用方法和经验的提取和汇总.掌握23种设计模式的关键是理解它们的共通目的:使所设计的软件系统在一般或特定(系统将来在特定点上需要扩展的可能性大)场景下,尽可能的对扩展开放,对修改关闭.即面对新需求或需求变更,容易开发独立于既有代码的新代码接入到现有系统或对现有代码做可控的少量修改,而不是在现有代码基础上做大量的增、删、改.为了这一目的,EPAPS使用了多种设计模式提高软件平台的可扩展性、灵活性、可插入性.

3.具体设计

3.1 总体架构

图1是EPAPS软件的总体架构,它反映了EPAPS软件的总体构成和各顶层软件包之间的相互关系.

从图1可以看出,EPAPS应用软件架构体现了层次化设计的思想,共有四个层次五大模块.

第一层是基础设施软件包,该软件包定义了复杂应用的基本构件、工具,包括UserMath基本数学库、Common.Spec基本设施公共库规范、Common公共设施基础库等.

第二层是表象和数据的基础,由交互式二维图形应用基础类库GP和专业数据Data两大软件包构成.Data软件包定义了测井数据的基本规范,并实现了常用的数据格式.同时Data软件包还设计了数据管理及专业数据处理的规范和基本功能模块.

第三层是测井应用程序架构层,本层定义了专业测井应用的基本规范和基础构件.

第四层是具体执行各种用户功能的应用层.

上述四个层次中低层软件包是上层软件的基础,为上层软件包提供支持或规范.

3.2 UDF统一测井数据框架

目前测井数据格式没有统一的标准,国内外每个测井装备供应商都有一到多种自定义的测井数据格式,再加上一些研究机构和软件供应商定义的数据格式,使得常见的测井数据格式多达二十余种,下表列举了其中的一部分(见表1).

为了支持大多数测井数据格式的访问和转换,我们综合分析了实时测井数据采集和解释处理的各项业务需求,深入研究了多种代表性的测井数据格式(包括DLIS)的逻辑结构及具体内容,设计了UDF统一测井数据框架.

UDF统一测井数据框架给出了如下规范:

(1)测井数据的对象模型.

(2)测井数据对象的属性规范.

(3)测井数据对象的接口规范.

(4)测井数据格式插件及管理规范.

下面的类图反映了UDF的对象模型:

从图2可以看出,UDF支持如下类型的数据对象:

(1)支持帧结构的测井数据(即通常所说的测井曲线,可以是多维的).包括等深度及不等深度的测井数据、深度采样的测井数据、时间采样的测井数据等等.

(2)支持二进制流数据.

(3)支持文本数据.

(4)支持XML数据.

(5)支持结构化的参数数据.

(6)支持各种专业数据(如刻度信息、仪器信息、处理信息等).

上述数据对象模型基本覆盖了实时测井采集和解释处理各方面的业务需求.

另外,UDF的插件机制为用户开发各种具体数据格式的驱动接口提供了很好的解决方案.

3.3 表象体系架构

EPAPS的表象对象体系负责各种专业数据的显示和人机交互,它构建于专业图形应用软件包GP之上,具体应用采用绘图页插件形式实现,这些绘图页插件都位于EPAPS的应用层.这种设计架构保证了 EPAPS的工能性和可扩展性.

图3反映了EPAPS表象体系的底层架构.

图3中的GP.Core定义了基本的图形数据结构和基础的绘图操作,GP.Dock提供了多窗口的锚定支持功能.GP.UILite, GP.UIEx,GP.UICommon提供了一系列的图形交互控件,GP.Spec定义了表象体系规范,GP.Draw是二维图形应用程序的框架类库.

VisualObject是基本可视对象,绘图页DrawCanvas、绘图文档DrawDocumentBase两个上层对象提供了可视对象的两级管理,足以应对一般图形应用的各种需求.

绘图页模板CanvasTemplate和文档模板DocumentTemplate以工厂类的方式提供了绘图页和文档的创建机制,为动态创建用户开发的具体绘图页和文档对象提供了支持.

图形用户交互工具对象IUiTool及其管理器UIToolManager将用户交互和图形显示进行分离,这样交互工作比较专一,扩充起来也更加方便.例如TextEditor配合UitGeneric交互工具对象可以完成各种文字编辑输入工作.

测井绘图时各种测井应用软件的一个重要功能,EPAPS使用插件机制在GP基础上开发的EPAPS.Canvas.WellLog动态链接库专门负责测井绘图工作,图4是EPAPS.Canvas.WellLog的对象类结构(见图4).

4.结语

EPAPS测井后处理系统软件使用了面向对象思想及多种成熟的软件设计模式,这些模式或用来实现某种用户功能、或用来简化总体架构,或用来提高系统的扩展性,或用来改善系统性能,下表对本系统所使用的几个主要软件设计模式做了个简单的总结(见表2).