5 research outputs found

    A Rule-based Engine to support a Framework for the Experimental Validation of Domain Specific Languages

    Get PDF
    Software systems are widely used in people daily routines and responsibilities, therefore, systems need to be developed rapidly and efficiently. Domain specific languages (DSLs) are languages that are applied to a specific application domain. Since DSLs provide notations and constructs adapted to a particular domain, they offer gains in expressiveness and ease of use when compared with general-purpose languages (GPLs). Therefore, one of the most important steps in the Software Language Engineering is the evaluation of the languages produced, with the end-users, since the risk of building inappropriate languages, that often do not fit the end users, may decrease productivity. Although DSLs evaluation is one of the most important steps in development process, Software Language Engineers tend to relax the experimental validation of their products due to several reasons like costs (time, means, money, the number of people required, etc.) and required know-how associated with it. The lack of systematic approaches and guidelines to evaluate DSLs, and a comprehensive set of tools may explain this shortcoming in the current state of practice. The Usability Driven DSL development with USE-ME (USE-ME) approach, developed in NOVA-LINCS, "promotes the quality in use of DSLs by building a framework that leverages usability as a main concern". The feedback of the pilot studies was that despite the approach was "more or less easy" to understand it was not easy to model, since "there were too many steps to follow" and the framework did not provide a "guided cycle". So, in order to improve the system usability and the quality of the models produced with USE-ME, we developed a new version of the framework with validation rules implemented with Eclipse Validation Language (EVL) that guide, suggest and validate the Software Language Engineer actions throughout the development process. The validation rules were designed in such a way that the tool educates the user about the process, so that the user makes the best decision regarding his DSL evaluation. We performed two experiments, with different goals. The main goals of the first one was to analyse the effect of validation rules on the USE-ME framework, with respect to their impact on the System Usability Scale, and on the Model Correctness of USE-ME models. We analysed the results and we found evidences of improvements on the System Usability Scale, and on the Model Correctness of models, brought by the addition of the rules. The second experiment was conducted with a research team from Ege University, in Turkey. The main goal of this experiment was to perform a guided evaluation on a DSL related with Multi-Agent Systems, SEA-ML. Since the number of participants was low we cannot draw conclusions regarding this experiment. Despite the significant results from the first experiment further evaluation on the new version of the framework is necessary, this time, with more experienced users and with more complex exercises. With this new experiment, we can compare the results and improve the USE-ME framework

    A Domain-Specific Modelling Language for Adventure Educational Games and Flow Theory

    Get PDF
    Designing educational games is a complex task and needs collaboration between game developers and an educator. Domain-Specific Modeling Language (DSML) offers an approach to simplify the design activities of educational games and support the involvement of both game developers and educators. This paper presents an extension of Serious Game Logic and Structure Modeling Language (GLiSMo), a DSML that designs the logical and structural views of educational adventure games. The gap in the original GLiSMo is that it did not allow an educational game to be designed according to any learning theories. Furthermore, the original GLiSMo does not cover all concepts in the adventure genre. The authors intend to extend the original GLiSMo by adding the concepts of Flow Theory and concepts of the adventure genre to make it more expressive. The extended DSML is called FA-GLiSMo. The authors evaluated the expressiveness of FA-GLiSMo using Framework for Qualitative Assessment of DSLs (FQAD). The result shows that the expressiveness of FA-GLiSMo is still ‘incomplete’ due to the lack of clarity of semantics for several domain concepts. Improvements were performed, and the finalized FA-GLiSMo now has fifteen (15) concepts of the Logic diagram, nineteen (19) concepts of the Structure diagram, and a new diagram called the Flow diagram containing five (5) concepts of the Flow Theory. The authors also demonstrate in this paper the concrete syntax of FA-GLiSMo using the Tales of Monkey Island game as a case study

    RESTful Web Services Development with a Model-Driven Engineering Approach

    Get PDF
    A RESTful web service implementation requires following the constrains inherent to Representational State Transfer (REST) architectural style, which, being a non-trivial task, often leads to solutions that do not fulfill those requirements properly. Model-driven techniques have been proposed to improve the development of complex applications. In model-driven software development, software is not implemented manually based on informal descriptions, but partial or completely generated from formal models derived from metamodels. A model driven approach, materialized in a domain specific language that integrates the OpenAPI specification, an emerging standard for describing REST services, allows developers to use a design first approach in the web service development process, focusing in the definition of resources and their relationships, leaving the repetitive code production process to the automation provided by model-driven engineering techniques. This also allows to shift the creative coding process to the resolution of the complex business rules, instead of the tiresome and error-prone create, read, update, and delete operations. The code generation process covers the web service flow, from the establishment and exposure of the endpoints to the definition of database tables.A implementação de serviços web RESTful requer que as restrições inerentes ao estilo arquitetónico “Representational State Transfer” (REST) sejam cumpridas, o que, sendo usualmente uma tarefa não trivial, geralmente leva a soluções que não atendem a esses requisitos adequadamente. Técnicas orientadas a modelos têm sido propostas para melhorar o desenvolvimento de aplicações complexas. No desenvolvimento de software orientado a modelos, o software não é implementado manualmente com base em descrições informais, mas parcial ou completamente gerado a partir de modelos formais derivados de meta-modelos. Uma abordagem orientada a modelos, materializada através de uma linguagem específica do domínio que integra a especificação OpenAPI, um padrão emergente para descrever serviços REST, permite aos desenvolvedores usar uma primeira abordagem de design no processo de desenvolvimento de serviços da Web, concentrando-se na definição dos recursos e das suas relações, deixando o processo de produção de código repetitivo para a automação fornecida por técnicas de engenharia orientadas a modelos. Isso também permite focar o processo de codificação criativo na resolução e implementação das regras de negócios mais complexas, em vez de nas operações mais repetitivas e propensas a erros: criação, leitura, atualização e remoção de dados. O processo de geração de código abrange o fluxo do serviço web desde o estabelecimento e exposição dos caminhos para os serviços disponíveis até à definição de tabelas de base de dados
    corecore