李晉 戰(zhàn)德臣 聶蘭順
摘要:隨著模型驅(qū)動體系結(jié)構(gòu)的理論和技術(shù)的不斷發(fā)展,模型已成為軟件開發(fā)的核心元素。因此,支持模型驅(qū)動體系結(jié)構(gòu)的建模語言和建模工具成為研究熱點。本文提出一種支持模型驅(qū)動的軟件開發(fā)的ICES-Modeling建模語言,該語言融合了現(xiàn)有的建模方法的一些思想,可以有效地描述領(lǐng)域內(nèi)的概念,概念與概念之間的關(guān)系。還針對該建模語言,設計并開發(fā)了建模工具,該建模工具具有支持建模語言的定義,方便模型的理解,支持多角度建模等特點。
關(guān)鍵詞:模型驅(qū)動體系結(jié)構(gòu); 模型驅(qū)動軟件開發(fā); ICES-Modeling建模語言; 建模工具
中圖分類號:TP311 文獻標識碼:A文章編號:2095-2163(2014)04-0025-04
Abstract:With the continuous development of the theory and technology of model-driven architecture, the model has become the core elements of the software development. Therefore, support for model-driven architecture modeling language and modeling tools becomes a research hotspot. This paper presents a support model-driven software development modeling language, called ICES-modeling language. The modeling language combines some ideas of existing modeling methods, and it can effectively describe the concepts and the relationships between the concepts in domains. The paper also designs and develops a modeling tool, called ICES-Modeling Tool, for the above modeling language. The modeling tool can support the definition of the modeling language, to facilitate the understanding of the model, and to support the modeling of multi-angle.
Key words:Model-Driven Architecture; Model-Driven Development; ICES-Modeling Language; Modeling Tool
0引言
在傳統(tǒng)的軟件開發(fā)中,模型可用來表示設計思想,一旦完成編碼工作,模型再獲使用的幾率就會很小。在以模型驅(qū)動的軟件開發(fā)(Model-Driven Development, MDD)[1]為代表的新型軟件開發(fā)方法中,模型的地位已得到了顯著的提升。在模型驅(qū)動的開發(fā)中,從需求規(guī)約到最終代碼生成要通過多次的模型轉(zhuǎn)換來實現(xiàn)。對于日益復雜的計算任務,依托于定義良好的模型比手工完成的系統(tǒng)開發(fā)更加可行、可靠。
企業(yè)建模是根據(jù)企業(yè)相關(guān)信息(包括以前建立的模型、參考模型及領(lǐng)域本體),使用模型表示語言建立一個企業(yè)的整體或部分模型的過程,如過程模型、數(shù)據(jù)模型、資源模型、新的本體[2]。企業(yè)建模是人們旨在了解企業(yè),經(jīng)過抽象得到的針對企業(yè)的整體或局部方面所開展的描述。企業(yè)模型可以科學地分析和完整地綜合企業(yè)各部分功能關(guān)系、信息關(guān)系及動態(tài)關(guān)系,可以從根本上提高軟件開發(fā)、實施和維護的效率,同時,又可以用于企業(yè)物理過程和業(yè)務過程的仿真分析和優(yōu)化。市場環(huán)境的變化導致了企業(yè)的管理、組織結(jié)構(gòu)、業(yè)務范圍及其發(fā)展趨勢也相應發(fā)生了改變,為了適應這些變化,建立企業(yè)模型即成為大型企業(yè)實施現(xiàn)代化管理的一個重要手段,并且隨著模型驅(qū)動技術(shù)和標準的不斷發(fā)展,企業(yè)模型正逐漸取代計算機程序而成為軟件開發(fā)過程中的主要產(chǎn)品[3-4]。
目前,對于企業(yè)模型的評價尚無統(tǒng)一的、公認的標準,然而,一般意義上,企業(yè)模型應具備以下幾個方面的特征:一是支持完整、客觀、全面地刻畫現(xiàn)實企業(yè);二是具有可理解性;三是支持刻畫領(lǐng)域的特定問題;四是支持不同抽象層次、不同抽象粒度的建模;五是具有融合性。除此之外,企業(yè)模型還應該具備可視化、形式化等某一常規(guī)特征[5]。
但是,在模型驅(qū)動開發(fā)方法主導的軟件開發(fā)中,現(xiàn)有的許多企業(yè)建模方法和語言都沒能有效地形成一套連貫的MDA的建模思路,例如面向結(jié)構(gòu)分析的IDEF、面向?qū)ο蟮腢ML[6]和面向過程/控制的ARIS[7]等。因此,在MDA思想指導下,ICES-Model融合了上述建模方法的有益思想,提出了一套ICES-Model建模語言,分別在CIM層、PIM層、PSM層定義一系列元模型及其之間的關(guān)系,并依據(jù)相應的建模規(guī)范使用這些元模型建立目標模型,從而有效地支持MDA的軟件開發(fā)。
可視化圖符元模型名稱元模型描述活動表示所有活動,包括執(zhí)行活動、決策活動、服務、人工活動、人機活動、自動活動等信息表示各種類型的信息,包括文檔、訂單等實物表示執(zhí)行某一或多個活動資源表示所有類型的資源,包括設備、倉儲、運輸、人員和外部資源等組織表示各種類型的組織,包括內(nèi)部組織、外部組織、動態(tài)組織、崗位、供應商和客戶等質(zhì)量點表示檢查質(zhì)量、檢查數(shù)量的檢驗點聯(lián)結(jié)符表示各種關(guān)系的連接符號1.2ICES-PIM建模語言
ICE-PIM是連接業(yè)務模型(ICE-CIM)和軟件實現(xiàn)模型(ICE-PSM)的橋梁。PIM提供了一套滿足CIM需求的可互操作、可配置、可執(zhí)行的系統(tǒng)設計模型,這既為軟件設計人員與企業(yè)業(yè)務人員提供了互相交流與加深理解的手段,又為PSM層的具體實現(xiàn)模型提供了軟件設計雛形,而且更為向PSM層的自動轉(zhuǎn)換奠定了基礎。
ERP/SCM等ESA軟件大都是以業(yè)務單據(jù)/報表及其處理為中心,因此ICEMDA將ICE-CIM過程模型中的一張張業(yè)務單據(jù)抽象和規(guī)范化為一個個業(yè)務對象,并采用面向?qū)ο蠹夹g(shù)對每張單據(jù)的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)依賴與操作進行分析與設計,而且對單據(jù)與單據(jù)之間的銜接關(guān)系也進行了探索與發(fā)現(xiàn),如此則既降低了系統(tǒng)的復雜性,又為后續(xù)基于構(gòu)件的軟件開發(fā)提供了設計基礎。然而,面向過程的CIM模型與面向?qū)ο蟮腜IM模型卻具有各自不同的側(cè)重點,為了實現(xiàn)這兩者接近等價的模型轉(zhuǎn)換,ICEMDA將CIM過程模型映射為PIM層工作流模型和業(yè)務對象模型兩個部分。而且,這兩部分與數(shù)據(jù)模型、角色模型共同構(gòu)成了ICE-PIM模型。
表2即列出了ICES-Modeling Language定義的PIM元模型。表中給出了每個元模型的可視化的圖符表示,在PIM模型中使用的名稱及其功能簡述。
1.3ICES建模語言的本體表示
ICES-Model建模語言對所定義的建模元素在語法和語義上提供了一致、通用的定義性說明,建模者可以使用這些建模元素構(gòu)造不同層次、不同抽象粒度的企業(yè)模型。由于元模型是定義表達模型的語言的模型,因此可以將建模元素看作為元模型。元模型是模型的模型,從更高抽象層次上規(guī)定了模型的語義語法規(guī)則、設計方法、數(shù)據(jù)結(jié)構(gòu)、功能、表現(xiàn)形式等多方面內(nèi)容。ICES元模型是面向企業(yè)信息語義的,而本體則是語義信息建模的最佳工具。采用本體的設計思想來描述元模型可以為元模型添加語義信息,從而實現(xiàn)基于語義的元模型共享、轉(zhuǎn)換和集成。
3結(jié)束語
本文針對模型驅(qū)動的軟件開發(fā)的企業(yè)模型的建模問題,提出了一種支持MDD的建模語言ICES-Modeling Language,該語言融合了現(xiàn)有建模方法的一些思想,可以有效地描述領(lǐng)域內(nèi)的概念,以及概念與概念之間的關(guān)系。針對該建模,設計并開發(fā)了建模工具ICES Modeling Tool。設計后的工具融合了很多特性,例如支持建模語言的定義、方便模型的理解、支持多角度建模等。下一步工作將繼續(xù)研究通過ICES-Modeling建模語言實現(xiàn)所構(gòu)造的模型與其他模型的轉(zhuǎn)換。
參考文獻:
[1]Omg. MDA Guide Version 1.0.1 [EB/OL], 2003. http://www.omg. org/cgi-bin/apps/doc? formal/03-06-01.pdf.
[2]VERNADAT F B. Enterprise modeling and integration: principles and applications[M]. Chapman & Hall, 1996.
[3]De MIGUEL M, JOURDAN J, SALICKI S. Practical experience in the application of MDA. JEZEQUEL JM, HUSSMANN H, COOK S, eds[C]//Proc. of the 5th International Conference on UML (UML 2002). LNCS 2460, Berlin:Spring- Verlay,2002:128-139.
[4]KENT S. Model driven engineering. BUTER M, PETRE L, SERE K, eds[C]//Proc. Of the 3rd Intl Conf. on Integrated Fromal Methods(IFM 2002). LNCS 335, Berlin: Spring-Verlag, 2002:286-298.
[5]范玉順, 王剛, 高展. 企業(yè)建模理論與方法學導論[M]. 北京: 清華大學出版社, Springer出版社, 2001.
[6]Booch G R, Jacobson I, Rumbaugh J. The unified modeling language user guide[M]. Addision-Wesley, 1999.
[7]Scheer W A. Architecture of integrated information systems [M]. Berlin: Springer- verlag, 1992.