簡易檢索 / 詳目顯示

研究生: 羅治民
Chih-Min Lo
論文名稱: 運用模型驅動方法於資料庫應用系統開發之研究
A Study of Applying a Model-Driven Approach to the Development of Database Applications
指導教授: 黃世禎
Sun-Jen Huang
口試委員: 鄭炳強
Bing-Chiang Jeng
楊亨利
Heng-Li Yang
羅乃維
Nai-Wei Lo
魏小蘭
Hsiao-Lan Wei
學位類別: 博士
Doctor
系所名稱: 管理學院 - 資訊管理系
Department of Information Management
論文出版年: 2012
畢業學年度: 100
語文別: 英文
論文頁數: 97
中文關鍵詞: 軟體工程模型驅動架構模型轉換關聯式資料庫資料庫應用系統資料服務
外文關鍵詞: Software Engineering, Model-Driven Architecture, Model Transformation, Relational Database, Database Applications Development, Data Services
相關次數: 點閱:573下載:5
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報

資料庫應用系統主要是處理巨量資料及資訊的軟體應用系統,因此在其開發過程中,有很大量的工作是在執行資料庫存取層的構建。建構一個資料庫應用系統需要考慮到二個實施面向:第一是要建構一個可以儲存完整資料且足以提供資料及資訊檢索所需的資料庫結構,並能夠確保所儲存資料的一致性及完整性;另一個面向是提供完整的服務介面給使用者或系統來進行對資料庫的資料存取及資訊檢索作業;這二個面向涉及了資料庫開發技術及應用程式開發技術。
模型驅動式軟體開發方法是一種在軟體開發領域的新典範,主要是以模型為基礎且建基於續增式的模型轉換技術及軟體工程輔助工具的支援上,並涉及了二個主要的技術:建模方法及模型轉換方法。現行已有很多研究者提出了資料庫建模方法及模型轉換方法,然而這些方法並未考慮到資料完整的建模表示,也未完全改善資料檢索的建模,因此無法自動轉換為可執行的資料存取層程式碼。
本論文提出了一個資料庫模型構建方法,改善了資料庫模型對資料表外鍵限制動作的表示,及資料檢索模型的展現問題,以協助資訊系統開發者設計出較完整的資料庫模型,進而利用這些模型建造出一個高可靠度的資料庫,以供資訊系統存取其所需的資料及資訊。除此之外,我們也建構了一個續增式模型轉換方法運用於資料庫應用系統的開發。所提出的模型轉換規則可以漸進式地將高抽象度的原始模型轉換成可執行的程式碼,其主要價值為可透過軟體輔助工具的支援,自動生成資料庫綱要及較完整之可執行程式碼,以達到自動化軟體開發的目標,並增進軟體開發效率及提高軟體品質。本研究也使用案例來驗證所提出方法的可行性,並與其他文獻所提出的方法做比較,以說明本研究結果的價值。


A database application system is designed for processing a huge amount of data and information, and as a result, there is a heavy loading to construct the database access layer in the application development life cycle. It is essential to take two aspects into consideration when developing a database application system; Firstly, a database structure needs to be constructed to store complete data and ensure it to be accessed with a data consistency and integrity. Secondly, a service interface needs to be defined to users or other system to trigger the data access operations. Both aspects involved the techniques of database design and application development.
Model-driven approach is a new paradigm in the software development area. It is based on the models and relies on the incremental model transformation techniques with the support of computer-aided software engineering tools. This approach involves two principal techniques: modeling and model transformation. Several researchers have proposed some database modeling and model transformation methods. However, the proposed methods could not have complete modeling expressions for data integrity and the modeling for data retrieval was not also improved; therefore, the automatic model transformation for the implementation of data access cannot be attained.
This dissertation proposed a database modeling approach that improves the representation of the database model. It allows the representation of the foreign key constraints and data retrieval schemas, thus helping developers construct a high availability database for the data and information access of software applications. Additionally, we have also proposed a model transformation framework for the development of database application systems. The proposed framework enables the automatic generation of database schemes and more complete executable codes by incrementally transforming from original models with the tool support. As a result, the productivity and the quality of the software should be improved. The examples and comparisons to other literatures are also illustrated in this dissertation to demonstrate the feasibility of the proposed methods and their advantages over existing approaches.

摘要 Abstract Acknowledgement Table of Contents List of Tables List of Figures Chapter 1 Introduction 1.1 Background 1.2 Motivation 1.3 Research Scope Chapter 2 Review of the Literature 2.1 Related Literature to Model-Driven Software Development 2.2 Related Literature to Model Transformation Approaches 2.2.1 Model Transformation Approaches 2.2.2 Model Transformation Languages 2.3 Related Literature to Database Development Approaches Chapter 3 Database Modeling Approach 3.1 Introduction 3.2 Modeling Approach 3.2.1 Specification of Class Stereotypes 3.2.2 Specification of the Stereotype Column 3.2.3 Specification of Derived and Jointed 3.2.4 Specification of Stereotype SetOpeated 3.2.5 Specification of Stereotype Nested 3.2.6 Verification Rules 3.3 Example Implement 3.3.1 A Sample of Database Model 3.3.2 A Simple Information Retrieval Model 3.3.3 Set Operations Modeling 3.3.4 Nested Subquery Modeling 3.3.5 Aggregations Modeling 3.3.6 View Modeling 3.4 Discussion Chapter 4 Metamodel-Based Incremental Model Transformation Framework 4.1 Introduction 4.2 An Overview of the Framework 4.3 Metamodels for Model Constructions 4.3.1 Metamodel of Service Models 4.3.2 Metamodel of Entity Models 4.3.3 Metamodel of Relational Models 4.3.4 Metamodel of Service Composition Models 4.3.5 Metamodel of Data Service Models 4.3.6 Model Verification Rules 4.4 Model Transformation 4.4.1 Transformation from EM into EMs 4.4.2 Transformation from EM into RM 4.4.3 Transformation from EM into SCM 4.4.4 Transformation from SCM into DSM 4.4.5 Transformation from RM into SQL 4.4.6 Transformation from DSM into Code 4.5 Discussion Chapter 5 Conclusion and Future Work 5.1 Summary and Discussion 5.2 Future Work Reference Curriculum Vitas Publication List

[1] Aboulsamh, M. and Davies, J. (2011). Towards a Model-Driven Approach to Information System Evolution. Information Systems Development, W.W. Song, et al, Springer, New York, 269-280.
[2] Akehurst, D., Kent, S., Patrascoiu, O. (2003). A relational approach to defining and implementing transformations between metamodels. Software and Systems Modeling, 2(4), 215-239.
[3] Albert, M., Cabot, J., Gomez, C., Pelechano, V. (2011). Generating operation specifications from UML class diagrams: A model transformation approach, Data & Knowledge Engineering, 70(4), 365-389.
[4] Ambler, S.W. (2002). Agile Modeling: Effective Practices for Extreme Programming and Unified Process. John Wiley, New York.
[5] Ambler, S.W. (2003a). Agile Database Techniques, Wiley Publishing, Inc., Canada.
[6] Ambler, S.W. (2003b). Agile model driven development is good enough. IEEE Software 20(5), 71-73.
[7] Atkinson, C. and Kuhne, T. (2002). Profiles in a strict metamodeling framework. Science of Computer Programming, 44(1), 5-22.
[8] Balsters, H. (2003). Modelling Database Views with Derived Classes in the UML/OCL-Framework. UML 2003 LNCS 2863, 295-309.
[9] Balogh, Z. and Varro, D. (2009). Model transformation by example using inductive logic programming. Software and Systems Modeling, 8(3), 347-364.
[10] Berkenkotter, K. (2008). Reliable UML Models and Profiles. Electronic Notes in Theoretical Computer Science, 217, 203-220.
[11] Bezivin, J., Jouault, F., Rosenthal, P., Valduriez, P. (2004). Modeling in the large and modeling in the small. Proceedings of the MDAFA’2004, LNCS, vol. 3599, Springer-Verlag, 33-46.
[12] Bezivin, J. and Jouault, F. (2006). Using ATL for Checking Models. Electronic Notes in Theoretical Computer Science, 152(27), 69-81.
[13] Blaha, M., Premerlani, W. (1996). A Catalog of Object Model Transformations. Proceedings of the Third Working Conference on Reverse Engineering, Monterey, California, 8-10 Nov. 1996., 87-96.
[14] Borger, E. and Stark, R.F. (2003). Abstract State Machines. A Method for High-Level System Design and Analysis. Springer-Verlag Berlin Heidelberg, Germany.
[15] Buttner, F. and Gogolla, M. (2004). Realizing UML Metamodel Transformations with AGG. Electronic Notes in Theoretical Computer Science, 109, 31-42.
[16] Cabot, J., Clariso, R., Guerra, E., de Lara, J. (2010). Verification and validation of declarative model-to-model transformations through invariants. The Journal of Systems and Software, 83(2), 283–302.
[17] Calero, C., Ruiz, F., Baroni, A., Brito e Abreu, F., Piattini, M. (2006). An ontological approach to describe the SQL:2003 object-relational features. Computer Standards & Interfaces, 28(6), 695-713.
[18] Chen, P.P. (1976). The Entity-Relationship model: toward a unified view of data. ACM Transactions on Database Systems, 1 (1), 9–36.
[19] Chiu, N.H. (2006). A Study of Accuracy Improvement on Analogy-Based Software Cost Estimation Model. Ph.D. Dissertation, National Taiwan University of Science and Technology, Taiwan.
[20] Cuadrado, J.S., Molina, J.G., Tortosa, M.M. (2006). RubyTL: A Practical, Extensible Transformation Language. Lecture Notes in Computer Science, Volume 4066/2006, 158-172.
[21] Czarnecki, K. and Helsen, S. (2003). Classification of Model Transformation Approaches. Proceedings of the 2nd OOPSLA Workshop on Generative Techniques in the context of Model Driven Architecture, October 26-30, 2003, Anaheim, California, USA.
[22] de Lara, J. and Guerra, E. (2008). Pattern-Based Model-to-Model Transformation. Lecture Notes in Computer Science, Vol. 5214, 426-441.
[23] Dobing, B., Parsons, J. (2006). How UML is used, Communications of the ACM, 49(5), 109-113.
[24] Eclipse (2012). VIATRA. The Eclipse Foundation, Retrieved from: www.eclipse.org/gmt/VIATRA2. (accessed 22 April 2012)
[25] Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (1999). Handbook on Graph Grammars and Computing by Graph Transformation, in: Applications, Languages and Tools, vol. 2, World Scientific.
[26] Evans, E. (2004). Domain-Driven Design: Tackling Complexty in the Heart of Software. Addison-Wesley.
[27] Fakhar, L., Muhammad, A.G. (2007). Design of a simple and effective object-to-relational mapping technique. Proceedings of the 2007 ACM symposium on Applied computing, 1445-1449.
[28] Fanjiang, Y.Y. (2004). Goal-Driven Pattern-Based Model Transformation. Doctoral Dissertation, National Central University, Taiwan.
[29] Finkelstein, C. (1989). An Introduction to Information Engineering: From Strategic Planning to Information Systems. Addison-Wesley, Sydney.
[30] FIPS Publication 184 (1993). Integration Definition for Information Modeling (IDEF1X), the Computer Systems Laboratory of the National Institute of Standards and Technology, December 21.
[31] France, R., Chosh, S., Song, E., Kim, D.K. (2003). A metamodeling approach to pattern-based model refactoring," IEEE Software, 20(5), 52-58.
[32] Fuentes-Fernandez, L. and Vallecillo-Moreno, A. (2004). An Introduction to UML Profiles. UPGRADE Vol. V, No. 2, ATI, Barcelona, 6-13.
[33] Gerber, A., Lawley, M., Raymond, K., Steel, J., Wood, A. (2002). Transformation: The missing link of MDA. GRAPH TRANSFORMATION, Lecture Notes in Computer Science, Volume 2505/2002, 90-105.
[34] Gornik, D. (2003). UML Data Modeling Profile, TP162, 05/02, IBM Rational Software. Available from: http://www3.software.ibm.com. (Accessed 11 July 2010)
[35] Hailpern, B. and Tarr, P. (2006). Model-driven development: The good, the bad, and the ugly. IBM Systems Journal, 45(3), 451-461.
[36] Hemel, Z., Kats, L.C.L., Groenewegen, D.M., Visser, E. (2010). Code generation by model transformation: a case study in transformation modularity. Software and Systems Modeling, 9(3), 375-402.
[37] ISO/IEC 9075 (2003). Information Technology - Database Language SQL:2003. International Organization for Standardization.
[38] Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G. (1992). Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading, MA.
[39] Jacobson, I., Booch, G., Rumbaugh, J. (1999). The Unified Software Development Process. Addison-Wesley, Reading, MA.
[40] Jouault, F., Allilaire, F., Bezivin, J., Kurtev, I. (2008). ATL: A model transformation tool. Science of Computer Programming, 72(1), 31-39.
[41] Jouault, F. and Kurtev, I. (2006). Transforming Models with ATL. Lecture Notes in Computer Science, Volume 3844/2006, 128-138.
[42] Jouault, F. and Kurtev, I. (2007). On the interoperability of model-to-model transformation languages. Science of Computer Programming, 68(3), 114-137.
[43] Judson, S.R. (2003). Pattern-based model transformation," Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA’03), October 26-30 2003, Anaheim, CA, USA, 124-125.
[44] Kalnins, A., Barzdins, J., Celms, E. (2005). Model Transformation Language MOLA. Lecture Notes in Computer Science, Vol. 3599, 62-76.
[45] Kurtev, I., van den Berg, K., Jouault, F. (2007). Rule-based modularization in modeltransformation languages illustrated with ATL. Science of Computer Programming, 68(3), 138-154.
[46] Kuskorn, W. and Lekcharoen, S. (2009). An Adaptive Translation of Class Diagram to Relational Database. International Conference on Information and Multimedia Technology (ICIMT '09), IEEE Computer Society, 144-148.
[47] Lengyel, L., Levendovszky, T., et al. (2006). Metamodel-Based Model Transformation with Aspect-Oriented Constraints. Electronic Notes in Theoretical Computer Science, 152, 111-123.
[48] Levendovszky, T., Lengyel, L., et al. (2005). A Systematic Approach to Metamodeling Environments and Model Transformation Systems in VMTS. Electronic Notes in Theoretical Computer Science, 127(1), 65-75.
[49] Mens, T. and Van Gorp,P. (2006). A Taxonomy of Model Transformation. Electronic Notes in Theoretical Computer Science, 152, 125-142.
[50] Marinescu, C. (2007). Discovering the Objectual Meaning of Foreign Key Constraints in Enterprise Applications. 14th Working Conference on Reverse Engineering, 28-31 Oct. 2007. WCRE 2007., 100-109.
[51] Misbhauddin, M., Alshayeb, M. (2010). Extending the UML Metamodel for Sequence Diagram to Enhance Model Traceability. 2010 Fifth International Conference on Software Engineering Advances (ICSEA), Nice France, 22-27 Aug. 2010, 129-134.
[52] Olson, J. A. (2009). Data as a Service: Are We in the Clouds? Journal of Map & Geography Libraries 6 (1), 76-78.
[53] OMG (2003). Model-Driven Architecture Guide Version 1.0.1. Object Management Group. Retrieved from: http://www.omg.org. (Accessed 11 July 2010)
[54] OMG (2005). Request For Proposal Information Management Metamodel (IMM). Object Management Group. Retrieved from: http://www.omg.org. (Accessed 17 July 2011)
[55] OMG (2006). Object Constraint Language Version 2.0. Object Management Group. Retrieved from: http://www.omg.org. (Accessed 11 July 2010)
[56] OMG (2007). Unified Modeling Language: Superstructure version 2.1.1. Object Management Group. Retrieved from: http://www.omg.org. (accessed 11 July 2010)
[57] OMG (2011). Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, OMG Document Number: formal/2011-01-01. Retrieved from: http://www.omg.org/spec. (accessed 11 March 2012)
[58] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W. (1991). Object-Oriented Modeling and Design. Prentice Hall.
[59] Silberschatz, Korth, H.F. and Sudarshan, S. (2002). Database System Concepts 4th Edition, The McGraw-Hill Companies, Inc., New York.
[60] Song, E., Yin, S., Ray, I. (2007). Using UML to model relational database operations. Computer Standards & Interfaces, 29 (3), 343-354.
[61] Stahl, T. and Volter, M. (2006). Model-Driven Software Development: Technology, Engineering, Management. Wiley, England.
[62] Truong, H.L. and Dustdar, S., (2009). On analyzing and specifying concerns for data as a service, Proceedings of the 2009 IEEE Asia-Pacific Services Computing Conference (APSCC 2009), 7-11 Dec. 2009, pp.87-94.
[63] Torres, A., Galante, R., Pimenta, M.S. (2011). A synergistic model-driven approach for persistence modeling with UML. Journal of Systems and Software, 84(6), 942-957.
[64] Varro, D. (2006). Model transformation by example. Proceedings of Model Driven Engineering Languages and Systems (MODELS 2006), Springer, Genova, LNCS, vol. 4199, 410-424.
[65] Varro, D. and Balogh, A. (2007). The model transformation language of the VIATRA2 framework. Science of Computer Programming, 68(3), 214-234.
[66] Wagelaar, D. (2008). Composition Techniques for Rule-Based Model Transformation Languages. Lecture Notes in Computer Science, Volume 5063/2008, 152-167.
[67] Wimmer, M., Strommer, M., Kargl, H., Kramler, G. (2007). Towards Model Transformation Generation By-Example. Proceedings of the 40th Annual Hawaii International Conference on System Sciences, IEEE Computer Society: 285b, January 2007, 1-10.
[68] Wu, J.H., Huang, Y.C., Shin, S.S. (2005). Object-Oriented Analysis and Design: Transformation from Class Diagram to Relational Table and Application Template. Journal of Internet Technology, 6(4), 453-462.
[69] Yemelyanov, A. (2008). Using ADO.NET Entity Framework in Domain-Driven Design: A Pattern Approach. Master thesis, IT University of Goteborg, Chalmers University of Technology and University of Gothenburg, Goteborg, Sweden.
[70] Zhang, J., Feng, P., Wu, Z., Yu, D., Chen, K. (2010). Activity based CIM modeling and transformation for business process systems. International Journal of Software Engineering and Knowledge Engineering, 20(3), 289-309.
[71] Zubcoff, J., Trujillo, J. (2007). A UML 2.0 profile to design Association Rule mining models in the multidimensional conceptual modeling of data warehouses. Data & Knowledge Engineering, 63(1), 44-62.
[72] Zubcoff, J., Pardillo, J., Trujillo, J. (2009). A UML profile for the conceptual modelling of data-mining with time-series in data warehouses. Information and Software Technology, 51(6), 977-992.

QR CODE