11 research outputs found

    MDA-based ATL transformation to generate MVC 2 web models

    Full text link
    Development and maintenance of Web application is still a complex and error-prone process. We need integrated techniques and tool support for automated generation of Web systems and a ready prescription for easy maintenance. The MDA approach proposes an architecture taking into account the development and maintenance of large and complex software. In this paper, we apply MDA approach for generating PSM from UML design to MVC 2Web implementation. That is why we have developed two meta-models handling UML class diagrams and MVC 2 Web applications, then we have to set up transformation rules. These last are expressed in ATL language. To specify the transformation rules (especially CRUD methods) we used a UML profiles. To clearly illustrate the result generated by this transformation, we converted the XMI file generated in an EMF (Eclipse Modeling Framework) model.Comment: International Journal of Computer Science & Information Technology-201

    Model2Roo: A Model Driven Approach for Web Application Development based on the Eclipse Modeling Framework and Spring Roo

    No full text
    International audienceInherent complexity in web application development is continually increasing due to changes in both functional and non-functional requirements, as well as to technological changes like new programming languages, tools, frameworks and development processes. An adequate management of this complexity is required in order to generate high quality software systems. In this paper, an approach based on model-driven techniques is proposed to guide the development of web applications, by focusing on model abstractions rather than implementation details. In order to do so, we propose a set of model extensions, such as profiles and annotations, to describe both the static structure and a subset of functional and non-functional requirements usually associated to web applications

    EMF on Rails

    Full text link
    This is an electronic version of the paper presented at the 7th International Conference on Software Paradigm Trends, ICSOFT 2012, held in Rome.In this paper we propose leveraging existing frameworks for automated web application development, in the style of Ruby on Rails, Grails and Spring Roo, for their use within a Model-Driven Engineering process. Our approach automates the construction of domain-specific generators for web applications in particular domains. These generators are able to synthesize web applications using Spring Roo, starting from annotated models. In this way, designers of web applications do not need to be proficient in web automation frameworks, but they can benefit from the use of domain-specific, intuitive models. We illustrate our approach by generating an application to edit Eclipse Modelling Framework (EMF) models through the web.This work was supported by a grant provided by CONACyT and Tecnol´ogico de Monterrey, Mexico City Campus. This research is part of the project ”Dynamic Probabilistic Graphical Models and their Applications”, number 95185, funded by CONACyT and the European Union through FONCICyT. This work is also supported by the Spanish Ministry of Economy and Competitivity (TIN2011-24139) and the R&D programme of the Madrid Region (S2009/TIC-1650)

    A game engine to make games as multi-agent systems

    Get PDF
    Video games are applications that present design patterns that resemble multi-agent systems. Game objects or actors are like autonomous agents that interact with each other to describe complex systems. The purpose of this work is to develop a game engine to build games as multi-agent systems. The actors or game engine agents have a set of properties and behaviour rules with the end to interact with the environment of the game. The behaviour definition is established through a formal semantic based on predicate logic. The proposed engine tries to fulfil the basic requirements of the multi-agent systems, by adjusting the characteristics of the system, without affecting its potential. Finally, a set of games are introduced to validate the operation and possibilities of the engine

    Arquitectura dirigida por modelos aplicada al desarrollo de metodologĂ­as de aprendizaje de idiomas

    Get PDF
    Hoy en día, cada vez más gente está interesada en el aprendizaje de una segunda -e incluso de una tercera- lengua extranjera. Esto es debido al fenómeno de la globalización, y está siendo facilitado por el uso extensivo de Internet. El proceso de aprendizaje de una lengua extranjera está definido por metodologías y -cada vez más- apoyado por la tecnología. El desarrollo de este tipo de aplicaciones es complejo (por la variedad de los entornos de ejecución, y por tener una gran cantidad de contenidos con frecuencia difíciles de validar), por lo que esta tesis propone un enfoque dirigido por modelos para desarrollo de software para dar soporte a la enseñanza de idiomas. El estudio y análisis de diferentes metodologías para el aprendizaje de idiomas ha permitido obtener, mediante un proceso de abstracción, los elementos comunes a todas ellas: En primer lugar (1) un conjunto/jerarquía de conceptos que se enseñan (contenidos), y (2) un conjunto de recursos (medios) para presentar los conceptos. Por otra parte, todas las metodologías definen (3) diversos tipos de ejercicios de aprendizaje (actividades) y (4) una secuencia o conjunto de secuencias que las relacionan (flujo de control/trabajo). Finalmente, definen una serie de (5) plantillas o disposiciones para la visualización de los contenidos y de las actividades (presentación). Esta tesis presenta una solución Model-Driven Architecture (MDA) que permite el desarrollo de aplicaciones para el aprendizaje de idiomas a partir de modelos. Así pues, desde una capa Computational Independent Model (CIM) hasta la capa Implementation Specific Model (ISM), se presentan los meta-modelos y los editores gráficos para los distintos lenguajes específicos de dominio, que permiten modelar todo lo necesario para el desarrollo de casi cualquier metodología de aprendizaje de idiomas. Por otra parte, en esta tesis también se definen las transformaciones necesarias, y el proceso de transformación asociado, para la generación automática del código fuente (en HTML y JavaScript) de aplicaciones de aprendizaje de idiomas. La propuesta ha sido validada a través del modelado y la generación del código fuente de los elementos de funcionalidad más importantes de la metodología Lexiway, así como de varios tipos de actividades de aprendizaje muy utilizados -y de forma muy parecida- en metodologías como Duolingo y Busuu

    Survey of Template-Based Code Generation

    Full text link
    L'automatisation de la génération des artefacts textuels à partir des modèles est une étape critique dans l'Ingénierie Dirigée par les Modèles (IDM). C'est une transformation de modèles utile pour générer le code source, sérialiser les modèles dans de stockages persistents, générer les rapports ou encore la documentation. Parmi les différents paradigmes de transformation de modèle-au-texte, la génération de code basée sur les templates (TBCG) est la plus utilisée en IDM. La TBCG est une technique de génération qui produit du code à partir des spécifications de haut niveau appelées templates. Compte tenu de la diversité des outils et des approches, il est nécessaire de classifier et de comparer les techniques de TBCG existantes afin d'apporter un soutien approprié aux développeurs. L'objectif de ce mémoire est de mieux comprendre les caractéristiques des techniques de TBCG, identifier les tendances dans la recherche, et éxaminer l'importance du rôle de l'IDM par rapport à cette approche. J'évalue également l'expressivité, la performance et la mise à l'échelle des outils associés selon une série de modèles. Je propose une étude systématique de cartographie de la littérature qui décrit une intéressante vue d'ensemble de la TBCG et une étude comparitive des outils de la TBCG pour mieux guider les dévloppeurs dans leur choix. Cette étude montre que les outils basés sur les modèles offrent plus d'expressivité tandis que les outils basés sur le code sont les plus performants. Enfin, Xtend2 offre le meilleur compromis entre l'expressivité et la performance.A critical step in model-driven engineering (MDE) is the automatic synthesis of a textual artifact from models. This is a very useful model transformation to generate application code, to serialize the model in persistent storage, generate documentation or reports. Among the various model-to-text transformation paradigms, Template-Based Code Generation (TBCG) is the most popular in MDE. TBCG is a synthesis technique that produces code from high-level specifications, called templates. It is a popular technique in MDE given that they both emphasize abstraction and automation. Given the diversity of tools and approaches, it is necessary to classify and compare existing TBCG techniques to provide appropriate support to developers. The goal of this thesis is to better understand the characteristics of TBCG techniques, identify research trends, and assess the importance of the role of MDE in this code synthesis approach. We also evaluate the expressiveness, performance and scalability of the associated tools based on a range of models that implement critical patterns. To this end, we conduct a systematic mapping study of the literature that paints an interesting overview of TBCG and a comparative study on TBCG tools to better guide developers in their choices. This study shows that model-based tools offer more expressiveness whereas code-based tools performed much faster. Xtend2 offers the best compromise between the expressiveness and the performance

    Aspect-oriented model-driven code generation approach for improving code reusability and maintainability

    Get PDF
    Software development teams always need methods that can help in producing high-quality software with reduced development effort and delivery time. Model-Driven Engineering (MDE) as well as Aspect-Oriented Software Development (AOSD) techniques help in reducing the delivery time, and also positively contribute to quality of the produced software. Through the use of AOSD techniques in combination with MDE, an integration of excellent abstraction mechanisms of MDE and capabilities of AOSD with regards to modularity and composition of concerns can be perceived, which is expected to enhance the positive effects of both techniques. To this end, different integration approaches have appeared in literature, but aspect-oriented code generation has advantages over the other approaches. Consequently, a number of aspect-oriented code generation approaches have been offered, but all such approaches lack several features mandatory to materialize a workable integration of aspect technologies in the context of MDE. To address these issues, this research was conducted to present an approach for aspect-oriented model-driven code generation, which focuses on elaborating the conceptual relationship between design models and the implementation code, and exploits the same to obtain aspect-oriented code that is more reusable and maintainable. The key outcomes of this research are the elaboration of the conceptual mappings between elements of visual design and constructs of the code, mapping of the visual models to implementation-specific text-based models, and a technique for generation of aspect-oriented code. The applicability of the proposed approach is shown by the use of case studies, whereas the quality of the approach is measured using reusability and maintainability metrics. A comparison of the proposed approach with existing approaches substantiates its efficacy in terms of reusability and maintainability of code, showing an outperformance of other approaches by the proposed approach against 78% of the employed quality metrics

    Utilizing distributed web resources for enhanced knowledge representation

    Get PDF
    [no abstract

    Analyse/conception par points de vue : le profil VUML

    Get PDF
    L'objectif de la thèse est de proposer une extension du langage de modélisation unifié (UML) orientée points de vue. Cette extension, appelée VUML (View based Unified Modeling Language) offre un formalisme (extension d’UML) pour modéliser un système logiciel par une approche combinant objets et points de vue. Le principal ajout à UML est celui du concept de classe multivues. Une classe multivues est une unité d’abstraction et d’encapsulation qui permet de stocker et restituer l'information en fonction du profil de l'utilisateur. Elle offre des mécanismes de gestion des droits d’accès aux informations, de changement dynamique de points de vue et de gestion de la cohérence entre les vues dépendantes. De plus, VUML propose un modèle de composant multivues qui permet de représenter une classe multivues au niveau du diagramme de composants. Sur le plan sémantique, VUML étend le métamodèle d’UML et introduit un certain nombre de stéréotypes regroupés sous forme d’un profil UML. A l’instar d’UML, la sémantique VUML comprend un aspect statique et un aspect dynamique. La sémantique statique de VUML est définie par le métamodèle, des règles de bonne modélisation (well-formedness rules) exprimées en langage formel OCL (Object Constraint Language) et des descriptions textuelles informelles. La sémantique dynamique quant à elle est décrite d’une manière informelle. Sur le plan méthodologique, VUML propose un noyau d’une démarche qui permet d’intégrer de façon logique et consistante la notion de point de vue dans le processus de développement dans le contexte de l’approche MDA (Model Driven Architecture). L’outil support à VUML a été conçu et réalisé en adaptant l’atelier Objecteering/UML par la technique des profils. Cet outil permet de mener une modélisation à base de vues, de vérifier la cohérence des modèles élaborés et de générer du code objet (Java,...) en appliquant un patron d’implémentation générique sur un diagramme de classes VUML. ABSTRACT : This thesis proposes a viewpoint oriented extension of the Unified Modelling Language. This extension, called VUML (View based Unified Modelling Language) provides a formalism for modelling software systems through objects and viewpoints. The main UML extension is the concept of multiviews class whose goal is to encapsulate and deliver information according to the user profile (viewpoint). VUML allows the dynamic change of viewpoint and offers mechanisms to manage consistency among dependent views. Moreover, VUML proposes a multiviews component model. Such a component allows to represent a multiviews class in a component diagram. On the semantic level, VUML extends the metamodel of UML and introduces a set of stereotypes grouped in a UML profile. As in UML, the VUML semantics includes static and dynamic aspects. The VUML static semantics is defined by the metamodel, the well-formedness rules expressed in the formal language OCL (Object Constraint Language), and informal textual descriptions. The VUML dynamic semantics is described so far in an informal manner. On the methodological level, VUML proposes a process that makes possible a logical and consistent integration of the viewpoint concept in the development process according to the MDA approach. A VUML tool has been designed and implemented by adapting the Objecteering/UML tool through the profile technique. This tool allows to carry out a view based modelling, to check the consistency of the elaborated models and to generate object code (Java...) by applying a generic implementation pattern to a VUML class diagram
    corecore