您的位置 首页 电子

根据DSL的MES体系建模渠道的设计方案

以往MES系统项目的开发都是各个项目独立地进行设计和开发,而这些项目中有一部分需求和功能有相同的地方,这样,就会在一定程度上造成重复劳动和资源浪费。为此,笔者将业务需求转化为模型.

0 导言

以往MES体系项意图开发都是各个项目独登时进行规划和开发,而这些项目中有一部分需求和功用有相同的当地,这样,就会在必定程度上构成重复劳动和资源糟蹋。为此,笔者将事务需求转化为模型,开发了一套依据模型驱动的体系渠道,一起搭载多种职业模型包。这样,当项目运用时,就能够依据需求对模型进行简略修正,然后直接满意项目需求。别的,此渠道仍旧保存有快速的二次开发接口,这样不光能够缩短整个体系的开发周期,并且能够许多节约人力物力资源。该体系渠道首要包含体系管理、建模渠道、作业流、事务体系等。本文首要叙述建模渠道的规划与完结办法。

1 DSL概述

Visual ST udio DSL(Domain-Specific Language,特定范畴言语)东西是微软公司针对特定范畴开发而专门规划的。特定范畴开发是一种用于处理重复发生的问题的办法,是能够运用DSL东西作为主动生成相同或类似代码的一种办法。DSL是指软件开发中出于某特定考虑而规划的比较小的、方针清晰的言语。它们的作用是运用某特定范畴里惯用的符号或许表明法对该范畴的实体或许流程进行建模。

DSL东西供给有一种图形化的操作办法。开端创立范畴特定言语(DSL)是环绕DSL规划器进行的,规划器的功用是规划和发生DSL,或许规划依附于可生成代码DSL的模型。

域模型(domain model)是DSL界说的中心部分。域模型就像DSL的语法,它界说了域类(domain class)和域联系(domain relatiONship),即界说了组成模型的要素,并给出了将这些要素互相联系在一起的规矩。域模型和表明是别离的,它仅界说了DSL所要处理的概念层上的内容,而并没有给出如安在图中表明这些概念。在DSL规划器中,图形和域类的对应联系是十分直观的,有多种根本的图形和衔接线类型可供挑选,在界说了一组图形之后,还要界说一组图形的映射联系,也便是界说用哪个图形或许衔接线来显现某个域类或许域联系。表明层和底层模型相别离的规划,能够在不改动模型的情况下,合理改动域模型的表明办法。

在用DSL规划器完结DSL的界说后,将从这个DSL界说生成修正和处理DSL实例东西的代码,然后就可经过写一些附加的代码,来增强所发生的规划器的功用。

2 模型驱动的建模渠道规划

模型驱动便是对企业的事务需求进行剖析后,经过友爱的图形化用户交互界面将企业的事务需求转化为模型,图1为其建模渠道示意图。这样,经过完结各种事务模块(例如:设备管理)体系功用(例如:设备停用)的建模装备,体系就可将其主动转化为机器可读和高度笼统的渠道无关模型,这些模型独立于完结技能和言语,并以规范化的XML办法贮存。体系可依据模型生成依据SOA的运转代码,并可经过发布处理方案的办法来将树立好的事务模型集成到体系运转渠道之中,最终在体系运转渠道上运转。建模渠道可支撑运用进程中动态调整流程、动态装备事务和展示信息,可完结软件的装备与信息管理的一体化运用。当事务发生改变后,也能够在体系中修正原有的事务模型偏从头发布。其方便地改动特色,能够真实完结快速满意客户事务改变的需求。

建模渠道的规划首要分为三部分:数据模型、后台服务和前台页面,图2所示为建模渠道的模型图。

数据模型的元素包含表模型和视图模型,是对事务功用单元的底层功用的封装,它针对数据库表和视图映射目标,包含常用的增修正查等根本操作和特点。元素的树立能够经过图形化的办法装备数据库表和视图,并调用数据库生成模板生成到数据库,也能够从数据库中添加已存在的表和视图。数据模型文件的存储格局为XML文件格局。数据模型装备完结后,即可依据当时生成引擎创立数据模型对应运转代码文件,即读取表或视图模型对应的模板,并依据数据模型装备文件中的装备信息替换模板相应信息,等生成的代码准备好后,可对其进行编译,编译成功,则可在指定方位生成相应的动态链接库。

后台服务包含服务办法及办法内容的装备,是对事务功用所要履行的一系列活动的封装,便是依据事务逻辑来组合数据模型元素的操作,即装备各相关数据模型元素操作的履行次序及相关联系,创立事务功用服务及办法。因为经过模型驱动可供给事务敏捷性,故能灵敏地习惯不断改变的事务,一旦需求,就能够对现有服务进行必要的更改,然后到达事务驱动服务的意图。后台服务文件的存储格局为XML文件格局。后台服务装备完结后,即可依据当时生成引擎创立服务所对应的运转代码文件。

前台页面是事务体系的展示层,详细体现为与最终用户交互的界面。创立前台功用页面,可经过导游的办法完结对页面信息的装备。前台页面部分有三种预制页面布局模板,分别为单表结构、上下主从结构和左树右表主从结构。用户操作时,体系将调用后台服务来完结事务功用。

3 建模渠道的完结

数据模型、后台服务这两部分都是经过微软供给的DSL来界说、生成和定制图形言语,然后完结真实的用模型来完结驱动软件开发的意图。完好的数据模型和后台服务DSL规划进程一般包含两个阶段:

其一是为数据模型和后台服务的DSL文法规划域类、域联系及其相应的图形表明。简略地说,便是为数据模型和后台服务言语规划图形、衔接器和底层的元模型(包含文字性特点)。

其二是写代码模板,即运用存储在DSL中的实例信息来发生对应的代码。它首要包含编译生成动态链接库dll文件和表视图模型生成到数据库两部分。代码生成通常是依据TextTemplate (.tt)文件的。

创立数据模型DSL(DataModel)需求创立一个Minimal Language模板处理方案,它是包含一个矩形方框类型和一个连线类型的言语模型。后台服务DSL(Service)需求创立一个Task Flow模板处理方案,类似于UML活动图的言语模型,其方框能够被放置在泳道内。DataModel和Set-vice被称为DSL的根。通常情况下,当DSL在规划器中显现时,渊源整个图表明。一起,它也是图保存后生成文件的XML树的根。DSL规划器主窗口中也包含两个泳道(列):在左边的是域模型,包含域类和域联系;右侧界说的是将显现给用户看的图形和衔接器。规划域类和域联系时,数据模型包含表、一般视图(装备办法构成视图)、自界说视图(手艺书写SQL句子构成视图)域类及其一些特点,后台服务包含开端、完毕、添加、删去、修正、查询等操作域类及域联系,并与图形(界说的建模言语的图形标识)映射好,然后在DSL资源管理器中添加到东西箱。数据模型实例文件以XML文件格局存储,元素的表明选用DSL界说中的称号小写格局,而衔接则选用元素称号的语法途径办法。

数据模型和后台服务DSL规划器的代码是依据DSL的界说文件发生的。点击Visual Studio主窗口处理方案资源管理器东西栏上的Transfo-rm AllTemplate按钮,可发动代码的主动生成,DataModel和Serice处理方案下的GenerateCode文件夹下有许多扩展名为.tt的文件模板文件,每个.tt文件都有一个主动发生的隶属文件,这些隶属文件中的一切代码都会被从头生成。此外,还可经过对生成代码添加自界说代码来完结验证束缚或许扩展生成规划器的功用。

前台页面的中心是页面信息装备。在信息装备页面中,首要应输入页面编码等信息,然后挑选页面所属布局模板类型,再单击“下一步”,进入页面面板装备页面。添加页面时,后台程序首要读取页面装备文件的形式文件,然后依据所选模板类型读取相应的模板规范装备文件(如单表模板),一起生成页面的GUID标识号;如需修正页面装备,后台程序首要要读取页面装备文件的形式文件,然后读取页面对应的装备文件。不管是添加或修正,此刻都会生成一个大局数据集gConfigFileDs。尔后,单击完结按钮,后台程序会将修正后的gConfigFileDs写回到页面装备文件(该文件的称号为CUID),并调用Lib目录下的解析器生成主JS文件。

页面布局模板类型现在可支撑如下三种:

(1)单表结构

页面上只放置一个一般的网格面板,可供给对单表的增修正查功用。

(2)上下主从结构

页面上下各放置一个网格面板,其间上方为主表网格面板,下方为从表网格面板。主表网格面板有增修正查功用,从表网格面板有增修正功用。当单击挑选主表网格面板的某一记载行时,从表网格面板就会显现与主表记载相关的一切从表记载。

(3)左树右表主从结构

该结构页面左方放置一个树面板,右方一个网格面板,其间左方面板用于主表显现,右方面板用于从表显现。单点击选中树面板上的某一结点,右方网格面板就会显现与此树结点相关的一切从表记载。

4 完毕语

本文使用DSL特定范畴言语完结依据模型驱动的MES体系建模渠道,该办法能够快速的将事务需求转化为模型,缩短整个体系的开发周期,许多节约人力物力资源。但该建模渠道还存在必定的缺点和缺乏,便是对一些特别杂乱的事务需求不能直接采纳装备的办法来完结,而有必要经过自己手写代码或许存储进程等才干完结。下一步作业的要点便是处理掉这些缺点和缺乏。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/188532.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部