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文件格式。数据模型配置完成后,即可根据当前生成引擎创建数据模型对应运行代码文件,即读取表或视图模型对应的模板,并根据数据模型配置文件中的配置信息替换模板相应信息,等生成的代码差模电感器准备好后,可对其进行编译,编译成功,则可在指定位置生成相应的动态链接库。
基于STM32F1O5的CAN总线中继器的设计与实现摘要:提出了一种用MCU自带的双CAN接口实现CAN总线中继器的设计方法,并给出了基于STM32F105的CAN总线中继器的软硬件实现方案。采用单CPU的设计可以很好地解决两个CAN接口的主从状态转换
[开关电源]ACDC电源模块是不是一定要浸三防漆?AC-DCUSB输出电源板单面板,测试时候需要测试工装顶针接触AC输入的焊盘和输出5V两个焊盘测试,有漆的话接触不好,(焊接面浸漆的话,焊盘上有漆不好焊接和测试)
现在有几个问题:
1如果
用于小型荧光灯的25W迷你型镇流器荧光灯是一种以最少电能消耗(流明/瓦)产生白光的最廉价方法。现在,小型荧光灯的每年销售规模达数亿只,而对荧光灯可靠性的要求也不断提高。如今的照明系统需要镇流器控制功能以驱动小型荧光灯,但这样增加了成本