22 research outputs found

    MODEL DRIVEN SOFTWARE PRODUCT LINE ENGINEERING: SYSTEM VARIABILITY VIEW AND PROCESS IMPLICATIONS

    Full text link
    La Ingeniería de Líneas de Productos Software -Software Product Line Engineerings (SPLEs) en inglés- es una técnica de desarrollo de software que busca aplicar los principios de la fabricación industrial para la obtención de aplicaciones informáticas: esto es, una Línea de productos Software -Software Product Line (SPL)- se emplea para producir una familia de productos con características comunes, cuyos miembros, sin embargo, pueden tener características diferenciales. Identificar a priori estas características comunes y diferenciales permite maximizar la reutilización, reduciendo el tiempo y el coste del desarrollo. Describir estas relaciones con la suficiente expresividad se vuelve un aspecto fundamental para conseguir el éxito. La Ingeniería Dirigida por Modelos -Model Driven Engineering (MDE) en inglés- se ha revelado en los últimos años como un paradigma que permite tratar con artefactos software con un alto nivel de abstracción de forma efectiva. Gracias a ello, las SPLs puede aprovecharse en granmedida de los estándares y herramientas que han surgido dentro de la comunidad de MDE. No obstante, aún no se ha conseguido una buena integración entre SPLE y MDE, y como consecuencia, los mecanismos para la gestión de la variabilidad no son suficientemente expresivos. De esta manera, no es posible integrar la variabilidad de forma eficiente en procesos complejos de desarrollo de software donde las diferentes vistas de un sistema, las transformaciones de modelos y la generación de código juegan un papel fundamental. Esta tesis presenta MULTIPLE, un marco de trabajo y una herramienta que persiguen integrar de forma precisa y eficiente los mecanismos de gestión de variabilidad propios de las SPLs dentro de los procesos de MDE. MULTIPLE proporciona lenguajes específicos de dominio para especificar diferentes vistas de los sistemas software. Entre ellas se hace especial hincapié en la vista de variabilidad ya que es determinante para la especificación de SPLs.Gómez Llana, A. (2012). MODEL DRIVEN SOFTWARE PRODUCT LINE ENGINEERING: SYSTEM VARIABILITY VIEW AND PROCESS IMPLICATIONS [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/15075Palanci

    HuRoME: entorno de modelado para el software de un robot humanoide

    Get PDF
    Actualmente, el Desarrollo de Software Dirigido por Modelos (DSDM) representa uno de los paradigmas de desarrollo software más en boga en el ámbito de la Ingeniería del Software. Las tecnologías en torno a este nuevo enfoque ofrecen una aproximación prometedora para superar las limitaciones expresivas de los lenguajes de programación de tercera generación, permitiendo a los diseñadores describir sistemas cada vez más complejos de manera más simple, gracias a la utilización de conceptos propios de sus dominios de aplicación. El DSDM busca, por lo tanto, elevar el nivel de abstracción utilizado durante las distintas etapas del ciclo de vida del software. El DSDM ha sido aplicado de forma exitosa en algunos dominios, como en el diseño de sistemas empotrados, o en redes de sensores. Sin embargo, en el dominio de la robótica sólo es posible encontrar algunas referencias muy recientes, que apuntan hacia un creciente interés de la comunidad en este nuevo paradigma de desarrollo software. Según esto se debe a la “falta crónica de normalización, interoperabilidad y reutilización del software”, especialmente en áreas como la robótica. El presente proyecto trata de ilustrar los beneficios de aplicar el DSDM al ámbito de la robótica. Para ello, el entorno HuRoME (Humanoid Robot Modeling Environment), que se presenta en este proyecto, ofrece una aproximación al desarrollo de software para robótica utilizando un enfoque dirigido por modelos. Este entorno se plantea como un conjunto de herramientas diseñadas para facilitar el modelado de coreografías (secuencias de movimientos) y la modernización del software existente para el robot humanoide Robonova. Así pues, HuRoME permitirá a los numerosos usuarios de Robonova, incluso a aquellos que adolecen de formación técnica específica sobre control o programación de robots, modelar gráficamente y validar formalmente las secuencias de movimientos del robot (coreografías), generar automáticamente la implementación asociada a cada coreografía en el lenguaje específico, y modernizar y reutilizar el software ya existente, permitiendo la obtención de los modelos equivalentes a cualquier programa existente.Escuela Técnica superior de Ingeniería Agronómic

    Acquisition and Declarative Analytical Processing of Spatio-Temporal Observation Data

    Get PDF
    A generic framework for spatio-temporal observation data acquisition and declarative analytical processing has been designed and implemented in this Thesis. The main contributions of this Thesis may be summarized as follows: 1) generalization of a data acquisition and dissemination server, with great applicability in many scientific and industrial domains, providing flexibility in the incorporation of different technologies for data acquisition, data persistence and data dissemination, 2) definition of a new hybrid logical-functional paradigm to formalize a novel data model for the integrated management of entity and sampled data, 3) definition of a novel spatio-temporal declarative data analysis language for the previous data model, 4) definition of a data warehouse data model supporting observation data semantics, including application of the above language to the declarative definition of observation processes executed during observation data load, and 5) column-oriented parallel and distributed implementation of the spatial analysis declarative language. The huge amount of data to be processed forces the exploitation of current multi-core hardware architectures and multi-node cluster infrastructures

    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

    Automatic Generation of Cases in Event Processing using EPL

    Get PDF
    https://prezi.com/ikn8ub6nth1u/generacion-automatica-de-casos-en-procesamiento-de-eventos-con-epl/ (presentación)La aplicación en diversas áreas de Internet de las Cosas (IoT) ha ido en aumento en los últimos años. Uno de los principales inconvenientes que tienen los sistemas IoT es la cantidad de información que tienen que manejar. Esta información llega en forma de eventos, cuyo receptor ha de tomar las decisiones correctas, en tiempo real, según los datos recibidos. A raíz de estos nuevos sistemas, surgen nuevas herramientas, dispositivos, lenguajes y mecanismos para obtener, procesar y transmitir esta información. Entre estas novedades se destacan los lenguajes de programación "Event Processing Language" (EPL), que se desarrollaron para detectar las situaciones de interés sobre un dominio concreto en tiempo real. Estos lenguajes utilizan patrones para describir las situaciones en las que se quiere filtrar la información, para realizar las actuaciones correctas. Los lenguajes EPL procesan y analizan grandes cantidades de datos (eventos) en tiempo real, por lo que cualquier fallo de programación podría afectar gravemente en la toma de decisiones. Viendo la relevancia que tiene el procesado de esta información, resulta fundamental analizar y probar programas escritos en estos lenguajes de programación, detectando los posibles fallos más comunes que los programadores pueden cometer. Para poder hacer cualquier tipo de prueba en sistemas que utilicen EPL, se necesita una gran cantidad de eventos con estructuras y valores específicos. Conseguir estos eventos de forma manual puede ser una tarea muy costosa y propensa a errores. Esta tesis aborda el problema de la generación automática de los casos de prueba proponiendo y empleando un método para la generación automática de eventos, el cual se comparará con los sistemas de generación de eventos disponibles. El método incluye una propuesta de especificación para la definición de tipos de eventos y un generador de eventos basado en la especificación anterior. Con este método se obtienen casos de prueba, que van a permitir evaluar situaciones críticas de las aplicaciones, ya que los eventos pueden ser generados con valores concretos que ayuden a simularlas. Adicionalmente, para validar el método propuesto, se escoge el lenguaje de consulta EPL de la empresa EsperTech y se aplica la prueba de mutaciones en programas que lanzan este tipo de consultas. Entre los motivos de la elección del lenguaje EPL de EsperTech se destaca que es de código abierto y que su sintaxis se aproxima bastante al lenguaje SQL (ampliamente conocido). Por otro lado, se escoge la prueba de mutaciones ya que esta ha sido aplicada con éxito a una gran variedad de lenguajes de programación y mostramos que es una técnica de prueba adecuada para verificar y validar estos programas. Se generan multitud de variantes del programa a probar que representan los fallos máscomunes de programación. Para poder aplicar la prueba de mutaciones se requiere de una gran cantidad de casos de prueba. Dado que la prueba de mutaciones no había sido aplicada anteriormente a este lenguaje, esta tesis afronta el proceso completo de aplicación de esta técnica a un lenguaje: definición de operadores de mutación, desarrollo de una herramienta de generación y ejecución automática de los mutantes y evaluación de los operadores definidos (comprobando su frecuencia de aplicación en casos de estudio).Internet of Things (IoT) has increasingly become popular in diferent areas. One of the main drawbacks of the IoT systems is the amount of information they have to handle. This information arrives as events that need to be processed in real-time in order to make correct decisions. As a consequence, new ways (tools, devices, mechanisms...) of obtaining, processing and transmitting information have to be put into action. It is worth mentioning the "Event Processing Languages" (EPL), which were created to detect, in real-time, interesting situations in a particular domain. These languages use patterns to filter the information (good knowledge of the EPL languages is needed). A huge amount of data is processed and analysed by EPLs, so any programmer error could seriously affect the outcome because of a poor decision-making system. Given that processing the data is crucial, testing and analysing programs that run any EPL language is required. The most common mistakes that programmers could make have to be detected. A large number of events with specific values and structures are needed to apply any kind of testing in programs which use EPL. As this is a very hard task and very prone to error if done by hand, this dissertation addresses the automated generation of test cases; a method to automatically generate events has been proposed and used. Moreover, it will be compared to existing event generation systems. This method includes a general definition of what is an event type and its representation is proposed. Additionally, an event generator is developed based on this definition. Test cases to evaluate critical situations the EPL programs may suffer are obtained following this method. The proposed method allows the generation of events with specific values and structures, which will simulate these critical situations. In order to validate the proposed method, the EPL of EsperTech company is selected to apply mutation testing to programs which run the EsperTech EPL queries. EsperTech EPL language has been selected because it is open source and its syntax is very similar to SQL language (very popular programming language). Mutation testing is the chosen testing technique because it has been successfully applied to various programming languages. Mutation testing is a suitable testing technique to verify and validate these programs. Several variations of the original program are generated, which include "typical" programming errors. In order to apply mutation testing, a huge amount of data is required. Due to mutation testing has not been applied to EsperTech EPL language before, this dissertation faces the complete process of applying the mutation testing technique toa programming language: mutation operators definition, development of a tool which automatically generates and executes mutants and evaluation of the defined operators (checking their application frequency in studies cases).Documento PDF de 328 páginas https://dialnet.unirioja.es/servlet/tesis?codigo=71530 https://www.researchgate.net/profile/L_Gutierrez-Madronal/publication/318394697_Generacion_Automatica_de_Casos_en_Procesamiento_de_Eventos_con_EPL_Automatic_Generation_of_Cases_in_Event_Processing_using_EPL/links/59675223458515e9af9e9e55/Generacion-Automatica-de-Casos-en-Procesamiento-de-Eventos-con-EPL-Automatic-Generation-of-Cases-in-Event-Processing-using-EPL.pd

    WICC 2017 : XIX Workshop de Investigadores en Ciencias de la Computación

    Get PDF
    Actas del XIX Workshop de Investigadores en Ciencias de la Computación (WICC 2017), realizado en el Instituto Tecnológico de Buenos Aires (ITBA), el 27 y 28 de abril de 2017.Red de Universidades con Carreras en Informática (RedUNCI

    WICC 2016 : XVIII Workshop de Investigadores en Ciencias de la Computación

    Get PDF
    Actas del XVIII Workshop de Investigadores en Ciencias de la Computación (WICC 2016), realizado en la Universidad Nacional de Entre Ríos, el 14 y 15 de abril de 2016.Red de Universidades con Carreras en Informática (RedUNCI

    XXI Workshop de Investigadores en Ciencias de la Computación - WICC 2019: libro de actas

    Get PDF
    Trabajos presentados en el XXI Workshop de Investigadores en Ciencias de la Computación (WICC), celebrado en la provincia de San Juan los días 25 y 26 de abril 2019, organizado por la Red de Universidades con Carreras en Informática (RedUNCI) y la Facultad de Ciencias Exactas, Físicas y Naturales de la Universidad Nacional de San Juan.Red de Universidades con Carreras en Informátic

    XXI Workshop de Investigadores en Ciencias de la Computación - WICC 2019: libro de actas

    Get PDF
    Trabajos presentados en el XXI Workshop de Investigadores en Ciencias de la Computación (WICC), celebrado en la provincia de San Juan los días 25 y 26 de abril 2019, organizado por la Red de Universidades con Carreras en Informática (RedUNCI) y la Facultad de Ciencias Exactas, Físicas y Naturales de la Universidad Nacional de San Juan.Red de Universidades con Carreras en Informátic

    XX Workshop de Investigadores en Ciencias de la Computación - WICC 2018 : Libro de actas

    Get PDF
    Actas del XX Workshop de Investigadores en Ciencias de la Computación (WICC 2018), realizado en Facultad de Ciencias Exactas y Naturales y Agrimensura de la Universidad Nacional del Nordeste, los dìas 26 y 27 de abril de 2018.Red de Universidades con Carreras en Informática (RedUNCI
    corecore