An Abstract Meta-Model for Model Driven Development of Web Applications Targeting Multiple Platforms
Total Page:16
File Type:pdf, Size:1020Kb
An Abstract Meta-Model for Model Driven Development of Web Applications Targeting Multiple Platforms Ali Fatolahi Thesis submitted to the Faculty of Graduate and Postdoctoral Studies in partial fulfillment of the requirements for the PhD degree in Computer Science Ottawa-Carleton Institute for Computer Science School of Electrical Engineering and Computer Science Faculty of Engineering University of Ottawa © Ali Fatolahi, Ottawa, Canada, 2012 Abstract. In this thesis, we present an abstract meta-model for model driven development of web applications targeting multiple platforms. We review the existing technologies and the related work in order to obtain a list of requirements for such an abstract model. The abstract model is built by extending an existing UML-based model for web applications. We demonstrate that it is possible to map this abstract model to more than one specific development platform by providing transformations for these mappings. We also lay out the general outline of a model- driven process based on the proposed abstract model. The abstract model and the model-driven process are supported by a set of tools, case studies and a visual modeling notation. Model-driven techniques have been used in the area of web development to a great extent. Most of the existing approaches are tuned toward specific platforms or develop only certain parts of web applications. These approaches generally use meta-models adapted to their targeted platforms. In order to flexibly target multiple platforms, the level of abstraction of the meta-model must be raised. Such a meta-model must allow the description of relevant features of web applications independently from the specificities of specific platforms. Additionally, transformations mapping from abstract to specific web descriptions must be expressible in a flexible way. In this thesis, we propose such an abstract meta-model. Mappings that transform abstract models to specific platforms are also presented. Different benefits can be foreseen from this approach. By relieving developers from low- level platform-specific related design, the approach has the potential to shift the development task to issues related to business needs. Another benefit is shortened development time. This could help web developers to overcome the problem of schedule delays, which is recognized as one of the top five most-cited problems with large-scale web systems. The approach is specifically suitable for information-intensive web-based systems. These applications typically involve large data stores accessed through a web interface. A distinctive aspect of this approach is its use of a specification of the data mapping as part of its high-level input. More importantly, the common features required to process data and communicate data objects between different layers and components are targeted. I Acknowledgements. This dissertation would not have been possible without the guidance and the help of several individuals who in one way or another contributed and extended their valuable assistance in the preparation and completion of this study. First of all, I wish to express my gratitude to my supervisors Stéphane S. Somé and Timothy C. Lethbridge, whose encouragement, guidance and support from the initial to the final level enabled me to develop an understanding of the subject. Further, I would like to offer my regards and blessings to the members of the committees of my comprehensive examination, thesis proposal defense as well as the final thesis defense for their very helpful comments and recommendations. I also extend my best wishes to all my friends, who supported me in any respect during the completion of the project especially my dear friends Saeed Ahmadi Behnam for peer-reviewing the thesis and Shahram Jalalinia for providing me the access to one of the major case studies. The last but not the least, I am heartily thankful to my beloved wife for her understanding and endless love, through the duration of my studies. II Table of Contents Chapter 1. Introduction ............................................................................................................... 1 1.1 Motivation ........................................................................................................................ 1 1.2 Problem Statement ........................................................................................................... 4 1.3 Hypothesis ........................................................................................................................ 4 1.4 Solution Layout ................................................................................................................ 4 1.5 Research Methodology ..................................................................................................... 7 1.6 Contributions .................................................................................................................... 8 1.7 Outline ............................................................................................................................ 12 Chapter 2. Background ............................................................................................................. 13 2.1 Separation of Concerns .................................................................................................. 13 2.1.1 Model-View Controller (MVC) .............................................................................. 14 2.2 Model Driven Development (MDD) .............................................................................. 16 2.2.1 Model-Driven Architecture (MDA) ........................................................................ 17 2.2.2 PIM and PSM .......................................................................................................... 18 2.2.3 Platform................................................................................................................... 21 2.3 Use Cases ....................................................................................................................... 23 2.4 State Machines ............................................................................................................... 25 2.5 Information Systems ...................................................................................................... 27 2.6 Transformations ............................................................................................................. 28 2.6.1 Transformation Languages ..................................................................................... 29 2.6.2 Visual Transformation Languages .......................................................................... 32 2.6.3 Types of Transformations ....................................................................................... 33 2.6.4 Transformation Implementation Tools ................................................................... 34 2.7 User Interface Modeling................................................................................................. 34 2.8 Web Engineering ............................................................................................................ 36 2.9 Summary ........................................................................................................................ 38 Chapter 3. Literature Review.................................................................................................... 39 3.1 Requirements of an Abstract Web Model ...................................................................... 39 3.2 General MDWE-Related Approaches ............................................................................ 43 3.2.1 Related Approaches ................................................................................................ 43 3.2.2 Other Approaches ................................................................................................... 44 3.3 Related Approaches........................................................................................................ 47 3.3.1 Unified Web Engineering (UWE) .......................................................................... 47 III 3.3.2 Object Oriented Hypermedia Design Method (OOHDM)...................................... 49 3.3.3 Wu et al.'s approach ................................................................................................ 50 3.3.4 Web Software Architecture (WebSA) .................................................................... 51 3.3.5 Ubiquitous Web Application (UWA) ..................................................................... 52 3.3.6 Muller et al's approach ............................................................................................ 53 3.4 The Web Modeling Language (WebML)....................................................................... 54 3.5 The Botterweck Model ................................................................................................... 57 3.6 Comparative Study of the Existing Approaches ............................................................ 59 3.7 Summary ........................................................................................................................ 63 Chapter 4. The APSM .............................................................................................................. 64 4.1 Basic Terminology ......................................................................................................... 64 4.2 A High-Level