28 research outputs found

    Extensibility Interaction Flow Modeling Language Metamodels to Develop New Web Application Concerns

    Get PDF
    Web engineering is a systematic approach to develop web applications, and numerous web engineering methods have been proposed. These methods were extended through defining new models by using different mechanisms to capture the web application concepts. Due to the complexity rising of web applications, the web engineering methods cannot provide web solutions anymore. Even though Interaction Flow Modeling Language (IFML) is recently proposed as a new method for developing web applications, it has limitations. Therefore these methods need to be improved. In this paper, we present the ability of IFML extensibility to support new concerns from web applications. Moreover, we extend IFML through UML mechanisms to support new concerns from the context to the user interface. The new IFML solves the lack of context web application through defining a new model and becomes a new direction to develop concerns modern web applications

    Towards fast metamodel evolution in LiquidML

    Get PDF
    The software industry is applying Model-driven development approaches due to a core set of benefits, such as raising the level of abstraction and reducing coding errors. However, their underlying modeling languages tend to be quite static, making their evolution hard, specifically when the corresponding metamodel does not support primitives and/or functionalities required in specific business domains. This paper presents an extension to the LiquidML language to support fast metamodel evolution by allowing experts to abstract new language concepts from primitives while supporting automatic tool evolution and zero application downtime. To probe our claims, we evaluate the evolutionary capabilities of existing modeling languages and LiquidML in a real world language extension.Ministerio de Economía y Competitividad TIN2016-76956-C3-2-R (POLOLAS)Ministerio de Economía y Competitividad TIN2015-71938-RED

    Desarrollo dirigido por modelos de aplicaciones móviles multiplataforma a partir de un conjunto de reglas heurísticas basadas en esquemas preconceptuales

    Get PDF
    ilustraciones, diagramas, tablasModel driven development (MDD) approaches aim for increasing development team productivity and decreasing software time-to-market. Such approaches comprise a set of model-to-model and model-to-text transformation rules for generating the source code based on models. Some authors propose MDD approaches for cross-platform mobile applications. So, we perform a systematic literature review looking for MDD approaches for cross-platform mobile applications, having as a result 39 primary studies grouped on 19 different MDD approaches. We observe 100.0 % approaches lack close-to-natural modeling languages, 36.8 % approaches lack design patterns, and 84.2 % lack usability features. In addition, 42.1 % approaches use out-of-date programming languages as automation result. Therefore, we propose an MDD approach for cross-platform mobile applications by using pre-conceptual schemas. Such schemas allow for guaranteeing a close-to-natural modeling language, including design patterns, and including usability features. Moreover, we complete the UN-LEND specification language as an intermediate model between pre-conceptual schemas and cross-platform mobile applications, avoiding the usage of out-of-date programming languages. Then, we design a pre-conceptual-schema-based metamodel in order to develop an MDD prototype based on the Eclipse Modeling Framework and XPAND. We propose a set of heuristic rules divided into model, view, and controller layers, having the pre-conceptual schema as a rule left-hand side, UN-LEND as an intermediate model, and Java-Android and Swift-iOS code as a rule right-hand side. We validate our approach by using a case of study about MobileSQUARE: an Android application for requirements gathering based on a question answering model. As a result, we automatically generate 90.86 % of the MobileSQUARE application by using our approach. Specifically, we observe model layer is close to be fully automated having 98.95 % as automation percentage compared to view and controller layers with 82.31 % and 84.56 % respectively. We expect researchers and software engineering practitioners increase their productivity and decrease software time-to-market based on our results. We identify some future work and challenges such as: including Programming eXperience heuristics in the resulting code (PX); allowing round-trip transformations between code, UN-LEND, and pre-conceptual schemas; including rules related to pre-conceptual schema vectors, matrices, and achievement relationships; improving controller and view layers related rules to increase the automation percentage; developing a compiler for UN-LEND models.Los enfoques de desarrollo dirigidos por modelos (MDD) tienen como objetivo aumentar la productividad del equipo de desarrollo y reducir el tiempo de comercialización del software. Algunos autores proponen enfoques MDD para aplicaciones móviles multiplataforma. Por ello, se realiza una revisión sistemática de la literatura en busca de enfoques MDD para aplicaciones móviles multiplataforma, teniendo como resultado 39 estudios primarios agrupados en 19 enfoques MDD diferentes. Se observa que el 100,0 % de los enfoques carecen de lenguajes de modelado cercanos al natural, el 36,8 % de los enfoques carecen de patrones de diseño y el 84,2 % carecen de características de usabilidad. Además, el 42,1 % de los enfoques utilizan lenguajes de programación obsoletos como resultado de la automatización. Por lo tanto, se propone un enfoque MDD para aplicaciones móviles multiplataforma mediante el uso de esquemas preconceptuales. Estos esquemas permiten garantizar un lenguaje de modelado cercano al natural, incluir patrones de diseño e incluir características de usabilidad. Además, se completa el lenguaje de especificación UN-LEND como modelo intermedio entre los esquemas preconceptuales y las aplicaciones móviles multiplataforma, evitando el uso de lenguajes de programación desfasados. Luego, se diseña un metamodelo del esquema preconceptual para desarrollar un prototipo de MDD basado en el Eclipse Modeling Framework y XPAND. Se propone un conjunto de reglas heurísticas divididas en las capas modelo, vista, y controlador, teniendo al esquema preconceptual como el lado izquierdo de la regla, UN-LEND como modelo intermedio, y el código Android Java e iOS Swift como el lado derecho de la regla. Se valida este enfoque utilizando un caso de estudio sobre MobileSQUARE: una aplicación Android para la recopilación de requisitos basada en un modelo de respuesta a preguntas. Como resultado, se genera automáticamente el 90,86 % de la aplicación MobileS-QUARE utilizando las reglas propuestas. En concreto, se observa que la capa model está cerca de la automatización total teniendo un 98,95 % como porcentaje de automatización en comparación con las capas vista y controlador con un 82,31 % y 84,56 % respectivamente. Se espera que los investigadores y los profesionales de la ingeniería del software aumenten su productividad y reduzcan el tiempo de comercialización del software basándose en estos resultados. Como resultado de esta Tesis de Maestría, se identifican algunas propuestas y retos futuros como: incluir heurísticas de Experiencia del Programador (PX) en el código resultante; permitir las transformaciones de ida y vuelta entre código, UN-LEND y los esquemas preconceptuales; incluir reglas relacionadas con los vectores, la matrices y las relaciones de logro de los esquemas preconceptuales; y desarrollar un compilador para los modelos UN-LEND. (Texto tomado de la fuente)MaestríaMagister en Ingeniería - Ingeniería de SistemasSoftware engineeringÁrea Curricular de Ingeniería de Sistemas e Informátic

    Experiences from developing a web crawler using a model-driven development tool : emerging opportunities

    Get PDF
    Model-driven development (MDD) tools aim to increase software development speed and decrease software time-to-market. Available MDD tools in the market state that software development teams can fast and easily develop “any” software by using them. So, the following research question arises: what is the perception of a software developer in using an MDD tool to create software he/she is used to develop without models? We selected Mendix, a user-friendly and easy configurable MDD tool, to address such a question and develop a domain-specific software artifact. We propose a use case collaborating with a Swiss company that allows users to compare insurances based on web crawling. Therefore, we ask a software developer at the Swiss company to develop a simplified version of a web crawler using the selected MDD tool. The software developer has extensive experience with developing web crawlers. However, for the software developer using MDD tools was a new paradigm of software development. We observe that the software developer successfully developed the web crawler using the MDD tool. However, he/she perceived some difficulties during the development, arising opportunities such as decreasing modeling complexity, increasing the MDD tool integrability, and improving modeling assistance. Finally, we conclude the experience report by drawing next research endeavors to generalize the results and discover new opportunities for improving MDD tools

    Software Technologies - 8th International Joint Conference, ICSOFT 2013 : Revised Selected Papers

    Get PDF

    Design for Change

    Get PDF

    Estimating, planning and managing Agile Web development projects under a value-based perspective

    Get PDF
    Context: The processes of estimating, planning and managing are crucial for software development projects, since the results must be related to several business strategies. The broad expansion of the Internet and the global and interconnected economy make Web development projects be often characterized by expressions like delivering as soon as possible, reducing time to market and adapting to undefined requirements. In this kind of environment, traditional methodologies based on predictive techniques sometimes do not offer very satisfactory results. The rise of Agile methodologies and practices has provided some useful tools that, combined with Web Engineering techniques, can help to establish a framework to estimate, manage and plan Web development projects. Objective: This paper presents a proposal for estimating, planning and managing Web projects, by combining some existing Agile techniques with Web Engineering principles, presenting them as an unified framework which uses the business value to guide the delivery of features. Method: The proposal is analyzed by means of a case study, including a real-life project, in order to obtain relevant conclusions. Results: The results achieved after using the framework in a development project are presented, including interesting results on project planning and estimation, as well as on team productivity throughout the project. Conclusion: It is concluded that the framework can be useful in order to better manage Web-based projects, through a continuous value-based estimation and management process.Ministerio de Economía y Competitividad TIN2013-46928-C3-3-

    Adapting modeling environments to domain specific interactions

    Full text link
    Software tools are being used by experts in a variety of domains. There are numerous software modeling environments tailored to a specific domain expertise. However, there is no consistent approach to generically synthesize a product line of such modeling environments that also take into account the user interaction and experience adapted to the domain. The focus of my thesis is the proposal of a solution to explicitly model user interfaces and interaction of modeling environments so that they can be tailored to the habits and preferences of domain experts. We extend current model-driven engineering techniques that synthesize graphical modeling environments to also take interaction models into account. The formal semantics of our language framework is based on statecharts. We define a development process for generating such modeling environments to maximize reuse through a novel statechart refinement technique.Les outils logiciels sont utilisés par des experts dans une variété de domaines. Il existe de nombreux environnements de modélisation logicielle adaptés á une expertise spécifique. Cependant, il n’existe pas d’approche cohérente pour synthétiser génériquement une ligne de produits de tels environnements de modélisation qui prennent également en compte l’interaction et l’expérience utilisateur adaptées au domaine. L’objectif de ma thése est la proposition d’une solution pour modéliser explicitement les interfaces utilisateur et l’interaction des environnements de modélisation afin qu’ils puissent étre adaptés aux habitudes et aux préférences des experts du domaine. Nous étendons les techniques d’ingénierie actuelles pilotées par un modéle qui synthétisent des environnements de modélisation graphique pour prendre également en compte les modèles d’interaction. La sémantique formelle de notre cadre linguistique est basée sur des statecharts. Nous définissons un processus de développement pour générer de tels environnements de modélisation afin de maximiser la réutilisation à travers une nouveau technique de raffinement de statecharts

    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

    Applying Model-Driven Engineering to Development Scenarios for Web Content Management System Extensions

    Get PDF
    Web content management systems (WCMSs) such as WordPress, Joomla or Drupal have established themselves as popular platforms for instantiating dynamic web applications. Using a WCMS instance allows developers to add additional functionality by implementing installable extension packages. However, extension developers are challenged by dealing with boilerplate code, dependencies between extensions and frequent architectural changes to the underlying WCMS platform. These challenges occur in frequent development scenarios that include initial development and maintenance of extensions as well as migration of existing extension code to new platforms. A promising approach to overcome these challenges is represented by model-driven engineering (MDE). Adopting MDE as development practice, allows developers to define software features within reusable models which abstract the technical knowledge of the targeted system. Using these models as input for platform-specific code generators enables a rapid transformation to standardized software of high quality. However, MDE has not found adoption during extension development in the WCMS domain, due to missing tool support. The results of empirical studies in different domains demonstrate the benefits of MDE. However, empirical evidence of these benefits in the WCMS domain is currently lacking. In this work, we present the concepts and design of an MDE infrastructure for the development and maintenance of WCMS extensions. This infrastructure provides a domain-specific modelling language (DSL) for WCMS extensions, as well as corresponding model editors. In addition, the MDE infrastructure facilitates a set of transformation tools to apply forward and reverse engineering steps. This includes a code generator that uses model instances of the introduced DSL, an extension extractor for code extraction of already deployed WCMS extensions, and a model extraction tool for the creation of model instances based on an existing extension package. To ensure adequacy of the provided MDE infrastructure, we follow a structured research methodology. First, we investigate the representativeness of common development scenarios by conducting interviews with industrial practitioners from the WCMS domain. Second, we propose a general solution concept for these scenarios including involved roles, process steps, and MDE infrastructure facilities. Third, we specify functional and non-functional requirements for an adequate MDE infrastructure, including the expectations of domain experts. To show the applicability of these concepts, we introduce JooMDD as infrastructure instantiation for the Joomla WCMS which provides the most sophisticated extension mechanism in the domain. To gather empirical evidence of the positive impact of MDE during WCMS extension development, we present a mixed-methods empirical investigation with extension developers from the Joomla community. First, we share the method, results and conclusions of a controlled experiment conducted with extension developers from academia and industry. The experiment compares conventional extension development with MDE using the JooMDD infrastructure, focusing on the development of dependent and independent extensions. The results show a clear gain in productivity and quality by using the JooMDD infrastructure. Second, we share the design and observations of a semi-controlled tutorial with four experienced developers who had to apply the JooMDD infrastructure during three scenarios of developing new (both independent and dependent) extensions and of migrating existing ones to a new major platform version. The aim of this study was to obtain direct qualitative feedback about acceptance, usefulness, and open challenges of our MDE approach. Finally, we share lessons learned and discuss the threats to validity of the conducted studies
    corecore