15 research outputs found

    System-Level Design and Virtual Prototyping of a Telecommunication Application on a NUMA Platform

    Get PDF
    International audienceThe use of model-driven approaches for embedded system design has become a common practice. Among these model-driven approaches, only a few of them include the generation of a full-system simulation comprising operating system, code generation for tasks and hardware simulation models. Even less common is the extension to massively parallel, NoC based designs, such as required for high performance streaming applications where dozens of tasks are replicated onto identical general purpose processor cores of a Multi-processor System-on-chip (MP-SoC). We present the extension of a system-level tool to handle clustered Network-on-Chip (NoC) with virtual prototyping platforms. On the one hand, the automatic generation of the virtual prototype becomes more complex as topcell, address mapping and linker script have to be adapted. On the other hand, the exploration of the design space is particularly important for this class of applications, as performance may strongly be impacted by Non Uniform Memory Access (NUMA)

    Desenvolvimento de uma ferramenta de geração de código para um sistema de informação

    Get PDF
    A análise de requisitos de software e design de software são tradicionalmente inconsistentes, nomeadamente na perspetiva de modelação de negócios, software e rastreabilidade de implementação [1]. Este problema poderá fazer com que a fase de desenvolvimento dos projetos seja um processo mais demorado que o esperado, e quando um dos modelos sofre uma alteração também poderá fazer com que potencialmente não esteja garantida a rastreabilidade, a partir de qualquer um dos modelos, até à implementação do código. O problema maior das possíveis alterações dosrequisitos e de não ser mantida a atualização dos modelos, é que por vezes a adaptação de um sistema, já implementado ou em vias de implementação, não é simples, podendo fazer com que estas alterações tenham um custo elevado, tal como um impacto negativo relativamente ao tempo de implementação, podendo inclusivamente inviabilizar o projeto [2]. O objetivo deste projeto passa pelo desenvolvimento de uma ferramenta que permita gerar o código que possa ser utilizado, por sua vez, no Hydra Code Generator para gerar o código para a plataforma Hydra, de forma a estabelecer uma relação direta entre a modelação do negócio e a implementação, e assim acelerar o processo de implementação do software, e tornar a fase de desenvolvimento de software mais rápida e automatizada. O código deverá ser gerado tendo em conta uma modelação de um processo de negócio. A modelação será assim baseada numa abordagem aplicada a uma ferramenta de geração de código para a framework Hydra [3]. A principal contribuição deste projeto visa acelerar e automatizar o processo de desenvolvimento de software utilizado na Universidade da Madeira, automatizando a implementação com a geração de uma Domain Specific Language (DSL) para a framework Hydra, através da implementação da relação entre o modelo de negócio, o Plataform Independent Model (PIM), e o modelo de implementação, o Plataform Specific Model (PSM), de forma a conseguir gerar a interface do utilizador, a lógica de negócio e a base de dados. Posteriormente, foram realizados casos de estudo como forma de testar e verificar o funcionamento da ferramenta implementada assim como verificar as suas limitações.Requirements analysis in software and software design are traditionally inconsistent, namely from the perspective of business modeling, software and implementation traceability [1]. This problem can make the development phase of the projects a process that takes longer than expected, and when one of the models is changed, it can also make the traceability not guaranteed, from any of the models to code implementation. The biggest problem with possible changes in system requirements and not keeping the the models updated is that sometimes the adaptation of a system, already implemented or in the process of being implemented, is not simple, which can cause these changes to have a high cost, as well as a negative impact in the implementation time, which may even make the project unfeasible [2]. The objective of this project involves the development of a tool that allows the generation of code that can be used, in the Hydra Code Generator to generate the code for the Hydra platform, in order to establish a direct relationship between business modeling and implementation, and speeding up the software implementation process, and making the software development phase faster and more automated. The code should be generated taking into account a business process modeling. The modeling will be based on an approach applied to a code generation tool for the Hydra framework [3]. The main contribution of this project aims to accelerate and automate the software development process used at the University of Madeira, automating the implementation with the generation of a Domain Specific Language (DSL) for the Hydra framework, through the implementation of the relationship between the business model, the Platform Independent Model (PIM), and the implementation model, the Platform Specific Model (PSM), in order to generate the user interface, the business logic and the database. Later, case studies were carried out as a way of testing and checking the operation of the implemented tool and to verify its limitations

    Runtime translation of OCL-like statements on Simulink models : Expanding domains and optimising queries

    Get PDF
    Open-source model management frameworks such as OCL and ATL tend to focus on manipulating models built atop the Eclipse Modelling Framework (EMF), a de facto standard for domain specific modelling. MATLAB Simulink is a widely used proprietary modelling framework for dynamic systems that is built atop an entirely different technical stack to EMF. To leverage the facilities of open-source model management frameworks with Simulink models, these can be transformed into an EMF-compatible representation. Downsides of this approach include the synchronisation of the native Simulink model and its EMF representation as they evolve; the completeness of the EMF representation, and the transformation cost which can be crippling for large Simulink models. We propose an alternative approach to bridge Simulink models with open-source model management frameworks that uses an “on-the-fly” translation of model management constructs into MATLAB statements. Our approach does not require an EMF representation and can mitigate the cost of the upfront transformation on large models. To evaluate both approaches we measure the performance of a model validation process with Epsilon (a model management framework) on a sample of large Simulink models available on GitHub. Our previous results suggest that, with our approach, the total validation time can be reduced by up to 80%. In this paper, we expand our approach to support the management of Simulink requirements and dictionaries, and we improve the approach to perform queries on collections of model elements more efficiently. We demonstrate the use of the Simulink requirements and dictionaries with a case study and we evaluate the optimisations on collection queries with an experiment that compares the performance of a set of queries on models with different sizes. Our results suggest an improvement by up to 99% on some queries

    Conservative and traceable executions of heterogeneous model management workflows

    Get PDF
    One challenge of developing large scale systems is knowing how artefacts are interrelated across tools and languages, especially when traceability is mandated e.g., by certifying authorities. Another challenge is the interoperability of all required tools to allow the software to be built, tested, and deployed efficiently as it evolves. Build systems have grown in popularity as they facilitate these activities. To cope with the complexities of the development process, engineers can adopt model-driven practices that allow them to raise the system abstraction level by modelling its domain, therefore, reducing the accidental complexity that comes from e.g., writing boilerplate code. However, model-driven practices come with challenges such as integrating heterogeneous model management tasks e.g., validation, and modelling technologies e.g., Simulink (a proprietary modelling environment for dynamic systems). While there are tools that support the execution of model-driven workflows, some support only specific modelling technologies, lack the generation of traceability information, or do not offer the cutting-edge features of build systems like conservative executions i.e., where only tasks affected by changes to resources are executed. In this work we propose ModelFlow, a workflow language and interpreter able to specify and execute model management workflows conservatively and produce traceability information as a side product. In addition, ModelFlow reduces the overhead of model loading and disposal operations by allowing model management tasks to share already loaded models during the workflow execution. Our evaluation shows that ModelFlow can perform conservative executions which can improve the performance times in some scenarios. ModelFlow is designed to support the execution of model management tasks targeting various modelling frameworks and can be used in conjunction with models from heterogeneous technologies. In addition to EMF models, ModelFlow can also handle Simulink models through a driver developed in the context of this thesis which was used to support one case study

    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

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation
    corecore