基于MDA模型驱动架构的林业多维时空可视化研究

2022-05-07 11:19云海英高荣丽
林业调查规划 2022年2期
关键词:时空可视化架构

李 鑫,段 菁,滕 飞,纳 青,云海英,高荣丽

(内蒙古自治区林业信息中心,内蒙古 呼和浩特 010018)

大数据时代推动林业信息化蓬勃发展,林业从“数字林业”向“智慧林业”转变,林业信息化逐渐进入一种新的模式[1-3]。以时空数据为主的林业数据和与之相关联的时空要素数据集越来越庞大,林业大数据已进入全空间信息系统的时代。全空间信息系统是地理信息在大数据时代的拓展和延伸,需要对多粒度时空对象进行展示性、分析性与探索性的表达[4-5]。

鉴于以上时空数据表达的要求,使得林业时空大数据应用与表达的需求变得越来越复杂。因此需要形成一套以多元化认知为主体,在不同的任务目的、空间尺度、观察视角下,满足不同领域用户的应用需求[6]。基于上述内容,提出了基于MDA模型驱动架构技术下的林业多维时空大数据可视化应用系统设计及模型构建,该架构建立的模型完全独立于计算机算法和设计语言,技术实现上不受限制,具备灵活性大,兼容性强的特点,能够满足不同领域用户复杂多变的应用需求[7]。

1 MDA模型驱动架构

MDA(model driven architecture)模型驱动架构由 OMG组织在2002年提出,是贯穿整个软件开发过程的方法,这种方法认为一切事物都可以抽象为模型,独立于计算机算法和设计语言,为软件开发过程提供了一套通用的软件设计开发指导依据[8]。

1.1 MDA模型驱动架构原理

传统的软件开发过程包括需求分析、系统设计、系统开发、系统测试以及系统验收与交付,基于模型驱动MDA架构将开发过程抽象为模型和模型之间的转换过程。MDA模型驱动架构建模[9-11]的核心技术包括元对象设施MOF、公共数据仓库元模型CWM和统一建模语言UML。为了更加准确地描述业务需求,保证构建的抽象模型能够落实到软件开发过程中,MDA架构构建了分级建模体系,将模型分为3类,包括独立计算模型CIM、平台无关模型PIM和特定平台模型PSM[7,16]。MDA模型架构工作原理如图1所示。

图1 MDA模型驱动架构工作原理Fig.1 Working principle of model driven architecture

由图1可见,MDA模型驱动架构将应用程序当做模型,对应最终实现平台的PSM模型。在MDA模型架构开发过程中,需求分析人员应先建立完全不包含技术设计的业务层面的CIM模型,在需求分析阶段对CIM模型进行精化得到PIM模型,然后在对应的传统开发设计阶段,进行PIM模型到PSM模型转换,以及PSM模型到最终程序的转换,对应为传统的开发编码阶段[12]。

1.2 MDA模型驱动架构体系

模型在MDA模型驱动架构开发过程中起着非常重要的作用,模型构建的准确与否将直接影响软件开发的成败。通过在开发阶段分层次的建模,明晰了各类模型的作用,解耦了传统软件模型的复杂性,保护了软件开发各阶段的工作成果。采用UML技术构建MDA三级模型,是软件系统模型的标准方法,其具有语言精炼、全面、伸缩性好、源自时间、公认建模标准等优点[8]。

1.2.1CIM建模方法

CIM模型是需求阶段建立的模型,是对某个领域的一个业务逻辑模型描述,用来描述软件的业务功能需求,是需求分析中逻辑模型的一个组成部分,通常通过UML中的用例图、数据流图描述,有时只通过文本描述也可以实现CIM模型的建立。当一个业务需要系统功能来支持实现时,应基于CIM模型来创建软件模型,实现PIM模型[13]。

1.2.2PIM建模方法

PIM模型是需求分析与设计阶段建立的模型,是对软件系统的描述,不考虑具体的实现方法和技术,重点是描述系统如何更好、更合理、更准确地支撑业务,是系统需求分析中逻辑模型的重要组成部分,主要包括系统数据模型和行为模型,通常通过UML中的类图、流程图、状态图及顺序图描述[13-14]。PIM模型创建要遵循完备性、准确性、一致性、无异议等原则,保证PIM模型向PSM模型转化[12]。

1.2.3PSM建模方法

PSM模型是系统设计和开发阶段建立的模型[15-16],是基于特定实现技术,使用特定平台的术语描述以实现业务的模型,重点是描述系统使用何种技术支撑业务,是MDA为某种特定实现技术量身定做的一种变换规则,更接近系统设计物理模型,是PIM模型到具体平台的映射[17]。

2 林业多维时空可视化需求分析与设计

林业数据以时空数据为主,时空数据是基于统一时空基准,与位置相关联的地理要素或现象的数据集,具有空间维、属性维和时间维等基本特征[18]。林业时空数据包括林业资源调查数据、遥感影像数据、林业地图(集)数据、地名数据及时空数据与大数据融合产生的数据。林业时空大数据除具有一般大数据的特征外,还具备多维时空动态可视化特征[19]。

林业时空大数据可视化是在林业时空数据的基础上,结合目前多维属性关联可视化、时空协同可视化、层次关联可视化等多维时空大数据可视化分析方法[20-21],通过借助地图和图表图形化的可视化手段,实现地图与图表的联动交互,将森林资源、林地等变化、分布、各地区对比等情况通过地理信息直观的进行展现。在地理信息、时间、业务等多维度上按照时间、空间进行数据分析展现,从而清晰有效地传达与沟通信息,从数据获取最大价值[22]。

2.1 林业多维时空可视化需求分析

林业多维时空可视化分析是在基础地图、林业资源数据的基础上,根据业务要求采用GIS地图、趋势图、对比图、饼图、柱图、散点图等多种展现样式,对林业相关部门关注的地图数据及业务数据进行全面展现,实现林业时空数据的综合分析,最终通过多屏、时序、卷帘、统计地图、图表等表达方式清晰展示林业资源的变化情况及趋势,便于决策层对林业的未来保护和规划提供辅助决策。

2.2 林业时空大数据可视化设计

林业时空大数据可视化设计采用J2EE的三层架构体系,利用模型驱动技术的软件开发方法,根据林业时空大数据可视化功能需求设计总体架构,架构分为业务层(CIM模型)、数据层(PIM模型)、技术层(PSM模型)、服务层以及应用层。具体如图2所示。

2.2.1业务层

基于林业时空大数据,开展林业资源空间分析、智能展示、地图+业务分析、趋势分析、分布分析等数据可视化展示。

2.2.2数据层

数据层包含存储的林业监测、规划、管理、生产等各类数据资源。按照数据的形式划分,可分为空间图形数据、业务属性数据以及相关的文档、多媒体数据等;按照数据应用的多样性划分,包括基础地理数据、林业专题数据、公共基础数据、支撑数据库。

2.2.3技术层

采用B/S架构风格,前端采用JavaScript框架,并根据不同的业务需求及展示效果选择适合代码库,本平台选择的代码库是目前比较流行的dojo、echarts、jquery ui,通过dojo加载地图和地图相关功能,echarts实现统计分析图表展示,jquery实现其他功能组件。后端采用Spring MVC框架。地图使用esri的框架ArcGIS for js。

2.2.4服务层

服务层包含用于管理数据模型并为业务应用层提供服务的应用服务器软件,如ArcGIS Server、Portal for ArcGIS和Web server等,同时应用级别的数据接口也在应用服务层提供。通过应用服务为分析展现应用、共享应用、报表应用提供平台支撑。

2.2.5应用层

基于林业时空大数据,可以支持林业资源一张图、统计分析、森林资源展示、分布图展示、林相图展示等应用。

图2 系统设计架构Fig.2 System design framework

3 林业多维时空可视化分析建模与设计

3.1 CIM模型分析

CIM模型分析是对林业时空大数据可视化的业务需求分析与业务建模的过程。根据林业业务部门对林业时空大数据的查询、统计以及对林业时空大数据变化情况及趋势分析的需求,完成业务建模过程,用例图通过形象的方式描述业务模式,通过构建行为者、用例、通信线、系统边界、用例描述、用例边界等元素,清晰地描述系统功能片段[4]。林业多维时空可视化分析CIM模型如图3所示。

3.2 PIM模型构建

PIM模型是系统的业务逻辑在平台无关抽象层上的建模。为了简化问题,将林业多维时空可视化抽象为两部分关键信息(数据层和表示层),分别对这两部分进行建模。基于CIM模型建立的PIM模型见图4[22]。

数据层通过DataModel表示统一抽象数据模型,依据业务数据特点泛化为空间数据模型SpatialDataModel、属性数据模型AttributeDataModel、分类模型ClassifierModel和维度模型DimensionModel。该数据模型可以灵活配置展示的指标和维度。

展示层分地图展示和图表展示,地图模型MapType在本系统中实例化为分布图、林相图、森林资源等地图,各地图配置不同的交互行为Operation和组件Component。

3.3 PSM模型映射

在完成了PIM层的建模工作后,采用PIM-EJBPSM转换规则将PIM映射为响应的EJB平台上的PSM。PIM-EJBPSM的建模规则为:每一个PIM类生成一个主键类、数据类;每个PIM关联变换为EJB关联,并归入一个数据模式;每个PIM属性都变换为EJB数据类的EJB属性;每个PIM操作都变换为EJB组件的操作。转换后的PSM模型见图5[22]。

PSM模型系统基于J2EE平台,采用MVC三层建构模式,即Controller层负责请求转发,Service负责业务逻辑,Dao层进行数据持久化和查询。数据模型贯穿三层架构,并采用统一的抽象数据模型EJBClass,EJBDataClass为数据类型,EJBKeyClass为主键类。

图3 CIM模型Fig.3 CIM model

图4 PIM模型Fig.4 PIM model

图5 PSM模型Fig.5 PSM model

4 林业时空大数据可视化实现

在模型驱动架构基础上,采用J2EE三层架构体系。J2EE作为核心驱动引擎,利用Java 2平台简化了诸多解决方案的开发、部署和管理相关复杂问题的体系结构,提供了对 EJB、Serves、JSP、JDBC、CORBA以及XML技术的全面支持。平台架构前端采用HTML5+JavaScript编程语言,根据前端系统特点选择不同的JavaScript框架。可视化采用ArcGIS for JavaScript 3.34,建立在dojo组件上。

平台架构服务端使用JAVA语言,采用Spring MVC+myBatis搭建基础框架,实现系统的基本业务功能和通用功能,并在依托Spring框架集成流程管理activiti、安全认证shiro、日志管理log4j和缓存redis组件。

从实现角度看,将程序代码与元模型绑定,通过多级抽象,用户的需求变化被控制在模型层面上,变化的波及效应无法冲击到代码层,使得系统具有了运行期动态改变的能力。

5 结论

随着大数据、物联网、人工智能技术的不断发展与应用,对林业时空大数据展现层需求变得越来越复杂。基于MDA模型驱动架构,构建林业多维时空大数据可视化应用软件设计开发方法,优化了传统开发方法中出现的生产效率低、可移植性差、互操作性弱等一系列问题。通过建立CIM、PIM、PSM三级模型,明晰了各类模型的作用,解耦了传统软件模型的复杂性,保证了CIM模型和PIM模型的复用性。本研究已应用于内蒙古林草局林业大数据管理平台系统建设,实际应用表明,与传统的针对模型层的开发相比,该系统具备良好的适应性和扩展性,能够满足不同领域用户复杂多变的应用需求,为未来林业时空大数据建设与应用奠定了良好的基础。

猜你喜欢
时空可视化架构
自然资源可视化决策系统
跨越时空的相遇
思维可视化
功能架构在电子电气架构开发中的应用和实践
构建富有活力和效率的社会治理架构
基于知识图谱的我国短道速滑研究可视化分析
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
玩一次时空大“穿越”
时空守护者之宇宙空间站