9 research outputs found

    Model driven development implementation of a control systems user interfaces specification tool

    Get PDF
    Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para obtenção do grau de Mestre em Engenharia Informátic

    DSL Composition for model-based test generation

    Get PDF
    Domain specific languages (DSL) which describe reactive systems generally have a need for systematic generation of tests for their models. During the design of a DSL there is a lack of support for its integration with existing model based test generation tools. In this paper, we show how this integration can be conceptualized and systematized. We introduce a framework for composing DSLs for reactive systems, with a particular DSL for Model Based Testing called SATEL (Semi-Automatic Testing Language). This DSL composition is achieved by composing both the syntaxes of the two DSLs and their semantics. The result of this composition is also a language where it is possible to express models in the target DSL and test specifications for those models. The semantics of the composed language corresponds to the generation of test cases for models expressed in the target DSL. We finish the paper by analyzing the compositional framework we obtained in terms of its applicability to other target DSLs

    Parallel run-time for CO-OPN

    Get PDF
    Dissertação para obtenção do Grau de Mestre em Engenharia InformáticaDomain Specific Modeling (DSM) is a methodology to provide programs or system’s specification at higher level of abstraction, making use of domain concepts instead of low level programming details. To support this approach, we need to have enough expressive power in terms of those domain concepts, which means that we need to develop new languages , usually termed Domain Specific Languages (DSLs). An approach to execute specifications developed using DSLs goes by applying a model transformation technique to produce a specification in another language. These transformation techniques are applied sucessively until the specification reaches a language with an implemented run-time. The language named Concurrent Object-Oriented Petri Nets (CO-OPN) is being used successfully as a target language for such model transformation techniques. CO-OPN is an object-oriented formal language for specifying concurrent systems, that separates coordination from computational tasks. CO-OPN offers mechanisms to define the system structure and behavior, and like DSLs, relieves the developer from stipulate how that structure and behavior are attained by the underlying system. The currently available code generator for CO-OPN only produces sequential code, despite of this language potential of expressing specifications rich in concurrent behavior. The generated sequential code can be executed either in a Sequential Run-Time or in the step simulator, which is part of CO-OPN Builder IDE. The generation of sequential code turns out to be an adversity to CO-OPN application since concurrent specifications cannot be executed in parallel and therefore this languages potential is not fully exploited. This dissertation aims at filling this CO-OPN’s execution gap, through the development of a Parallel Run-Time. The new Run-Time is achieved through the adaptation of the sequential code generator and actual execution support mechanisms. In this manner, all concurrent specifications that target CO-OPN benefit from thread safe code, ready for execution in parallel and distributed environments, relieving the developer from delving into parallel programming details.By guaranteeing a safe execution environment, CO-OPN becomes an alternative to the way parallel software is nowadays developed

    Supporting Model-to-Model Transformations: The VMT Approach

    Get PDF
    The model-driven architecture approach (MDA) promotes software development as driven by a thorough modeling phase where application code is automatically generated from a platform specific UML model (PSM). The idea is that the PSM is itself derived from a platform independent UML model (PIM). Such code generation and model derivation are examples of model-to-model transformations. This paper presents the Visual Model Transformation (VMT) approach, which includes a transformation language and a tool to support UML model transformations. The transformation language is a visual declarative language that supports the specification, composition and reuse of model transformation rules. These rules make use of the OCL language and a visual notation to indicate the selection, creation, modification and removal of model elements. An abstract denotational semantics based on graph transformation is sketched for the VMT language. We also present the MEDAL tool, which is a prototype build on top of IBM/Rational XDE development environment, and is a first step towards tool support for the VMT approach

    MINERVA : Model drIveN and sErvice oRiented framework for the continuous improVement of business process & relAted tools

    Get PDF
    Organizations are facing several challenges nowadays, one of the most important ones being their ability to react quickly to changes either to their business process (BP) models or to the software implementing them. These changes can come from different sources: external requirements from partners or the market, or new internal requirements for the way that things are carried out by the defined BPs; they may also arise from improvement opportunities detected for the BPs defined, based on BPs execution monitoring and execution evaluation that is done by the organization, and/or its partners and customers. The increasing complexity of both BPs models and the software implementing them, requires the changes needed or the improvements to be carefully weighed against the impact their introduction will have; they ought also to be carried out in a systematic way to assure a successful development. Two key elements are to provide these requirements: the separation of BPs definition from their implementation to minimize the impact of changes in one to the other, and a process to introduce the changes or improvements in the existing BPs and/or software implementing them. Business Process Management (BPM) provides the means for guiding and supporting the modeling, implementation, deployment, execution and evaluation of BPs in an organization, based on the BP lifecycle. The realization of BPs by means of services provides the basis for separating their definition from the technologies implementing them and helps provide a better response to changes in either of the layers defined -definition and implementation of business processes- with minimum impact on the other. Modeling of both BP and services is a key aspect to support this vision, helping provide traceability between elements from one area to the other, so easing the analysis of the impact of changes, among other things. Models have proven to play an important role in the software development process, one of its key uses in the context of BP realization by means of services is that of designing services at a more abstract level than with specific technologies, also promoting reuse by separating services logic from its implementation. MINERVA: Model drIveN & sErvice oRiented framework for the continuous business process improVement & relAted tools is the framework that has been defined in this thesis work; it takes into account all the aspects mentioned, in which the SOC and MDD paradigms are applied to BPs focusing on their continuous improvement, extending an existing BP lifecycle with explicit execution measurement and improvement activities and elements. It is made up of three dimensions: i) conceptual, which defines the concepts that are managed throughout the framework. ii) methodological, which defines a methodology for service oriented development from BPs with automatic generation of SoaML service models from BPMN2 models, along with a continuous improvement process based on execution measurement of the occurrences of BPs in the organization to carry out the improvement effort. iii) tools support for the whole proposal based on several existing tools we have integrated, along with new ones we have developed. The proposals in MINERVA have been validated by means of an experiment and two case studies carried out in the context of real projects in two organizations, from which, as the main result of the applications performed, it can be concluded that MINERVA can be a useful and key guide for the continuous improvement of BPs realized by services and for the development of service oriented systems from BPs, with automatic generation of service models from BP models.Las organizaciones se enfrentan en la actualidad a varios retos, siendo uno de los más importantes su capacidad para reaccionar rápidamente a los cambios ya sea en sus modelos de procesos de negocio (PN) o en el software que los implementa. Estos cambios pueden provenir de distintas fuentes: requisitos externos de socios o del mercado, o nuevos requisitos internos para la forma en que las cosas se llevan a cabo por los PNs definidos; también pueden surgir de las oportunidades de mejora detectadas para los PNs definidos, en base al monitoreo y evaluación de la ejecución de los PNs llevada a cabo por la organización, y/o sus socios y clientes. La creciente complejidad de los modelos de PNs y del software que los implementa, requiere que los cambios o las mejoras sean sopesados cuidadosamente contra el impacto que su introducción tendrá; también deben llevarse a cabo de manera sistemática para asegurar un desarrollo exitoso. Dos elementos son clave para proveer estos requisitos: la separación de la definición de los PNs de su implementación, para minimizar el impacto de los cambios de uno en otro, y un proceso para introducir los cambios o mejoras en los PNs y/o en el software que los implementa. La Gestión de Procesos de Negocio (Business Process Management, BPM) proporciona los medios para guiar y apoyar el modelado, implementación, despliegue, ejecución y evaluación de PNs en una organización, basado en el ciclo de vida de PNs. La realización de PNs con servicios proporciona la base para la separación de su definición de las tecnologías para implementarlos, y ayuda a proporcionar una mejor respuesta a los cambios en cualquiera de las capas definidas -definición e implementación de procesos de negocio- con un impacto mínimo sobre la otra. El modelado de PNs y servicios es un aspecto clave para apoyar esta visión, ayudando a proveer trazabilidad entre los elementos de un área a la otra, por lo tanto facilitando el análisis del impacto de los cambios, entre otras cosas. Los modelos han demostrado jugar un papel importante en el proceso de desarrollo de software, uno de sus usos principales en el contexto de la realización de PNs con servicios es el de diseñar servicios a un nivel más abstracto que con tecnologías específicas, promoviendo la reutilización separando la lógica de los servicios de su implementacion. MINERVA: Model drIveN & sErvice oRiented framework for the continuous business process improVement & relAted tools es el marco que se ha definido en este trabajo de tesis, que toma en cuenta todos los aspectos mencionados, en el cual los paradigmas de Computación Orientada a Servicios (Service Oriented Computing, SOC) y Desarrollo Dirigido por Modelos (Model Driven Development, MDD) se aplican a los PNs con foco en su mejora continua, extendiendo un ciclo de vida PN existente con actividades y elementos explícitos para la medición de la ejecución y mejora de PNs. El marco se compone de tres dimensiones: i) conceptual, que define los conceptos que se manejan en todo el marco. ii) metodológica, que define una metodología para el desarrollo orientado a servicios desde PNs, con generación automática de modelos de servicio en SoaML desde modelos en BPMN2, junto con un proceso de mejora continua basado en la medición de la ejecución de las ocurrencias de los PNs en la organización para llevar a cabo el esfuerzo de mejora. iii) soporte de herramientas para la propuesta completa basado en la integracion de varias herramientas existentes, junto con otras nuevas que hemos desarrollado. Las propuestas de MINERVA han sido validadas por medio de un experimento y dos casos de estudio realizados en el marco de proyectos reales en dos organizaciones, de los cuales, como resultado principal de las aplicaciones realizadas, se puede concluir que MINERVA puede ser una guía útil y clave para la mejora continua de PNs realizados por servicios y para el desarrollo de sistemas orientados a servicios desde PNs, con generación automática de modelos de servicio a partir de modelos de PN

    A Model Driven Approach to Model Transformations

    Get PDF
    The OMG's Model Driven Architecture (MDA) initiative has been the focus of much attention in both academia and industry, due to its promise of more rapid and consistent software development through the increased use of models. In order for MDA to reach its full potential, the ability to manipulate and transform models { most obviously from the Platform Independent Model (PIM) to the Platform Specific Models (PSM) { is vital. Recognizing this need, the OMG issued a Request For Proposals (RFP) largely concerned with finding a suitable mechanism for trans- forming models. This paper outlines the relevant background material, summarizes the approach taken by the QVT-Partners (to whom the authors belong), presents a non-trivial example using the QVT-Partners approach, and finally sketches out what the future holds for model transformations

    Software Engineering and Petri Nets

    Get PDF
    This booklet contains the proceedings of the Workshop on Software Engineering and Petri Nets (SEPN), held on June 26, 2000. The workshop was held in conjunction with the 21st International Conference on Application and Theory of Petri Nets (ICATPN-2000), organised by the CPN group of the Department of Computer Science, University of Aarhus, Denmark. The SEPN workshop papers are available in electronic form via the web page:http://www.daimi.au.dk/pn2000/proceeding

    Context-aware workflow management in eHealth applications

    Get PDF
    Workflows are a technology to structure work in functional, non-overlapping steps. They define not only the order of execution of the steps, and describe whether steps are executed in parallel, they also specify who or what tool has to fulfill which step. Workflows offer the possibility to automate work, to increase the understandability of processes, and they ease the control of process execution. The tools to manage workflows, so called workflow management systems (WfMSs), are traditionally rigid as they separate workflow definition done at build time from workflow execution done at run time. This makes them ill-suited for managing flexible and unstructured workflows. In this thesis, we focus on the support of flexible processes in eHealth, which are affected by more foreseen than unforeseen events. To bridge the gap between rigid WfMSs and flexible workflows, we developed a concept for dynamic and context-aware workflow management called Flexwoman. Although our focus lies on flexible eHealth processes, Flexwoman is a generic approach that can be applied to several different application domains. Flexwoman supports the usage of context information to adapt processes automatically at run time to foreseen events. Processes can also be manually adapted to handle unforeseen events. To achieve this flexibility, context information from different sensors is unified and thus can be analyzed in the same way. The analysis and adaptation of workflows is executed with a rule engine. A rule engine can store, reason about and apply knowledge automatically and efficiently. Rules and application logic are separated, thus, rules can be changed during run time without affecting application logic or process description. Workflows are internally described by Hierarchical Colored Petri nets (HCPNs) and executed by a HCPN execution engine. HCPNs allow for a deterministic execution of workflows and can represent workflows on different levels of detail. In summary, in Flexwoman, significant context changes (events) trigger automated adaptations that replace parts of the workflow by sub workflows, which can in turn be adapted. The adaptations and the rules for context-aware adaptation are saved in the organizational memory for later reuse. Flexwoman’s event based behavior facilitates proactive adaptations instead of only allowing for adaptations while entering or leaving a task. Replacements are not bound to special places defined at build time but each part of the workflow, which has not been executed yet, can be replaced at run time. We implemented and evaluated the concept. The evaluations show i) that all required functionality is available, ii) that the system scales with a growing number of rules, and iii) that the system correctly handles failure situations
    corecore