規則引擎在生產調度中體現的做用mes

 

生產調度系統是製造企業MES系統的重要組成部分,對應於生產管理系統的短時間計劃安排,主要目標是經過良好的做業加工排序,最大限度減小生產過程當中的準備時間,優化某一項或幾項生產目標,爲生產計劃的執行和控制提供指導。在不一樣的問題環境中,生產調度的優化目標也不一樣。在生產製造企業中影響生產調度的因素不少(好比設備、工人的生產技能等),這些因素樣式複雜,種類繁多,靈活多變。另外在不一樣的環境下,影響生產調度的規則數量、優先級都會發生變化。過去生產調度系統將業務邏輯與主體代碼緊耦合,業務規則以:架構

的形式被硬編碼到代碼中去,結果是線性、肯定的執行路由,全部的約束和判斷都按照建模時的約定執行。當業務規則發生變動時,惟一的途徑是修改代碼。測試

這種形式沒法適應製造企業生產規則的頻繁變動,致使生產調度系統的開發、升級和維護成本急劇增長,甚至生產調度系統徹底沒法適應企業的實際需求。所以生產調度系統在保證對目標優化的前提下,將業務邏輯與主體程序的分離,已成爲生產調度系統首要解決的問題。本文着重闡述經過規則引擎技術將生產規則邏輯從生產調度系統分離,克服生產規則靈活變動致使生產調度系統沒法適應企業生產策略變動的問題。優化

      目前開源和商業的規則引擎產品有不少,其中開源的以Drools爲表明,商業的有ILog旗正規則引擎等,本文以商業規則引擎中的旗正規則引擎來講明。說句題外話,開源的產品有開源產品的優勢,可是規則引擎做爲一個高端的應用來講,仍是但願在售後服務,技術支持等方面能有商業化的保障。網站

    在製造企業中,生產策略的變動很是頻繁而且影響生產調度系統的業務策略不少,而傳統的生產調度系統將業務邏輯與生產調度邏輯緊密耦合,致使系統的開發,維護都變得異常艱難。所以如何將業務邏輯與主體程序分離,屏蔽業務策略變動對主體程序的影響,則成爲生產調度系統的關鍵問題。編碼

    基於規則引擎的生產調度系統架構設計的核心是實現業務邏輯與應用程序解耦。它的實現方案可分爲如下幾個步驟:.net

1.  生成業務規則  業務人員對影響生產調度的業務策略進行收集,抽象,概括,按照規則文件格式配置成業務規則。設計

2.  業務規則管理  業務人員經過規則管理平臺實現對規則的存儲,版本,廢棄,凍結等一系列的管理3d

3.  執行業務規則  應用程序中啓動規則引擎(服務和接口)解析執行已經編輯配置好的規則文件,而後將結果返回給應用程序。blog

經過以上步驟,可以讓整個生產調度系統快速適應企業業務策略的頻繁變動,隔離策排序

略變動對應用程序的影響,同時又能與主體程序進行動態通訊。主體程序動態感知業務策略的變動,將變動結果推進執行和呈現。

    在製造業企業中,制約生產調度的業務規則不少,在不一樣的場景中業務規則的組合形式多種多樣而且規則的執行前後順序對調度結果也起着制約做用,業務規則的表現形式也是多種多樣的,如何靈活易用的配置統一格式的規則是咱們關注的重點。

   旗正規則引擎的規則主要由:條件,動做,屬性等組成,一個規則中能夠包含多個組合判斷條件,也能夠完成多個不一樣的動做。

   旗正規則引擎的規則表現形式以下:

      

在生產調度系統中,全部的業務規則均可以抽象爲這種格式,下面以工人的技能熟練程度爲例來講明生產調度系統中的業務規則配置方式

從上圖能夠看出,與傳統的生產調度系統相比,基於規則引擎的生產調度系統具備如下幾點優點:

1.  業務邏輯與主體邏輯的分離,模塊之間更加鬆散耦合,已於開發,維護和升級

2.  屏蔽業務策略的變化,具備更強的靈活能力和使用能力,能有效的適應策略的變化。

3.  有效的延長應用程序的生命週期。

4.  開發過程更加離散,各個過程可由不一樣的開發者進行開發,測試和部署。

基於規則引擎的生產調度系統實現了主體應用程序與業務邏輯的分離,屏蔽了生產策略變動對系統的影響。能有效下降生產調度系統的開發,維護和升級成本,延長軟件生命週期,下降企業信息化成本。

相關文章
相關標籤/搜索