新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用DSL语言来实现MES系统建模平台

利用DSL语言来实现MES系统建模平台

作者:时间:2010-08-27来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/151613.htm

  数据模型的元素包括表模型和视图模型,是对业务功能单元的底层功能的封装,它针对数据库表和视图映射对象,包括常用的增删改查等基本操作和属性。元素的建立可以通过图形化的方式配置数据库表和视图,并调用数据库生成模板生成到数据库,也可以从数据库中添加已存在的表和视图。数据模型文件的存储格式为XML文件格式。数据模型配置完成后,即可根据当前生成引擎创建数据模型对应运行代码文件,即读取表或视图模型对应的模板,并根据数据模型配置文件中的配置信息替换模板相应信息,等生成的代码准备好后,可对其进行编译,编译成功,则可在指定位置生成相应的动态链接库。

  后台服务包括服务方法及方法内容的配置,是对业务功能所要执行的一系列活动的封装,就是根据业务逻辑来组合数据模型元素的操作,即配置各相关数据模型元素操作的执行顺序及关联关系,创建业务功能服务及方法。由于通过模型驱动可提供业务敏捷性,故能灵活地适应不断变化的业务,一旦需要,就可以对现有服务进行必要的更改,从而达到业务驱动服务的目的。后台服务文件的存储格式为XML文件格式。后台服务配置完成后,即可根据当前生成引擎创建服务所对应的运行代码文件。

  前台页面是业务的展现层,具体体现为与最终用户交互的界面。创建前台功能页面,可通过向导的方式完成对页面信息的配置。前台页面部分有三种预制页面布局模板,分别为单表结构、上下主从结构和左树右表主从结构。用户操作时,将调用后台服务来完成业务功能。

  3

  数据模型、后台服务这两部分都是通过微软提供的来定义、生成和定制图形,从而真正的用模型来完成驱动软件开发的目的。完整的数据模型和后台服务设计过程一般包含两个阶段:

  其一是为数据模型和后台服务的文法设计域类、域关系及其相应的图形表示。简单地说,就是为数据模型和后台服务设计图形、连接器和底层的元模型(包括文字性属性)。

  其二是写代码模板,即使用存储在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特定领域语言实现基于模型驱动的,该方法可以快速的将业务需求转化为模型,缩短整个系统的开发周期,大量节约人力物力资源。但该建模还存在一定的缺陷和不足,就是对一些特别复杂的业务需求不能直接采取配置的方式来实现,而必须通过自己手写代码或者存储过程等才能实现。下一步工作的重点就是解决掉这些缺陷和不足。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭