利用DSL語言來實(shí)現(xiàn)MES系統(tǒng)建模平臺(tái)
O 引言
本文引用地址:http://www.ex-cimer.com/article/151613.htm以往MES系統(tǒng)項(xiàng)目的開發(fā)都是各個(gè)項(xiàng)目獨(dú)立地進(jìn)行設(shè)計(jì)和開發(fā),而這些項(xiàng)目中有一部分需求和功能有相同的地方,這樣,就會(huì)在一定程度上造成重復(fù)勞動(dòng)和資源浪費(fèi)。為此,筆者將業(yè)務(wù)需求轉(zhuǎn)化為模型,開發(fā)了一套基于模型驅(qū)動(dòng)的系統(tǒng)平臺(tái),同時(shí)搭載多種行業(yè)模型包。這樣,當(dāng)項(xiàng)目應(yīng)用時(shí),就可以根據(jù)需要對模型進(jìn)行簡單修改,然后直接滿足項(xiàng)目需求。另外,此平臺(tái)依舊保留有快速的二次開發(fā)接口,這樣不但可以縮短整個(gè)系統(tǒng)的開發(fā)周期,而且可以大量節(jié)約人力物力資源。該系統(tǒng)平臺(tái)主要包括系統(tǒng)管理、建模平臺(tái)、工作流、業(yè)務(wù)系統(tǒng)等。本文主要講述建模平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)方法。
1 DSL概述
Visual St udio DSL(Domain-Specific Language,特定領(lǐng)域語言)工具是微軟公司針對特定領(lǐng)域開發(fā)而專門設(shè)計(jì)的。特定領(lǐng)域開發(fā)是一種用于解決重復(fù)發(fā)生的問題的方法,是可以使用DSL工具作為自動(dòng)生成相同或相似代碼的一種方式。DSL是指軟件開發(fā)中出于某特定考慮而設(shè)計(jì)的比較小的、目標(biāo)明確的語言。它們的作用是使用某特定領(lǐng)域里慣用的符號或者表示法對該領(lǐng)域的實(shí)體或者流程進(jìn)行建模。
DSL工具提供有一種圖形化的操作方式。開始創(chuàng)建領(lǐng)域特定語言(DSL)是圍繞DSL設(shè)計(jì)器進(jìn)行的,設(shè)計(jì)器的功能是設(shè)計(jì)和產(chǎn)生DSL,或者設(shè)
計(jì)依附于可生成代碼DSL的模型。
域模型(domain model)是DSL定義的核心部分。域模型就像DSL的語法,它定義了域類(domain class)和域關(guān)系(domain relationship),即定義了組成模型的要素,并給出了將這些要素互相聯(lián)系在一起的規(guī)則。域模型和表示是分離的,它僅定義了DSL所要處理的概念層上的內(nèi)容,而并沒有給出如何在圖中表示這些概念。在DSL設(shè)計(jì)器中,圖形和域類的對應(yīng)關(guān)系是非常直觀的,有多種基本的圖形和連接線類型可供選擇,在定義了一組圖形之后,還要定義一組圖形的映射關(guān)系,也就是定義用哪個(gè)圖形或者連接線來顯示某個(gè)域類或者域關(guān)系。表示層和底層模型相分離的設(shè)計(jì),可以在不改動(dòng)模型的情況下,合理改變域模型的表示方式。
在用DSL設(shè)計(jì)器完成DSL的定義后,將從這個(gè)DSL定義生成編輯和處理DSL實(shí)例工具的代碼,然后就可通過寫一些附加的代碼,來增強(qiáng)所產(chǎn)生的設(shè)計(jì)器的功能。
2 模型驅(qū)動(dòng)的建模平臺(tái)設(shè)計(jì)
模型驅(qū)動(dòng)就是對企業(yè)的業(yè)務(wù)需求進(jìn)行分析后,通過友好的圖形化用戶交互界面將企業(yè)的業(yè)務(wù)需求轉(zhuǎn)化為模型,圖1為其建模平臺(tái)示意圖。這樣,通過實(shí)現(xiàn)各種業(yè)務(wù)模塊(例如:設(shè)備管理)系統(tǒng)功能(例如:設(shè)備停用)的建模配置,系統(tǒng)就可將其自動(dòng)轉(zhuǎn)化為機(jī)器可讀和高度抽象的平臺(tái)無關(guān)模型,這些模型獨(dú)立于實(shí)現(xiàn)技術(shù)和語言,并以標(biāo)準(zhǔn)化的XML方式儲(chǔ)存。系統(tǒng)可根據(jù)模型生成基于SOA的運(yùn)行代碼,并可通過發(fā)布解決方案的方式來將建立好的業(yè)務(wù)模型集成到系統(tǒng)運(yùn)行平臺(tái)之中,最后在系統(tǒng)運(yùn)行平臺(tái)上運(yùn)行。建模平臺(tái)可支持使用過程中動(dòng)態(tài)調(diào)整流程、動(dòng)態(tài)配置業(yè)務(wù)和展示信息,可實(shí)現(xiàn)軟件的配置與信息管理的一體化應(yīng)用。當(dāng)業(yè)務(wù)發(fā)生變化后,也可以在系統(tǒng)中修改原有的業(yè)務(wù)模型并重新發(fā)布。其方便地改變特點(diǎn),可以真正實(shí)現(xiàn)快速滿足客戶業(yè)務(wù)變化的需要。
建模平臺(tái)的設(shè)計(jì)主要分為三部分:數(shù)據(jù)模型、后臺(tái)服務(wù)和前臺(tái)頁面,圖2所示為建模平臺(tái)的模型圖。
評論