[IEEE 2011 Fourth International Workshop on Advanced Computational Intelligence (IWACI) - Wuhan, China (2011.10.19-2011.10.21)] The Fourth International Workshop on Advanced Computational Intelligence - Data Model Driven Architecture (DMDA)

Download [IEEE 2011 Fourth International Workshop on Advanced Computational Intelligence (IWACI) - Wuhan, China (2011.10.19-2011.10.21)] The Fourth International Workshop on Advanced Computational Intelligence - Data Model Driven Architecture (DMDA)

Post on 27-Mar-2017

214 views

Category:

Documents

2 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>Data Model Driven Architecture (DMDA)Chen Chen, Xueguang Chen, and Hong Liu </p><p>AbstractBased on the current development of Model Driven Architecture (MDA) in Enterprise Information System (EIS), the paper proposes a DMDA, a new development architecture to improve EIS development speed and quality. The basic idea of the DMDA is to take advantage of formal description, decomposition and re-use on EIS development process to let computer understand development demands of developers and then consequently generate some business models having nothing to do with specific technical realization, combine with specific technical basic platform to finally generate the EIS meeting actual demands based on data model. The practice proves the architecture is capable of simplifying EIS development difficulty, expediting application and development speed, improve development quality and achieve the rapid development purpose. 1</p><p>I. INTRODUCTION HE MDA [1] is a general software development architecture, and it is needed to work out the different standard and specifications for different </p><p>software. For EIS, there are many development technologies (.NET, JAVA and etc.) and multiple middleware platform realization techniques (CORBA, EJB and etc.) [2]. Moreover, these standards and techniques are under unceasing development; so it is hard to describe all EIS development standard and technology by using a general standard or specification. In addition, the modeling method for MDA currently is mainly based on uniform modeling language (UML) [3];however as a general modeling language, the UML does not specify specific guiding approaches to EIS field; but the developers are required to have skilled modeling language [4]. However actually, most of developers have not such capacities; moreover a high cost will be involved when learning the modeling knowledge. In view of the factors aforesaid, it is urgent to be available the new development system structure and approaches easy to be adopted by developers in EIS development enterprise to guide development of EIS [5].</p><p>To be done by encircling data is the core of EIS, and a complete EIS needs the data-storing and data-processing capacity, therefore it is needed to establish a model that can clearly describe data storage and process mode firstly if aiming to use MDA ideas in EIS development field. For developers, it is a must to have the competency </p><p> Manuscript received October 28, 2011. This work was supported by </p><p>the National Natural Science Foundation of China, Grant No.60903174, the Fundamental Research Funds for the Central Universities, HUST: 2010QN016, 2010MS017, the fund of Key Lab for Image Processing and Intelligent control (20093).</p><p>Chen Chen and Xueguang Chen are with the Institute of Systems Engineering, Huazhong University of Science and Technology, Wuhan 430074, PR China. (Email:datocc37@126.com, xgchen9@mail.hust.edu.cn )</p><p>Liu Hong is with the Key Lab for Image Processing and Intelligent control, Huazhong University of Science and Technology, Wuhan 430074, PR China . Email: hongliu1978@mail.hust.edu.cn ; Tel: +86-(0)13986080703</p><p>to establish a data model that can describe data storage structure. To let data model become a basic element to drive EIS development and improve development speed and efficiency, but not a document to establish data storage structure, will be easy to form a general EIS development standard. However the existing data model cannot describe data processing logic; therefore it is needed to expand and adjust the existing data model so as to describe the business logic involved in data processing; in this paper, the improved model is called the business model. </p><p>However it is not undesirable to establish such business model by developer directly; the main reason is the data processing logic, which requires to abide by some strict grammar and rules for establishment of business model; if so it will be inevitable to require developers to have professional business modeling knowledge; such requirements are rightly opposite to the object to reduce learning cost (mentioned previously); therefore the most appropriate mode, for developers, is to establish data model, and then let computer complete the transformation from data model to business model [6].</p><p>Based on the aforesaid thinking, the paper proposes the concept of DMDA; the basic idea of the DMDA is to take advantage of formal description, decomposition and re-use on EIS development process to let computer understand development demands of developers and then consequently generate some business models having nothing to do with specific technical realization, combine with specific technical basic platform to finally generate the EIS meeting demands based on data model. </p><p>II. SYSTEM STRUCTURE The DMDA adopts the idea of model driven to guide </p><p>EIS development, but it does not follow up the MDA specifications; since the DMDA adopts mainly the model driven, it is a MDA application defined broadly. The Fig. 1 shows the system structure of viewpoint-separated DMDA. </p><p>Data modelMiddle model</p><p>Business model</p><p>Model Tier</p><p>Pattern Tier</p><p>Development pattern</p><p>Conversion</p><p>Template Tier</p><p>Template file</p><p>Database</p><p>EIS development </p><p>process</p><p>Code of repeated structure</p><p>EIS Code</p><p>Developer</p><p>Designer</p><p>Code Generat</p><p>e</p><p>Development activity</p><p>Fig. 1 System Structure of Viewpoint-separated DMDA</p><p>From the Fig. 1 above, it can be seen the system structure adopts the viewpoint-separated hierarchical </p><p>T</p><p>269</p><p>Fourth International Workshop on Advanced Computational Intelligence Wuhan, Hubei, China; October 19-21, 2011 </p><p>978-1-61284-375-9/11/$26.00 @2011 IEEE</p></li><li><p>design approach, and the system stricture is divided three tiers from top to bottom, i.e.: Model tier, Pattern tier and Template tier. </p><p>Model tier is the base of the DMDA; which offers the semantic description of model--data model and middle model and business model involved in the integral structure. In accordance with the descriptions, developers can quickly establish data model and complete the transformation between data model and middle model, as well as middle model and business model according to the given rules. </p><p>Pattern tier is the core of DMDA; which is mainly responsible for extracting development pattern and decomposing development process. The development pattern is derived from the formal description, decomposition and re-use on EIS development process. By extracting such patterns, EIS developer can continuously use the existing solution and development mode, avoid repetitive development labor, and then realize the development mode oriented by EIS development process and achieve the rapid development objective. </p><p>Template tier offers the realization mode of business model under different technical basic platforms; its purpose is to realize separation between business development and specific realization technique. The template tier is applied to convert business model into the EIS code document satisfying with the target technical basic platform based on template document. </p><p>The hierarchical approach above shows the viewpoint separation of two types of users. One is the designer; which is mainly responsible for extracting various development modes and writing realization template for different technologies and platforms, and then offering sound rapid development environment for developer; the other is the developer, which is needed to establish data model according to business demands on one hand and complete transformation from data model to business model and from business model to final code according to independent development idea on the other hand; therefore designer is needed to care about the pattern tier and the template tier, but developer is needed to care about the model tier. The function, composition element and operating mechanism of model tier and pattern tier are described hereinafter specially. </p><p>III. MODEL TIER Model tier consists of data model, business model and </p><p>middle model and etc. the specific composition elementis defined formally as follows: </p><p>Definition 1: Data item DataItem=(ItemName,DataType,DataLength,IsKey,Is</p><p>ForeignKey) Definition 2 Data table DataTable =(TableName,{DataItem},Constraint) Definition 3 Data model DataModel =(ModelName,{DataTable},Constraint) Definition 4 Extended attribute ExtendedAttribute=(AttributeName,ExtendedObject ,{</p><p>Constraint},Value) Definition 5 Business attribute BizAttribute =(AttributeName, DataTable ,DataItem, </p><p>ExtendAttribute) Definition 6 Business entity BizEntity =(EntityName,{BizAttribute},Constraint) Definition 7 Business model BizModel=(ModelName,{BizEntity},Constraint,{Temp</p><p>lateCondition}) Definition 8 Middle model InterBizModel=(ModelName,{BizEntity},Constraint,{</p><p>TemplateCondtion},{TaskCondition},State) After the definition for the composition elements of </p><p>the model tier is available, the model transformation between them will be introduced hereinafter. The Fig. 2 shows the general model transformation process of the model tier. </p><p>Data modelInitial-status </p><p>middle model</p><p>Middle-statusmiddle model</p><p>Final-status middle model</p><p>Bussiness model</p><p>Abnormal-statusmiddle model</p><p>Fig. 2 General Model Transformation Process of Model Tier </p><p>From the Fig. 2 above, it can be seen the primary transformation of the model tier is to convert data model into the initial-status middle model. In this process, the data model is not extended, but the State status is changed and the TaskCondition for the next development task is added; therefore the BizEntity and Constraint of the middle model and the DataTable and Constraint of the data model at the moment are corresponded each other; for their formal description, see the following: </p><p>DataModel(ModelName,{DataTable},Constraint)InterBizModel(ModelName,{DataTable},Constraint,,{TaskCondition},Initial-status)</p><p>However, the middle model in the initial status will be converted into the middle-status middle model. In this process, the BizEntity, Constraint, TaskCondition and State status of the middle model will change; moreover the TemplateCondition for template is added; in addition, if the TaskCondition in the initial-status middle model fails to match with the next development task, the transformation process will interrupt, and then finally an abnormal-status middle model will be converted. Its relevant formal description is made as follows: </p><p>InterBizModel(ModelName,{DataTable},Constraint, ,{TaskCondition},Initial-status) InterBizModel(ModelName,{BizEntity},Constraint,{TemplateCondition},{TaskCondition},Middle-status)\InterBizModel(ModelName,{DataTable},Constraint,, ,Abnormal-status)</p><p>Following the middle model in the middle status is continued to be converted. On one hand it can be converted into a new middle-status middle model; on the other hand, it can be converted into a final-status middle model. Similarly, if the TaskCondition in the middle model fails to match with the next development task, it can then be converted into the abnormal-status middle model; its formal description is made as follows: </p><p>InterBizModel(ModelName,{BizEntity},Constraint,{TemplateCondition},{TaskCondition},Middle-status) InterBizModel(ModelName,{BizEntity},Constraint,{TemplateCondtion},{TaskCondition},Middle-status)|InterBizModel(ModelName,{BizEntity},Constraint,{TemplateCondition}, </p><p>270</p></li><li><p>,Final-status)| InterBizModel(ModelName,{BizEntity},Constraint,{TemplateCondition}, ,Abnormal-status)</p><p>Finally the middle model in the final status is eliminated the TaskCondition and State by the system and then be converted into the business model; its formal description is made as follows: </p><p>InterBizModel(ModelName,{BizEntity},Constraint,{TemplateCondition},,Final-status) BizModel(ModelName,{BizEntity},Constraint,{TemplateCondition})</p><p>When the system shows the abnormal-status middle model, the system will require developer to make choice, i.e.: end the model transformation or designate the next development task to continue model transformation. </p><p>IV. PATTERN TIER Pattern tier comprises of development task, </p><p>development pattern, development work and development activity and etc. The specific composition element has a formal definition as follows, i.e.: </p><p>Definition 9 Atomic development task AtomicDevTask=(TaskName,{PreCondition},Empowe</p><p>rConstraint ,{TransferRuleTemplate},{PostEffect}) Definition 10 Composite Development Task CompositeDevTask=(TaskName,TaskGoal,Decompos</p><p>eConditon) Definition 11 Initial Development Process </p><p>InitialDevProcess=(ProcessName,{CompositeDevTask},Sequence)</p><p>Definition 12 Development Process DevProcess=(ProcessName,StartTask,EndTask,{Atom</p><p>icDevTask}) Definition 13 Start task StartTask=(TaskName, {PostEffect}) Definition 14 End task EndTask=(TaskName,{PreCondition},{PostEffect}) Definition 15 Task decompose method DecomposeMethod=(MethodName,PreCondition,{Ato</p><p>micDevTask| CompositeDevTask}) Definition 16 Development pattern DevPattern=(PatternName,{DecomposeMethod}) Definition 17 Development work item DevWorkItem=(Actor,{TransferRule},{PostEffect},Sta</p><p>te) Definition 18 Development activity DevActivity=({TransferAction}) Based on the research above, the operating mechanism </p><p>of the pattern tier will be further analyzed hereinafter. The essence of the pattern tier is to provide support for model transformation of model tier, and its purpose is to convert the development demands of developer into a series of model transformation operations. The Fig. 3 shows the operating mechanism of the pattern tier. </p><p>Model</p><p>Data modelMiddle model</p><p>Development processStart task</p><p>End task</p><p>Decompose</p><p>Development work</p><p>Development work item</p><p>Participant</p><p>DeveloperComputer</p><p>CompleteDevelopment activity</p><p>Model transformation sequence</p><p>Atomic development task network</p><p>Initial development process</p><p>Development task sequence</p><p>Development pattern</p><p>Task decomposition method assembly</p><p>Execute</p><p>Fig. 3 Operating Mechanism of Pattern Tier </p><p>From the Fig. 3 above, it can be seen the operation of the pattern tier needs to define the initial development process by developer as per development demand; afterwards seek the matchable task decomposition method in the pre-defined development pattern; its formal description is made as follows: </p><p>find DMS={DecomposeMethod} in DevPattern where DevPattern.DecomposeMethod.PreCondition=InitialDevProcess.CompositeDevTask.DecomposeCondition</p><p>Following, the development process will be obtained by decomposing the initial development process according to such methods. The task is a complete development task network, and its formal description is made as follows: </p><p>Decompose(InitialDevProcess,DMS)DevProcess(ProcessName,StartTask,EndTask,{AtomicDevTask})</p><p>Following, put the data model into the system, and then adopt the StartTask of development process to convert data model into initial-status middle model; its formal description is made as follows: </p><p>Execute(DataModel,DevProcess.StartTask)InterBiz</p><p>Model(ModelName,{DataTable},Constraint, ,DevProcess.StartTask,{PostEffect},Initial-status) </p><p>T...</p></li></ul>