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 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
Recommended publications
  • ٢ SQL Server ﻣﺎﯾ ﺮوﺳﺎﻓﺖ ﺑﺎ ﻫﻤ ﺎری Sybase ﭘﺎﯾ ﺎه داده اﻧﺤﺼﺎری ﺧﻮد را اراﺋﻪ داده اﺳﺖ
    داﻧﺸ ﺎه ﺷﻬﯿﺪ ﺑﻬﺸﺘ داﻧﺸ ﺪه ﻣﻬﻨﺪﺳ ﺑﺮق و ﮐﺎﻣﭙﯿﻮﺗﺮ ﭘﺮوژهی ﮐﺎرﺷﻨﺎﺳ ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﮔﺮاﯾﺶ ﻧﺮم اﻓﺰار ﻣﻮﺿﻮع ﭘﺮوژه: ﭼﻬﺎرﭼﻮب ﺗﻮﺳﻌﻪ وب اﻣﻦ اﺳﺘﺎد راﻫﻨﻤﺎ: ﺟﻨﺎب آﻗﺎی دﮐﺘﺮ ذاﮐﺮاﻟﺤﺴﯿﻨ ﮔﺮدآوردﻧﺪه: ﻋﺒﺎس ﻧﺎدری اﻓﻮﺷﺘﻪ [email protected] ﺑﻬﺎر ١٣٩١ ﭼ ﯿﺪه: وب ﺑﻪ ﻋﻨﻮان ﻣﻬﻤﺘﺮﯾﻦ ﺑﺴﺘﺮ اراﺋﻪ ﻧﺮماﻓﺰار و ﺳﺮوﯾﺲ، ﺗﺎ ﺟﺎﯾﯽ ﺟﻠﻮ رﻓﺘﻪ ﮐﻪ اﻣﺮوزه ﻣﺤﯿﻂﻫﺎی ﻪﻣﺎﻧﺮﺑﺳﺎزی و ﺣﺘ ﺳﯿﺴﺘﻢﻫﺎی ﻋﺎﻣﻞ ﺗﺤﺖ وب ﻗﺮار ﮔﺮﻓﺘﻪاﻧﺪ.وب ﯾ ﺑﺴﺘﺮ و ﭘﺮوﺗﮑﻞ ﺑﺴﯿﺎر ﺳﺎده اﺳﺖ ﮐﻪ ﺑﺎ اﻫﺪاف دﯾ ﺮی ﻃﺮاﺣ ﺷﺪه ﺑﻮده و ﺑﻪ ﺻﻮرت اﻧﻔﺠﺎری ﮔﺴﺘﺮش ﯾﺎﻓﺘﻪ اﺳﺖ، ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ﺗﻮﻟﯿﺪ ﻧﺮم- اﻓﺰارﻫﺎی ﻣﺒﺘﻨ ﺑﺮ وب ﻧﯿﺎزﻣﻨﺪ ﭼﻬﺎرﭼﻮبﻫﺎی ﮔﺴﺘﺮده و ﻗﺪرﺗﻤﻨﺪی ﻫﺴﺘﻨﺪ. اﯾﻦ ﭼﻬﺎرﭼﻮبﻫﺎی ﻣﻌﻤﻮﻻ در اﻧﺠﻤﻦﻫﺎی ﻣﺘﻦﺑﺎز ﺷ ﻞ ﮔﺮﻓﺘﻪاﻧﺪ و ﻧﻘﺎط ﺿﻌﻒ اﻣﻨﯿﺘ دارﻧﺪ. در اﯾﻦ ﺳﻨﺪ ﭼﻬﺎرﭼﻮب ﺗﻮﺳﻌﻪ وب اﻣﻦ، ﺑﺎ اﺗﮑﺎ ﺑﻪ دو ﭼﻬﺎرﭼﻮب ﺗﻮﻟﯿﺪ ﺷﺪه ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻣﻨﯿﺖ وب ﻣﻄﺮح ﺷﺪهاﻧﺪ. اﺑﺘﺪا ﻣﻔﺎﻫﯿﻢ و ﺳﺎﺧﺘﺎر وب ﺑﻪ ﺗﻔﺼﯿﻞ ﺑﺤﺚ ﺷﺪه ﺗﺎ ﺧﻮاﻧﻨﺪه ﺑﺘﻮاﻧﺪ ﻧﯿﺎز و ﭘﺎﺳ را ﺑﻪ ﺧﻮﺑﯽ درک ﮐﻨﺪ. ﺳﭙﺲ ﻣﺨﺎﻃﺮات ﻣﻮﺟﻮد در اﻣﻨﯿﺖ وب ﻣﻄﺮح و ﺑﺮرﺳ ﺷﺪهاﻧﺪ و در ﺑﺨﺶ اﻧﺘﻬﺎﯾﯽ راﻫ ﺎرﻫﺎی ﻣﻘﺎﺑﻠﻪ ﺑﺎ اﯾﻦ ﻣﺨﺎﻃﺮات اراﺋﻪ ﺷﺪهاﻧﺪ. ﻣﻔﺎﻫﯿﻤ ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎری وب، ﭘﺮوﺗﮑﻞﻫﺎی ﻣﺠﻮد در وب، ﺗﮑﻨﻮﻟﻮژیﻫﺎی ﻣﻮرد اﺳﺘﻔﺎده در وب، ﮐﺎوﺷ ﺮﻫﺎی وب، اﻣﻨﯿﺖ ﻋﻤﻮﻣ وب، اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، MVC، ﭼﻬﺎرﭼﻮبﻫﺎی ﺗﻮﺳﻌﻪ وب و ﻧﯿﺎزﻣﻨﺪیﻫﺎی آﻧﺎن، ﻣﻌﻀﻼت ﻣﺨﺘﻠﻒ وب، ﺗﻌﺎرﯾﻒ اﻣﻨﯿﺖ اﻃﻼﻋﺎت، راﻫ ﺎرﻫﺎی ﺗﻔﺼﯿﻠ و ﻓﻨ ﻣﻘﺎﺑﻠﻪ ﺑﺎ ﻣﻌﻀﻼت اﻣﻨﯿﺘ و دﯾﺪﮔﺎه درﺳﺖ ﺑﻪ اﻣﻨﯿﺖ وب، ﺑﺮﺧ از ﻣﻄﺎﻟﺐ ﭘﻮﺷﺶ داده ﺷﺪه در اﯾﻦ ﺳﻨﺪ ﻣ ﺪﻨﺷﺎﺑ. ﮐﻠﻤﺎت ﮐﻠﯿﺪی: وب، اﻣﻨﯿﺖ، اﻣﻨﯿﺖ ﻧﺮماﻓﺰار، ﭼﻬﺎرﭼﻮب، ﻧﻔﻮذﮔﺮی، ﺗﻮﺳﻌﻪ ﻧﺮماﻓﺰار، ﻣﻬﻨﺪﺳ ﻧﺮماﻓﺰار ﺐﻟﺎﻄﻣ ﺖﺳﺮﻬﻓ 1 ﻪﻣﺪﻘﻣ .............................................................................١ 2 ﻓﺮﻌﻣ ......................................................................٣ 2.1 اﻣﻨﯿﺖ ﻧﺮم اﻓﺰار ..............................................................
    [Show full text]
  • Vue.Js (Evan You, Ancien De Google)
    Crédits : Guillaume Rivière Axios Module d’expertise de 2e année Développer des applications full-web : Devenir développeur full-stack ! < 1. Introduction /> – ESTIA – Guillaume Rivière Dernière révision : mars 2019 1 Contexte . Technologies des GAFAM • Permet de déployer des applications et des services à l’échelle mondiale . Application riches . Progressive webapps . Single-Page Application (SPA) 2 Références . Youtube . Dooble . GMail . Amazon . Facebook . MS O365 . Twitter . Pinterest . Onshape.com . Odoo (OpenERP) 3 Transactions pages web classiques 4 Transactions application web : SPA 5 Histoire . HTML . HTML + CSS . XHTML4 . HTML5 + CSS3 . Ajax . Jquery . Bootstrap . AngularJS / Angular / React / Backbone.js 6 Application full-web . « Stack » • Front-end • API / webservice • Back-end • Base de données Développeur front-end Développeur || full-stack Développeur back-end www.alticreation.com, 2013 7 Webservice d’API : applis web / mobile 9 Cloud computing . SaaS . Google Cloud Platform . AWS . MS Azure 10 Front-end • Angular (TypeScript) • React • Vue Office québécois de la langue française : Application frontale 11 Back-end . Back-end • PHP • Symfony • Laravel • Javascript / Typescript • NodeJS • Python • Djando • Ruby • Rails • R • C++ • Crow • Silicon • Cppcms • Tntnet • ctml Office québécois de la langue française : Application dorsale 12 Base de données . Base de données • Relationnelle • MySQL • PostgreSQL • Not Only SQL (NOSQL) • PostgreSQL • MongoDB 13 Full-Stack . API / Webservice • REST • Format • JSON • XML • XML-RPC • GraphQL 14 Choix pour ce module . VueJS • Simple et facile à apprendre • Permet des projets d’ampleur • Reprend des aspects de React et Angular . Symfony • Très répandu • PHP = 80% des applications serveurs en 201X 15 Plan . VueJS 2 . Symfony 4 . VueJS + Symfony . Projet 16 Prérequis . HTML5 . CSS3 . MySQL . PHP5 . Programmation Orientée Objet .
    [Show full text]
  • Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria
    Department of Computer Science and Software Engineering Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Jiang Li Sleiman Rabah Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] Mingzhi Liu Yuanwei Lai Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] COMP 6411 - A Comparative studies of programming languages 1/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai This page was intentionally left blank COMP 6411 - A Comparative studies of programming languages 2/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai Abstract There are many programming languages in the world today.Each language has their advantage and disavantage. In this paper, we will discuss ten programming languages: C++, C#, Java, Groovy, JavaScript, PHP, Schalar, Scheme, Haskell and AspectJ. We summarize and compare these ten languages on ten different criterion. For example, Default more secure programming practices, Web applications development, OO-based abstraction and etc. At the end, we will give our conclusion that which languages are suitable and which are not for using in some cases. We will also provide evidence and our analysis on why some language are better than other or have advantages over the other on some criterion. 1 Introduction Since there are hundreds of programming languages existing nowadays, it is impossible and inefficient
    [Show full text]
  • Thaddeus Wakefield Batt Engineering Leader
    Thaddeus Wakefield Batt Engineering Leader Internet Technologist with deep experience in creating transformative digital solutions for companies from Personal Info startup to enterprise. DevOps and cloud services expert. Continuous integration, automation, and agile professional at web scale. Practical blockchain development, operations, and implementation. Creative and Address calm problem solver and leader. 7899 E. 25th PL Denver, Colorado 80238 Experience Phone 303.358.1005 11.2017 - Founder/CTO present Blockchain Industries Llc E-mail Denver, CO [email protected] WeChat / Keybase Development and Operations consultancy to blockchain industry projects. kantmakm • Architecture design and implementation of cloud infrastructure and deploy process for LinkedIn full-node Ethereum-like and Bitcoin-like blockchain assets for dedicated block explorers in linkedin.com/in/thaddeusbatt/ support of mobile and desktop multi-currency wallet applications. • EC2, ECS, EBS, RDS, Docker, Github, Ansible, Azure DevOps, Jenkins integration pipelines GitHub • Globally distributed agile development teams github.com/kantmakm/ • Range of established relationships with blockchain infrastructure providers including AWS, ENS Radar, IBM/RedHat and cross-vertical blockchain product development organizations like thaddeusbatt.eth BurstIQ, Ownum, TQ Tezos, Dapix, and Opolis 04.2019 - Blockchain Solutions Architect Skills present Colorado Governor's Office of Information Technology Atlassian Suite (Jira, Bitbucket, Denver, CO Confluence, Bamboo, Trello.)
    [Show full text]
  • High Performance Web Framework
    CppCMS TheThe HighHigh PerformancePerformance WebWeb FrameworkFramework By Artyom Beilis In The Beginning... Year: 2006 90 frames per second New PC: Something AMD 64 bit, Is Wrong! 1GB memory Use: 7 (!) Gaming pages per second Blogging Framework Idea – 2006 Native Code: No: Byte Code No: Just (not) in Time C++C++ Yes:Native Code Recycle: Objects Connections Data Pages CppCMS – 2012 700 downloads/month Active mailing list: 120 members 100 e-mails/month 100,000 lines of code Code contributions to Major Use Cases Web Server Farms Web Embedded Interfaces Systems Resource Consuming Systems PHP Rails Java .Net C++/CppCMS Embedded Web Interfaces Native code – direct HW access Tiny all-in one executable CppCMS library: 1.3MB Python: 2.2MB Both User Interface RESTFul API JSON-RPC API Real World Examples Services Designed for My Customers: RESTFul API for Geographical Database: Architecture: In Memory Database Performance: ~1,000,000 request/minute on low end hardware Advertisement Engine: Architecture: in-memory indexing with intensive caching; SQL as storage engine Performance: ~300,000 ads/minute on low end hardware ~40,000 ads/minute on Amazon's Smallest VPS Some CppCMS Users http://page2rss.com Creates and servers RSS feeds bases on page monitoring http://dhiti.com Content discovery engine http://tatoeba.org Sentence database for language learners http://picase.net Image Sharing Service Features Built-in Web Sever Anti-CSRF Visual C++ Windows LGPL & Commercial GCC Comet FreeBSD Clang Linux Solaris Mac OS X Web Templates Localization Nice URLs SCGI Cache Ajax Sessions FastCGI XSS-Filtering Taking Caching to The Limits Cache Invalidation Gzip compression triggers objects keys Page Cached? Generation No Yes deflate Cache Two levels cache Application In-memory Cache L1 L2 Cache Cache Server Server Asynchronous I/O Event Loop Thread Pool synchronous app.
    [Show full text]
  • VW Golf & Jetta Service and Repair Manual
    VW Golf & Jetta Service and Repair Manual I M Coomber and Christopher Rogers Models covered (1081 - 344 - 1AA11) VW Golf & Jetta Mk 2 models with petrol engines, including fuel injection, catalytic converter, Formel E, 16-valve and special/limited edition models 1043 cc, 1272 cc, 1595 cc & 1781 cc Covers mechanical features of Van. Does not cover Convertible, Rallye, Caddy, diesel engine, 4 -wheel drive, Mk 1 models or new Golf range introduced in February 1992 Printed by J H Haynes & Co. Ltd, Sparkford, Nr Yeovil, Somerset ABCDE FGHIJ BA22 7JJ, England KLMNO PQRST © Haynes Publishing 1997 1 2 3 Haynes Publishing Sparkford Nr Yeovil A book in the Haynes Service and Repair Manual Series Somerset BA22 7JJ England All rights reserved. No part of this book may be reproduced or Haynes North America, Inc transmitted in any form or by any means, electronic or 861 Lawrence Drive mechanical, including photocopying, recording or by any Newbury Park information storage or retrieval system, without permission in California 91320 USA writing from the copyright holder. Editions Haynes S.A. ISBN 1 85960 282 7 147/149, rue Saint Honoré, 75001 PARIS, France British Library Cataloguing in Publication Data Haynes Publishing Nordiska AB A catalogue record for this book is available from the British Library Fyrisborgsgatan 5, 754 50 Uppsala, Sverige Contents LIVING WITH YOUR VOLKSWAGEN GOLF OR JETTA Introduction Page 0•4 Safety First! Page 0•5 Roadside Repairs Introduction Page 0•6 If your car won’t start Page 0•6 Jump starting Page 0•7 Wheel changing Page
    [Show full text]
  • Collection Titles
    Direct e-Learning Solutions for Today’s Careers CBT Direct’s IT Pro Collection Available: 7476 Collection Titles Coming Soon: 557 .NET 2.0 for Delphi Programmers Architecture Tivoli OMEGAMON XE for DB2 Performance .NET 3.5 CD Audio Player: Create a CD Audio 3D Computer Graphics: A Mathematical Expert on z/OS Player in .NET 3.5 Using WPF and DirectSound Introduction with OpenGL A Field Guide to Digital Color .NET Development for Java Programmers "3D for the Web: Interactive 3D animation using A First Look at Solution Installation for .NET Development Security Solutions 3ds max; Flash and Director " Autonomic Computing .NET Domain-Driven Design with C#: Problem - 3D Game Programming All in One A Guide to Global E-Commerce: Issues to Design - Solution 3D Graphics ReferencePoint Suite Consider When Selling Internationally Over the .NET E-Commerce Programming 3D Modeling in AutoCAD: Creating and Using Internet .NET Enterprise Development in C#: From 3D Models in AutoCAD 2000; 2000i; 2002; A Guide to MATLAB Object-Oriented Design to Deployment Second Edition Programming .NET Enterprise Development in VB.NET: From 3D Programming for Windows: Three- A Guide to Software Configuration Design to Deployment Dimensional Graphics Programming for the Management .NET for Visual FoxPro Developers Windows Presentation Foundation A Guide to Software Package Evaluation and .NET Framework ReferencePoint Suite 3ds max 5 Bible Selection .NET Framework Solutions: In Search of the 3ds max 5 For Dummies A Guide to the Project Management Body of Lost Win32 API
    [Show full text]
  • MVC -.::Ly Freitas
    MVC Origem: Wikipédia, a enciclopédia livre. Model-view-controller (MVC), em português modelo-vista-controlador, é um padrão de arquitetura de software (não confundir com um design pattern) que separa a representação da informação da interação do usuário com ele. É normalmente usado para o desenvolvimento de interfaces de usuário que divide uma aplicação em três partes interconectadas. Isto é feito para separar representações de informação internas dos modos como a informação é apresentada para e aceita Um diagrama simples exemplificando a relação entre Model, View e pelo usuário.[1][2] O padrão de projeto MVC separa estes componentes maiores Controller. As linhas sólidas indicam possibilitando a reutilização de código e desenvolvimento paralelo de maneira associação direta e as tracejadas eficiente. indicam associação indireta. O modelo (model) consiste nos dados da aplicação, regras de negócios, lógica e funções. Uma visão (view) pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama. É possível ter várias visões do mesmo dado, como um gráfico de barras para gerenciamento e uma visão tabular para contadores. O controlador (controller) faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão. As ideias centrais por trás do MVC são a reusabilidade de código e separação de conceitos. Tradicionalmente usado para interfaces gráficas de usuário (GUIs), esta arquitetura tornou-se popular para projetar aplicações web e até mesmo para aplicações móveis, para desktop e para outros clientes.[3] Linguagens de programação populares como Java, C#, Ruby, PHP e outras possuem frameworks MVC populares que são atualmente usados no desenvolvimentos de aplicações web.
    [Show full text]
  • Connecting a C++ Based Structural Verification Tool to The
    Connecting a C++ based Structural Verification Tool to the Web Connecting a C++ based Structural Verication Tool to the Web A new bridge between C++ and the Web Carsten Schmitt, Christoph Jäschke, Claudia Wolkober, Ulla Herter IBM Deutschland Research & Development GmbH Schönaicherstr. 220 71032 Böblingen, Germany {carsten.schmitt,jaeschke,ck,ulla.herter}@de.ibm.com Abstract. This paper presents a new approach to combine a web front-end with a C++ applica- tion. It is based on the integration of a web server and an interpreter into the C++ application using dynamic linking while the interface between the web scripts and the application is automatically generated using the open source Simplied Wrapper and Interface Generator (SWIG). This way accessing data and functionality of the C++ process from web scripts is possible. Recompiling is only required if either the C++ application or its interface to the front-end changes. All other changes to the web front- end can even be made while the C++ application is running. This kind of software architecture has proven to work well in context of a C++ based structural verication tool. The described concept is used to present the verication results and the tool's functionality to the user in a web browser and thus improves the overall usability. Es- pecially visualizing parts of the circuit logic in the browser is helpful and improves the collaboration of the hardware development teams across multiple sites while keeping the development eort of the front-end under control. 1. Introduction The development and verication of today's server processors is getting more and more com- plex.
    [Show full text]
  • Scratching the Surface: Getting Started with PHP Fusebox Table of Contents
    By Mike Britton All materials Copyright © 1997−2002 Developer Shed, Inc. except where otherwise noted. Scratching the Surface: Getting Started with PHP Fusebox Table of Contents Introduction.........................................................................................................................................................1 Step 1: Setting Up the Core Files.......................................................................................................................2 The Core Files:.........................................................................................................................................2 What do the "core files" do?..............................................................................................................................3 A Word on FuseDocs..........................................................................................................................................5 Fusebox Naming Conventions...........................................................................................................................6 Picking Up Where We Left Off: Setting Up the Core Files............................................................................7 Using XFAs..........................................................................................................................................................9 What's an XFA?.......................................................................................................................................9
    [Show full text]
  • Entitéentité Relationrelation
    Traduction du CdC CPINFO’11 Nicolas Méger Un petit conseil en passant… Prenez des notes, tout n’est pas écrit contrairement à cette même remarque! Remerciements Jacques Kouloumdjian , professeur à l’INSA Lyon, André Flory, professeur à l’INSA Lyon, Pierre Delisle, Université du Québec à Chicoutimi, Claudine Toffolon, maître de conférences à l’Université du Littoral, Alain Vailly, maître de conférences à l’Université de Nantes, Bernard Morand, maître de conférences en Informatique à l’Institut Universitaire de Technologie de Caen, Lymberis Dimitrios, ETML (École Technique École des Métiers de Lausanne), Frédéric Paquet, Université du Quebec, Michel Lemoine, Office National d’études et de Recherches Aérospatiales (ONRA), Mathieu Seillier, Thales Security Systems, Roberta M. Roth, University of Northern Iowa, Giovanna Di Marzo Serugendo, Université de Genève, Laurent Audibert, maître de conférences à l’IUT de Villetaneuse. 0. Introduction Traduire un CdC, c’est … Définir les informations manipulées : MCD, MLD, MPD. Définir les traitements effectués sur ces informations : cas d’utilisation, diagrammes de séquences, diagrammes d’états-transitions. Et les écrans, à quoi servent-ils ? Définition (rapide) des différents modèles utilisés. MCD : carte des informations, MLD : tables relationnelles implémentées dans le SGBD, MPD : script de création de la base (indexs, uniques, gestion des contraintes d’intégrité). Use case : carte des fonctionnalités, Diagramme de séquence : détail d’une fonctionnalité à travers la modélisation du dialogue entre l’utilisateur et les différents « éléments » de l’application, Diagramme de classes : carte des différents « éléments » de l’application. Diagramme d’état-transitions : pour un type d’information jugé crucial, représentation de ses différents états possibles et des transitions entre ces états.
    [Show full text]
  • NDEO 2018 20Th Annual Conference
    National Dance Education Organization 2017 National Conference Sunday, November 12 - Tuesday, November 14, 2017 Pre-conference intensives Saturday, November 11th Hyatt Regency San Antonio Riverwalk San Antonio, Texas Cultivating Equity and Access: Dance Education for All Photo by Lawrence Peart. Courtesy of University of Texas at Austin. Plan Ahead For NDEO 2018 20th Annual Conference Connections, Knowledge, and Leadership: A New Era in Dance Education Thursday, October 4 – Sunday, October 7, 2018 Hyatt Regency La Jolla at Aventine San Diego, CA Make your plans NOW to attend Conference next year. Full registration information listing pre- and post-conference intensives (additional registration fees apply) will be available in Spring 2018. Registration Rates and Deadlines: Registration will open in Spring 2018 at www.ndeo.org/conf2018. Early Bird (ends 5/30/18)……………………………………………………………………..$380 Regular (5/31/18 – 8/8/18)……....................................................................…………$430 Late (8/9/18 – 9/19/18)……………………………………………………..……..........................$480 On-Site (9/20/18 – 10/4/18)…………………………………………………………......................$530 Student* (ends 9/19/18)…………………………………………………........................$215 *For students whose institution is a member of NDEO, a $50 registration discount is available. One-day conference registration rates are available starting with an Early Bird rate of $195. Conference Hotel Reservation — Reservations are open now! Hyatt Regency La Jolla at Aventine 3777 La Jolla Village Drive San Diego, CA 92122 Reservations: 1-888-421-1442 or https://aws.passkey.com/go/ndeo20 Special NDEO room rate: $189/night plus tax for single and double occupancy. NDEO room rate is available until 9/13/18 or until rooms run out, whichever occurs first. 1 National Dance Education Organization November 12 - 14, 2017 FOCUS ON DANCE EDUCATION: Cultivating Equity and Access: Dance Education for All Mission Statement: The National Dance Education Organization (NDEO) advances dance education centered in the arts.
    [Show full text]