
UNIVERSIDADE TECNICA´ DE LISBOA INSTITUTO SUPERIOR TECNICO´ Development of CMS-based Web Applications with a Multi-Language Model-Driven Approach Jo~aoPaulo Pedro Mendes de Sousa Saraiva Supervisor: Doctor Alberto Manuel Rodrigues da Silva Thesis approved in public session to obtain the PhD Degree in Information Systems and Computer Engineering Jury final classification: Pass with merit Jury Chairperson: Chairman of the IST Scientific Board Members of the Committee: Doctor Jos´eManuel Nunes Salvador Tribolet Doctor Alberto Manuel Rodrigues da Silva Doctor Vasco Miguel Moreira do Amaral Doctor Leonel Domingos Telo N´obrega Doctor Ant´onioPaulo Teles de Menezes de Correia Leit~ao 2013 UNIVERSIDADE TECNICA´ DE LISBOA INSTITUTO SUPERIOR TECNICO´ Development of CMS-based Web Applications with a Multi-Language Model-Driven Approach Jo~aoPaulo Pedro Mendes de Sousa Saraiva Supervisor: Doctor Alberto Manuel Rodrigues da Silva Thesis approved in public session to obtain the PhD Degree in Information Systems and Computer Engineering Jury final classification: Pass with merit Jury Chairperson: Chairman of the IST Scientific Board Members of the Committee: Doctor Jos´eManuel Nunes Salvador Tribolet, Professor Catedr´aticodo Instituto Superior T´ecnico,da Universidade T´ecnicade Lisboa Doctor Alberto Manuel Rodrigues da Silva, Professor Associado do Instituto Superior T´ecnico,da Universidade T´ecnicade Lisboa Doctor Vasco Miguel Moreira do Amaral, Professor Auxiliar da Faculdade de Ci^enciase Tecnologia, da Universidade Nova de Lisboa Doctor Leonel Domingos Telo N´obrega,Professor Auxiliar do Centro de Ci^encias Matem´aticas,da Universidade da Madeira Doctor Ant´onio Paulo Teles de Menezes de Correia Leit~ao,Professor Auxiliar do Instituto Superior T´ecnico,da Universidade T´ecnicade Lisboa Funding Institutions Funda¸c~aopara a Ci^enciae Tecnologia (FCT) 2013 Abstract The emerging Model-Driven Engineering (MDE) paradigm advocates the usage of models as the most important artifacts in the software development process, while artifacts such as documentation and source code can quickly be produced from those models by using automated transformations. On the other hand, we are witnessing the rising popularity of a particular kind of web application, Content Management Systems (CMS), whose importance for organizational websites and intranets is already acknowledged. Although CMS systems are typically unable to address all the business requirements of an organization by themselves, they can however be used as platforms for more complex web applications that can address those requirements. In fact, some CMS systems are evolving to become the next generation of web application platforms. This dissertation proposes the creation of an MDE approach for the development of web applications based on CMS systems. This approach is based on the creation of two CMS-oriented languages (which are located at different levels of abstraction, and are used to both quickly model a web application and provide a common ground for the creation of additional CMS-oriented languages), and a mechanism for the processing of models specified using those languages. Keywords Software Design; Software Development; Model-Driven Engineering; Content Manage- ment System; Web Application; Modeling Language; Model Synchronization; CMS-ML; CMS-IL; MYNK. v Resumo O paradigma da Engenharia Conduzida por Modelos (MDE) advoga a utiliza¸c~aode modelos como os artefactos mais importantes no processo de desenvolvimento de software, enquanto artefactos como c´odigoou documenta¸c~aopodem ser rapidamente produzidos a partir desses modelos atrav´esde transforma¸c~oesautomatizadas. Por outro lado, estamos a assistir a uma crescente popularidade de um determinado tipo de aplica¸c~ao web, os Sistemas de Gest~aode Conte´udos(CMS), cuja import^anciapara websites e intranets organizacionais j´a´eamplamente reconhecida. Embora tipicamente os CMS n~aotenham por si s´ocapacidade suficiente para cobrir todos os requisitos de neg´ocio de uma organiza¸c~ao, podem ser utilizados como plataformas para aplica¸c~oes web mais complexas que cumpram esses requisitos. De facto, alguns CMS est~aoa evoluir para se tornarem a pr´oximagera¸c~aode plataformas para aplica¸c~oes web. Esta disserta¸c~aoprop~oeuma abordagem MDE para o desenvolvimento de aplica¸c~oes web baseadas em CMS. Esta abordagem d´aespecial ^enfase`asnecessidades dos stakeholders e dos programadores, preconizando a utiliza¸c~aode um conjunto de linguagens de modela¸c~aoe de um mecanismo de sincroniza¸c~aoentre modelos, este ´ultimocom o objectivo de assegurar a consist^enciaentre modelos dos diferentes pontos de vista do mesmo sistema. Palavras-chave Desenho de Software; Desenvolvimento de Software; Engenharia Conduzida por Mo- delos; Sistema de Gest~aode Conte´udos; Aplica¸c~ao Web; Linguagem de Modela¸c~ao; Sincroniza¸c~aode Modelos; CMS-ML; CMS-IL; MYNK. vii Acknowledgements I would like to thank Professor Alberto Silva, my PhD supervisor. I would also like to thank everyone at INESC-ID and at SIQuant for their support. I would also like to thank Funda¸c~aopara a Ci^enciae Tecnologia (FCT) for their financial support with scholarship SFRH/BD/28604/2006, which helped me perform my research work. The outside of the work environment is just as important, and I could not let this opportunity go without thanking all of my closest friends. To them, my gratitude; they were always there for me, even though I wasn't. Also, many thanks to Eng. David Ferreira, for his patience in working with me all these years, all the while putting up with my difficult personality and still being as great a friend as a man could ever hope to have. We have made of our office a forest that will forever be remembered. Last (but certainly not least), a very special thanks to my family. I couldn't have reached this stage in my life if it wasn't for my parents, Carlos Alberto de Sousa Saraiva and Maria Isabel Pedro Mendes de Sousa Saraiva, who always supported me and provided me with all they could. No words could even begin to express how much I truly owe them; thus, I can only try to express my gratitude, and my regret for the little availability and time that was devoted to them over these years. Lisboa, June 2012 Jo~aoPaulo Pedro Mendes de Sousa Saraiva ix Contents 1 Introduction 1 1.1 Background . 2 1.2 Research Context . 5 1.3 Research Problems . 5 1.4 Research Questions and Objective . 8 1.5 Thesis Statement . 8 1.6 Research Method . 9 1.7 Contributions . 10 1.8 Publications . 12 1.9 Dissertation Structure . 15 1.10 Adopted Notations and Conventions . 17 2 Modeling Language Design 19 2.1 Modeling and Model-Driven Engineering . 20 2.2 The OMG Approach . 22 2.2.1 Unified Modeling Language (UML) . 22 2.2.2 Meta Object Facility (MOF) . 24 2.2.3 Model-Driven Architecture (MDA) . 27 2.3 Domain-Specific Modeling (DSM) . 28 2.4 Metamodeling . 30 2.4.1 Modeling Language Components . 31 2.4.2 Metamodeling Issues . 33 2.4.2.1 Strict and Loose Metamodeling . 33 2.4.2.2 Is-A: Instantiation and Specialization . 34 2.4.2.3 Logical Levels and Level Compaction . 36 2.4.2.4 Ontological and Linguistic Instantiation . 38 2.4.2.5 Accidental and Essential Complexity . 39 2.4.3 The MoMM Metamodel . 41 2.5 Similarities to Programming Language Design . 42 xi CONTENTS 3 Model Transformations 47 3.1 Transformations in Model-Driven Engineering . 49 3.1.1 Query/View/Transformation (QVT) . 49 3.1.2 MOF Model To Text Transformation Language (MOFM2T) . 55 3.1.3 ATL Transformation Language (ATL) . 57 3.2 Graph-based Transformations . 60 3.3 Transformations in Traditional Software Development . 60 3.3.1 SQL Scripts . 61 3.3.2 Object-Relational Mapping and Migration Frameworks . 63 3.3.3 Source Code Management . 65 3.3.4 Code Compilation . 68 3.4 XSLT . 69 4 Model-Driven Approaches for Web Application Development 73 4.1 Comparative Analysis . 74 4.1.1 Analysis Criteria . 74 4.1.2 Analysis Results . 75 4.2 Additional Related Work . 79 5 Content Management Systems 83 5.1 Comparative Analysis . 84 5.1.1 Analysis Criteria . 84 5.1.2 Analysis Results . 86 5.2 Additional Related Work . 88 6 The CMS Multi-Language Model-Driven Approach 91 6.1 Problems . 92 6.2 Proposed Solution: a Multi-Language Approach . 93 6.2.1 CMS-ML . 94 6.2.2 CMS-IL . 94 6.2.3 MYNK . 95 6.2.4 Development Workflow . 95 6.2.5 The ReMMM Metamodel . 97 6.3 Guidelines For Language Specification . 99 7 CMS-ML: CMS Modeling Language 105 7.1 Guidelines . 107 7.2 Model Types and Modeling Roles . 109 7.3 CMS-ML Architecture . 111 7.4 WebSite Template Modeling . 112 xii CONTENTS 7.4.1 Structure View . 113 7.4.2 Roles View . 114 7.4.3 Permissions View . 116 7.5 Toolkit Modeling . 118 7.5.1 Roles View . 119 7.5.2 Tasks View . 120 7.5.3 Domain View . 124 7.5.4 States View . 127 7.5.5 WebComponents View . 128 7.5.6 Side Effects View . 131 7.5.7 Interaction Access View . 133 7.5.8 Interaction Triggers View . 134 7.6 WebSite Annotations Modeling . 135 7.7 Additional Features . 137 7.8 Importing Toolkits . 139 7.9 Language Design Considerations . 141 8 CMS-IL: CMS Intermediate Language 145 8.1 Guidelines . 147 8.2 Model Types and Modeling Roles . 149 8.3 CMS-IL Architecture . 152 8.4 WebSite Template Modeling . 153 8.4.1 Structure View . 154 8.4.2 Roles View . 156 8.4.3 Permissions View . 157 8.4.4 Users View . 158 8.4.5 Languages View . 160 8.4.6 Artifacts View . 161 8.4.7 Contents View . 164 8.4.8 Visual Themes View .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages341 Page
-
File Size-