|
技术文库首页
|
编程
|
IC
|
晶体管
|
精解
|
中频
|
其它
|
电源
|
基础
|
电脑
|
无线
|
液晶
|
微波
|
空调
|
手机
|
|
热水器
|
电动车
|
LED屏
|
焊机
|
您现在的位置: 华玉生活网 >> 技术文库 >> 基础 >> 正文>> 繁體中文

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

  O 引言

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


瑞达币购买
桂山秋竹_唐年桂2023年
桂北云雾图_唐年桂202

  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回基础】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    本站公告

    • 扫一扫,打赏给我们,谢谢!

      本站2016年12月16日起取消ruida.org.cn域名,该域名正式作废,该域名发布任何信息与本站无关。


      启用ruida.orghy928.net域名;

      瑞达网,瑞达科技网宣

    附页内镶内容
    健康养生 商场新品 股市K线、指标知识
     六种药酒配制法[11月7日]
     国公酒_散风祛湿,舒筋活络[3月8日]
     气血双补党参、麦冬、黄芪炖[11月29日]
     参桂再造丸_臂丛神经痛[11月29日]
     臂丛神经痛该怎样治疗[11月29日]
     舒筋络酊、百宝丹擦剂、参桂[11月29日]
     臂丛神经痛针灸治疗[11月29日]
     枳椇子_利水渗湿药[11月29日]
     三七、丹参、西洋参_颈椎病[8月17日]
     枸杞泡姜芽(嫩姜)的做法及功[5月20日]
     瑞达币购买
     桂山秋竹_唐年桂2023年新作品
     桂北云雾图_唐年桂2023年新作品
     广西2019年《高考指南》+《招生计
     金士科前置过滤器
     金牛前置过滤器
     USB口24系列编程器第二版含USB延
     液晶电视、液晶显示器图纸、维修
     彩电、显示器、DVD、EVD打印机等
     高清CRT彩电、显示器图纸刻录 4G
     [理财]各种短视频赚钱方法
     [会员]专业交易实战控制系统
     [理财]1分2分5分硬币回收价格表(20250123)
     [理财]1分2分5分硬币回收价格表(20230928)
     [理财]1分2分5分硬币回收价格表(20230624)
     [理财]2022 年新版1分2分5分硬币回收价格表…
     [理财]微信收款码如何开通商业版收信用卡费…
     [指标]R平方_基金指标
     [指标]标准差_基金指标
     [指标]平均回报_基金指标
    装修案例 网站建设 电器维修
     一般水电安装几个常用尺寸[1月29日]
     三相电表接法及度数的正确读…[5月8日]
     万能通用卧室房门锁更换步骤…[2月22日]
     乳胶漆的八大施工步骤及涂刷…[2月14日]
     旧墙翻新步骤及注意事项[2月14日]
     屋面防水施工工艺流程及注意…[1月16日]
     专利产品“防污吸气帽”新产…[1月8日]
     鲁班尺吉数对照表高清图片查…[10月29日]
     砂浆胶作用与危害[9月21日]
     4种处理水泥地面起砂方法[9月21日]
     网页html点击切换显示内容完[11月7日]
     动易SiteWeaver6.6网站管理系[7月31日]
     中国阴历农历JS支持 HTML网页[2月26日]
     java script error 容错处理[2月15日]
     几款还不错的网页特效显示日[2月14日]
     图片可以调大小的代码[12月14日]
     动易SW6.8网站系统改自适应支[11月20日]
     网站建设_套餐服务[12月4日]
     网站建设-费用明细[12月4日]
     不显示出来的代码[12月3日]
     联想 小新Air 14 2019笔记本…[6月15日]
     滚筒洗衣机脱水声音大原因及…[4月17日]
     智能电视不能开机强制恢复出…[1月16日]
     各大品牌智能电视机恢复出厂…[1月16日]
     洗衣机自己排水或不存水漏水…[6月15日]
     海尔冰箱出现-03还滴滴报警[5月29日]
     TCL电视通用教程安装教程[2月2日]
     TCL L43V7300A-3D液晶彩电出…[2月2日]
     先锋液晶电视LED-32B550无光…[1月17日]
     智能电视主板的应用与维修(…[1月11日]
    电器资料 下载 读书
     手机恢复出厂设置具体操作方…[3月29日]
     三个代码让电脑提速畅通秘籍[3月13日]
     视得安750D6对讲门铃工作原理…[9月13日]
     什么是量子芯片和光子芯片[5月14日]
     沃尔沃S90汽车遥控钥匙失灵的…[1月19日]
     LED显示屏瑞合信PLus单双色全…[12月22日]
     Windows 照片查看器无法显示…[8月6日]
     已经设置IE主页,但是打开还…[7月6日]
     如何调整空压机压力?空压机…[6月8日]
     剪映-视频编辑软件手机版使用…[5月28日]
     [书籍]滕王阁序_原文_注释译文_白
     [书籍]《天工开物》明代宋应星初
     [电影]《抓娃娃》高清电影
     [联想]Lenovo S540-14API Compl 
     [书籍]《墨子》原文注释译文
     [LED条屏]瑞合信单双色/全彩控制系统
     [LED条屏]LED显示屏瑞合信手机APP6.
     [书籍]全本新注聊斋志异
     [书籍]广西2023年高考指南 招生计
     [书籍]个人防护手册(第二版)
     广西高考2024~2022年历史类([6月25日]
     凤阳花鼓[3月8日]
     《滕王阁序》[3月2日]
     卷一百二十八 艺文_杂记[2月24日]
     卷一百二十七 艺文_杂记[2月24日]
     卷一百二十六 艺文_国朝[2月24日]
     卷一百二十五 艺文_国朝[2月24日]
     卷一百二十四 艺文_五言排律[2月24日]
     卷一百二十三 艺文_历朝[2月24日]
     卷一百二十二 艺文_历朝[2月24日]
    珠宝玉器 在线电视台
     鸡血石与鸡血玉有什么区别[6月12日]
     鸡血玉[6月12日]
     鸡血石 (bloodstone)[6月12日]
     什么是莫桑石(Moissanite)[6月12日]
     可以戴钻石洗澡吗[1月22日]
     钻石如何保养才好呢?[1月22日]
     PT容易花的问题和钻戒保养问…[1月22日]
     切工 钻石的雕刻艺术[1月22日]
     如何保养好钻戒[1月22日]
     钻戒保养方法[1月22日]
     中央体育台
     中央新闻台
     宁夏卫视
     湖北卫视
     西藏卫视
     辽宁卫视
     河北卫视
     北京卫视
     政法频道
     农民频道
     湖南经视
     湖 南 台
     河南频道
     湖南卫视
     兵团卫视
     江苏卫视
     旅游卫视
     湖南都市
     七彩戏剧
     动漫秀场
     游戏风云
     法制天地
     魅力音乐
     新 娱 乐
     南 方 TV
     浙江卫视
     齐鲁频道
     山西影视
     东南卫视
     上海卫视
     贵州电视台
     重庆电视台
     山东卫视
     哪吒之魔童闹海《哪吒2》在线
     《抓娃娃》在线电影
     流浪地球2剧情介绍
     《万里归途》完整版
     《阿凡达2:水之道》耗资3.1
     2021港剧《梅艳芳》5集全.HD
     误杀2 -电影-完整版视频在线
     亲爱的/亲爱的小孩/打拐/家之
     《第一炉香》-电影-完整版视
     《扬名立万》-电影-完整版视
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj