El autor Jordi Cabot ha publicado 16 artículo(s):
Model finders can build instances of declarative specifications that satisfy a set of correctness constraints. Some model finders ensure some degree of diversity among the instances they compute. Nevertheless, each model finder uses its own definition of diversity, that may or may not match designer intent. In this paper, we propose a procedure that enables designers to capture the desired notion of diversity they are looking for. Using a simple domain-specific language, they can specify what elements in the specification are relevant when comparing the differences between two instances. This information can then be used to make any model finder diversity-aware while using it as a black box. As a proof of concept, this approach has been implemented on top of the Alloy Analyzer.
Autores: Robert Clarisó / Jordi Cabot /
Palabras Clave: Clustering - diversity - graph kernels - Model-Driven Engineering - Testing - verification and validation
En la nueva era del Internet de las cosas (IoT), nuestros objetos cotidianos se han convertido en los llamados sistemas ciberfísicos (CPS). El uso y despliegue de los CPS ha calado especialmente en la industria, dando lugar a la llamada Industria 4.0 o IoT Industrial (IIoT). Típicamente, las arquitecturas IIoT son distribuidas y asíncronas, estando la comunicación guiada por eventos como por ejemplo la publicación (y correspondiente suscripción) a mensajes. No obstante, las mejoras en escalabilidad y tolerancia al cambio de estas arquitecturas tienen sus desventajas, y es fácil que el conocimiento sobre los mensajes y su categorización (topics) se diluya entre los elementos de la arquitectura, dando lugar a problemas de interoperabilidad entre los agentes implicados. En este artículo, presentamos nuestra propuesta para automatizar el diseño e implementación de estas arquitecturas mediante técnicas basadas en modelos. Para ello nos apoyamos en AsyncAPI, una propuesta para la especificación de API dirigidas por mensajes.
Autores: Abel Gómez / Iker Fernandez de Larrea / Markel Iglesias-Urkia / Beatriz Lopez-Davalillo / Aitor Urbieta / Jordi Cabot /
Palabras Clave: Arquitecturas asíncronas - AsyncAPI - Publicación-Suscripción - Sistemas ciberfísicos
Scalability in modeling has many facets, including the ability to build larger models and domain specific languages (DSLs) efficiently. With the aim of tackling some of the most prominent scalability challenges in Model-Based Engineering (MBE), the MONDO EU project developed the theoretical foundations and open-source implementation of a platform for scalable modeling and model management. The platform includes facilities for building large graphical DSLs, for splitting large models into sets of smaller interrelated fragments, to index large collections of models to speed-up their querying, and to enable the collaborative construction and refinement of complex models, among other features.
This paper reports on the tools provided by MONDO that Ikerlan, a medium-sized technology center which in the last decade has embraced the MBE paradigm, adopted in order to improve their processes. This experience produced as a result a set of model editors and related technologies that fostered collaboration and scalability in the development of wind turbine control applications. In order to evaluate the benefits obtained, an on-site evaluation of the tools was performed. This evaluation shows that scalable MBE technologies give new growth opportunities to small and medium-sized organizations.
Published in: Software and Systems Modeling, 19 (5), pp. 1229-1261, 2020.
Impact Factor: 1.876 Q2 (2019)
DOI: https://dx.doi.org/10.1007/s10270-020-00776-8
Autores: Abel Gómez / Xabier Mendialdua / Konstantinos Barmpis / Gábor Bergmann / Jordi Cabot / Csaba Debreceni / Xabier Decarlos / Antonio Garmendia / Dimitris S. Kolovos / Juan De Lara /
Palabras Clave: Collaborative Modeling - Domain Specific Graphical Modeling Languages - Experience Report - Model Indexing - Model-Based Engineering (MBE) - Scalability
A major challenge for the European electronic components and systems (ECS) industry is to increase productivity and reduce costs while ensuring safety and quality. Model-Driven Engineering (MDE) principles have already shown valuable capabilities for the development of ECSs but still need to scale to support real-world scenarios implied by the full deployment and use of complex electronic systems, such as Cyber-Physical Systems, and real-time systems. Moreover, maintaining efficient traceability, integration and communication between fundamental stages of the development lifecycle (i.e., design time and runtime) is another challenge to the scalability of MDE tools and techniques. This paper presents «MegaModelling at runtime — Scalable model-based framework for continuous development and runtime validation of complex systems» (MegaM@Rt2), an ECSEL–JU project whose main goal is to address the above mentioned challenges. Driven by both large and small industrial enterprises, with the support of research partners and technology providers, MegaM@Rt2 aims to deliver a framework of tools and methods for: (i) system engineering/design and continuous development,(ii) related runtime analysis, and (iii) global model and traceability management.
Autores: Abel Gómez / Orlando Ávila-García / Jordi Cabot / José Ramón Juárez / Aitor Urbieta / Eugenio Villar /
Palabras Clave: megamodelling - Model-Driven Engineering - Runtime - system design
En los últimos años un gran número de compañías y entidades públicas han liberado sus datos vía APIs REST. Esto ha provocado un incremento en el número de APIs REST, motivando la creación de mashups para combinar y reutilizar datos provenientes de diferentes fuentes. Sin embargo, la creación de este tipo de aplicaciones es tediosa y propensa a errores ya que hay que invertir un gran esfuerzo en analizar y explicitar el modelo de datos de cada API, definir una estrategia de composición y, finalmente, implementar la aplicación de tipo mashup. En este artículo presentamos una propuesta para la composición de APIs REST orientadas a datos. Dado un conjunto de APIs REST iniciales, nuestra propuesta es capaz de descubrir su modelo de datos, crear un modelo de datos global y publicarlo como una API REST.
Autores: Hamza Ed-Douibi / Javier Luis Canovas Izquierdo / Jordi Cabot /
Palabras Clave: MDE - OData - OpenAPI - REST API
Título: Are CS conferences (too) closed communities?Autores: Jordi Cabot, Javier Luis Cánovas Izquierdo, Valerio CosentinoRevista: Communications of the ACMNúmero: 61(10)Fecha de publicación: Octubre 2018Páginas: 32-34DOI: 10.1145/3209580Indicios de calidad:- Factor de impacto: 3.063. Posicion: 9/104 (Q1)
Autores: Jordi Cabot / Javier Luis Canovas Izquierdo / Valerio Cosentino /
Palabras Clave: Community analysis - Conference analysis - Viewpoint
Título: The role of foundations in open source projectsAutores: Javier Luis Cánovas Izquierdo, Jordi CabotConferencia: International Conference on Software Engineering: Software Engineering in Society, ICSE (SEIS)Fecha de publicación: Junio 2018Páginas: 3-12DOI: 10.1145/3183428.3183438Indicios de calidad:- Premio al mejor paper del track- 35% de aceptación
Autores: Javier Luis Canovas Izquierdo / Jordi Cabot /
Palabras Clave: Open Source Software - Open-Source Software Analysis - Software Foundations
El desarrollo de sofware es un proceso donde participan muchos actores, principalmente los desarrolladores y los clientes del producto. En la actualidad, procesos de desarrollo como los basados en metodologías ágiles proponen la participación de forma directa de los usuarios o clientes. La idea clave es definir procesos guiados por la comunidad donde todos los participantes (técnicos y no técnicos) colaboran para que el producto satisfaga los requisitos. Esta aproximación es especialmente interesante en el ámbito del desarrollo de lenguajes específicos de dominio (DSL). Sin embargo, aunque estos lenguajes están destinados a una comunidad de usuarios expertos de un dominio concreto, actualmente dichos usuarios tienen poca (o nula) participación en el desarrollo. Nuestra propuesta consiste en incorporar el aspecto colaborativo en los procesos de desarrollo de DSLs, permitiendo a la comunidad de usuarios del lenguaje participar activamente en su creación y evolución. Para ello proponemos adaptar Collaboro, un lenguaje para representar las actividades de colaboración que surgen durante el desarrollo de DSLs, para ser utilizado a lo largo de todo el proceso.
Autores: Javier Luis Cánovas Izquierdo / Jordi Cabot /
Palabras Clave:
The role of non-coding contributors in Open Source Software (OSS) is poorly understood. Most of current research around OSS development focuses on the coding aspects of the project (e.g., commits, pull requests or code reviews) while ignoring the potential of other types of contributions. Often, due to the assumption that these other contributions are not significant in number and that, in any case, they are handled by the same people that are also part of the +IBw-coding team+IB0. This paper aims to investigate whether this is actually the case by analyzing the frequency and diversity of non-coding contributions in OSS development. As a sample of projects for our study we have taken the 100 most popular projects in the ecosystem of NPM, a package manager for JavaScript. Our results validate the importance of dedicated non-coding contributors in OSS and the diversity of OSS communities as, typically, a contributor specializes in a specific subset of roles. We foresee that projects adopting explicit policies to attract and onboard them could see a positive impact in their long-term sustainability providing they also put in place the right governance strategies to facilitate the migration and collaboration among the different roles. As part of this work, we also provide a replicability package to facilitate further quantitative role-based analysis by other researchers.
Autores: Javier Luis Canovas Izquierdo / Jordi Cabot /
Palabras Clave: Collaboration - Open Source - Repository Analysis - Role Analysis
Este trabajo se presenta a JISBD como artículo relevante.Título: Towards a Language Server Protocol Infrastructure for Graphical ModelingAutores: Rodriguez-Echeverria, Roberto; Izquierdo, Javier Luis Cánovas; Wimmer, Manuel; Cabot, JordiConferencia: 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems – MODELS ’18 Año: 2018 Páginas: 370-380 DOI: 10.1145/3239372.3239383Indicios de calidad: clase 2 del ranking SCIE de congresos relevantes.
Autores: Roberto Rodriguez-Echeverria / Javier Luis Canovas Izquierdo / Manuel Wimmer / Jordi Cabot /
Palabras Clave: Domain Specific Languages - Language Server Protocol - Modeling Editor
Una de las tareas más comunes que los ingenieros tienen que llevar a cabo y que consumen más tiempo es la transformación de datos. Proponemos usar los avances en Inteligencia Artificial (IA), y en particular, en el área de Machine Learning (ML), para abordar este problema. Para ello, definimos una arquitectura que es capaz de inferir las transformaciones de datos a partir de un conjunto de pares de datos entrada-salida. Una vez que nuestro sistema haya aprendido cómo los datos de entrada se relacionan con los de salida, podrá realizar la traducción de nuevos datos de entrada automáticamente.
Autores: Loli Burgueño / Jordi Cabot / Sébastien Gérard /
Palabras Clave: Machine Learning - MDE - Transformación de datos
El uso y despliegue de los llamados sistemas ciberfísicos ha calado profundamente en la industria, dando lugar a la Industria 4.0. Típicamente, las arquitecturas de la Industria 4.0 muestran un acoplamiento muy bajo entre sus componentes, siendo distribuidas, asíncronas, y guiándose la comunicación por eventos. Estas características, diferentes de las de arquitecturas que hasta ahora eran el foco de las técnicas de modelado, conllevan la necesidad de dotar a la Industria 4.0 de nuevos lenguajes y herramientas que permitan un desarrollo más eficiente y preciso. En este artículo, proponemos el uso de UML para el modelado de este tipo de arquitecturas y una serie de transformaciones que permiten automatizar su procesamiento. Más concretamente, presentamos un perfil UML para la Industria 4.0, as+AO0 como una transformación de modelos capaz de generar una descripción abstracta —empleando la especificación AsyncAPI— de las interfaces de programación que subyacen a la arquitectura. A partir de dicha descripción abstracta en AsyncAPI, generamos el código que dan soporte a dichas interfaces de forma automática.
Autores: Abel Gómez / Jordi Cabot / Xavier Pi /
Palabras Clave: AsyncAPI - Industria 4.0 - Publicación-Suscripción - Transformación de modelos - UML
El Internet de las Cosas (IoT) ha crecido rápidamente durante los últimos años transformando varios sectores industriales. La minera es una de las industrias que busca aprovechar el IoT implementando sistemas para optimizar los procesos de extracción de minerales. Sin embargo, existen retos de diseño, despliegue y operación de estos sistemas debido a la complejidad de las arquitecturas multicapa implementadas y a los cambios inesperados del ambiente dinámico que pueden afectar el funcionamiento. Por lo tanto, proponemos un lenguaje de dominio específico (DSL) para definir la estructura de las minas subterráneas de carbón, el sistema IoT multicapa y sus reglas de adaptación. El DSL fue implementado usando la plataforma MPS junto con un generador de código de los manifiestos para el despliegue con Kubernetes.
Autores: Iván Alfonso / Kelly Garcés / Harold Castro / Jordi Cabot /
Palabras Clave: Domain Specific Language - Internet of Things - Mining industry - Self-adaptive system
Correctness of UML class diagrams annotated with OCL constraints can be checked using bounded verification techniques, e.g., SAT or constraint programming (CP) solvers. Bounded verification detects faults efficiently but, on the other hand, the absence of faults does not guarantee a correct behavior outside the bounded domain. Hence, choosing suitable bounds is a non-trivial process as there is a trade-off between the verification time (faster for smaller domains) and the confidence in the result (better for larger domains). Unfortunately, bounded verification tools provide little support in the bound selection process.In this paper, we present a technique that can be used to (i) automatically infer verification bounds whenever possible, (ii) tighten a set of bounds proposed by the user and (iii) guide the user in the bound selection process. This approach may increase the usability of UML/OCL bounded verification tools and improve the efficiency of the verification process.This paper has been published in IEEE Transactions on Software Engineering[http://dx.doi.org/10.1109/TSE.2017.2777830]
Autores: Robert Clarisó / Carlos A. González / Jordi Cabot /
Palabras Clave: Class Diagram - Constraint Propagation - Formal Verification - OCL - SAT - UML
Recientes estudios han reportado efectos indeseados y nocivos en modelos de machine learning (ML), en gran parte causados por problemas o limitaciones en los datasets usados para entrenarlos. Esta situación ha despertado el interés dentro de la comunidad de ML para mejorar los procesos de creación y compartición de datasets. Sin embargo, hasta la fecha, las propuestas para estandarizar la descripción y formalización de los mismos se basan en guías generales en texto natural y que, como tales, presentan limitaciones (precisión, ambig+APw-edad, etc.) y son difíciles de aplicar de una forma (semi)automatizada.En este trabajo proponemos un lenguaje específico de dominio para describir datasets basado en las propuestas mencionadas. Este lenguaje contribuye a estandarizar los procesos de descripción de los datasets, y pretende ser la base para aplicaciones de formalización, búsqueda y comparación de estos. Finalmente, presentamos la implementación de este lenguaje en forma de plug-in para Visual Studio Code.
Autores: Joan Giner-Miguelez / Abel Gómez / Jordi Cabot /
Palabras Clave: datasets - DSL - Machine Learning - MDE - MLOps
Domain models capture the key concepts and relationships of a business domain. Typically, domain models are manually defined by software designers in the initial phases of a software development cycle, based on their interactions with the client and their own domain expertise. Given the key role of domain models in the quality of the final system, it is important that they properly reflect the reality of the business.To facilitate the definition of domain models and improve their quality, we propose to move towards a more assisted domain modeling building process where an NLP-based assistant will provide autocomplete suggestions for the partial model under construction based on the automatic analysis of the textual information available for the project (contextual knowledge) and/or its related business domain (general knowledge). The process will also take into account the feedback collected from the designer’s interaction with the assistant. We have developed a proof-of-concept tool and have performed a preliminary evaluation that shows promising results.
Autores: Lola Burgueño / Robert Clarisó / Sebastien Gerard / Shuai Li / Jordi Cabot /
Palabras Clave: assistant - autocomplete - Domain Model - modeling recommendations - Natural Language Processing