Jordi Cabot

Jordi Cabot
Catalan Institution for Research and Advanced Studies | ICREA · Internet Interdisciplinary Institute (UOC)

PhD - HdR

About

358
Publications
110,363
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
6,491
Citations
Introduction
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering Check modeling-languages.com and som-research.uoc.edu
Additional affiliations
May 2015 - present
Catalan Institution for Research and Advanced Studies
Position
  • ICREA Research Professor
January 2010 - April 2015
IMT Atlantique
Position
  • Associate Professor - Chair EMN/Inria
April 2008 - December 2009
University of Toronto
Position
  • PostDoc Position

Publications

Publications (358)
Conference Paper
Full-text available
Datasets play a central role in the training and evaluation of machine learning (ML) models. But they are also the root cause of many undesired model behaviors, such as biased predictions. To overcome this situation, the ML community is proposing a data-centric cultural shift, where data issues are given the attention they deserve, for instance, pr...
Article
Full-text available
Software modeling started as a paradigm to help developers build better software faster by enabling them to specify, reason and manipulate software systems at a higher-abstraction level while ignoring irrelevant low-level technical details. But this same principle manifests in any other domain that has to deal with complex systems, software-based o...
Preprint
Full-text available
Datasets play a central role in the training and evaluation of machine learning (ML) models. But they are also the root cause of many undesired model behaviors, such as biased predictions. To overcome this situation, the ML community is proposing a data-centric cultural shift where data issues are given the attention they deserve, and more standard...
Article
Full-text available
We are witnessing a massive adoption of software engineering bots, applications that react to events triggered by tools and messages posted by users and run automated tasks in response, in a variety of domains. This thematic issues describes experiences and challenges with these bots.
Article
There are numerous domains in which information systems need to deal with uncertain information. These uncertainties may originate from different reasons such as vagueness, imprecision, incompleteness or inconsistencies; and, in many cases, they cannot be neglected. In this paper, we are interested in representing and processing uncertain informati...
Article
This theme section brings together the latest research at the intersection of artificial intelligence (AI) and model-driven engineering (MDE). Over the past years, we have witnessed a substantial rise of AI successfully applied to different domains, including software development and MDE. Dedicated events at the intersection of AI and MDE have been...
Article
Full-text available
Models capture relevant properties of systems. During the models’ life-cycle, they are subjected to manipulations with different goals such as managing software evolution, performing analysis, increasing developers’ productivity, and reducing human errors. Typically, these manipulation operations are implemented as model transformations. Examples o...
Article
Full-text available
As model-driven engineering (MDE) is increasingly adopted in complex industrial scenarios, modeling artefacts become a key and strategic asset for companies. As such, any MDE ecosystem must provide mechanisms to protect and exploit them. Current approaches depend on the calculation of the relative similarity among pairs of models. Unfortunately, mo...
Article
Full-text available
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...
Chapter
Traceability is the capability to represent, understand and analyze the relationships between software artefacts. Traceability is at the core of many software engineering activities. This is a blessing in disguise as traceability research is scattered among various research subfields, which impairs a global view and integration of the different inn...
Chapter
Full-text available
Content Management Systems (CMSs) are the most popular tool when it comes to create and publish content across the web. Recently, CMSs have evolved, becoming headless. Content served by a headless CMS aims to be consumed by other applications and services through REST APIs rather than by human users through a web browser. This evolution has enable...
Conference Paper
Full-text available
Traceability helps explaining the execution and evolution of software and systems. It is a key input in many engineering tasks such as program understanding, maintenance and debugging. Several metamodels to facilitate the representation of traces and links among related artefacts have been proposed. There exists a plethora of traceability approache...
Article
Full-text available
In the Internet-of-Things (IoT) vision, everyday objects evolve into cyber-physical systems. The massive use and deployment of these systems has given place to the Industry 4.0 or Industrial IoT (IIoT). Due to its scalability requirements, IIoT architectures are typically distributed and asynchronous. In this scenario, one of the most widely used p...
Article
Full-text available
Over the past few years, the relevance of the Internet of Things (IoT) has grown significantly and is now a key component of many industrial processes and even a transparent participant in various activities performed in our daily life. IoT systems are subjected to changes in the dynamic environments they operate in. These changes (e.g. variations...
Article
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 tha...
Conference Paper
Full-text available
This contribution proposes to apply informal ideas for model development within a formal tool. The basic idea is to relax the requirements expressed with particular modeling language elements and allow developers to dynamically customize the level of formality in a visual and intuitive way. For UML and OCL class models, the requirements for usual o...
Conference Paper
Full-text available
An Internet of Things (IoT) architecture describes a network of (physical) objects exchanging data over the Internet. In complex IoT deployments, as those typical of Industry 4.0 systems, this architecture comprises four different layers: device, edge, fog, and cloud. Moreover, the composition and computation tasks assigned to each layer may dynami...
Preprint
Full-text available
Over the past few years, the relevance of the Internet of Things (IoT) has grown significantly and is now a key component of many industrial processes and even a transparent participant in various activities performed in our daily life. IoT systems are subjected to changes in the dynamic environments they operate in. These changes (e.g. variations...
Article
Full-text available
Software systems start to include other types of interfaces beyond the “traditional” Graphical-User Interfaces (GUIs). In particular, Conversational User Interfaces (CUIs) such as chat and voice are becoming more and more popular. These new types of interfaces embed smart natural language processing components to understand user requests and respon...
Chapter
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,...
Conference Paper
Full-text available
We often complain about the challenges associated with a fruitful research-industry collaboration. The coronavirus pandemic has just aggravated them as, clearly, companies face difficult times and have mostly paused their R&I activities. In this context, we propose that researchers become entrepreneurs and play both roles at the same time. Right no...
Article
The migration of software is an economically important niche since the daily operations of many business still rely on systems based on legacy technologies. Migration to more recent technologies comes with major technical and management challenges mainly related to knowledge‐loss issues on the specific technology but also on the architecture and de...
Chapter
The Open Data movement promotes the free distribution of data. More and more companies and governmental organizations are making their data available online following the Open Data philosophy, resulting in a growing market of technologies and services to help publish and consume data. One of the emergent ways to publish such data is via Web APIs, w...
Article
Full-text available
Context: Managing Non-Functional Requirements (NFRs) in software projects is challenging, and projects that adopt Model-Driven Development (MDD) are no exception. Although several methods and techniques have been proposed to face this challenge, there is still little evidence on how NFRs are handled in MDD by practitioners. Knowing more about the s...
Conference Paper
OCR engines aim to identify and extract text strings from documents or images. While current efforts focus mostly in mainstream languages, there is little support for programming or domain-specific languages (DSLs). In this paper, we present our vision about the current state of OCR recognition for DSLs and its challenges. We discuss some strategie...
Conference Paper
Gamification refers to the exploitation of gaming mechanisms for serious purposes, like learning hard-to-train skills such as modeling. We present a gamified version of Papyrus, the well-known open source modeling tool. Instructors can use it to easily create new modeling games (including the tasks, solutions, levels, rewards...) to help students l...
Article
Full-text available
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 f...
Preprint
Full-text available
The Open Data movement promotes the free distribution of data. More and more companies and governmental organizations are making their data available online following the Open Data philosophy, resulting in a growing market of technologies and services to help publish and consume data. One of the emergent ways to publish such data is via Web APIs, w...
Article
Full-text available
When engineering complex systems, models are typically used to represent various systems aspects. These models are often heterogeneous in terms of modeling languages, provenance, number or scale. As a result, the information actually relevant to engineers is usually split into different kinds of interrelated models. To be useful in practice, these...
Chapter
REST APIs have become key assets for any company willing to have online presence and provide access to its services. Several approaches have been proposed to describe this kind of APIs, being OpenAPI the dominant proposal in the last years. OpenAPI allows any consumer to understand the operations and data elements of a REST API. However, it does no...
Chapter
REST APIs are an essential building block in many Web applications. The lack of a standard machine-readable format to describe these REST APIs triggered the creation of several specification languages to formally define REST APIs, with the OpenAPI specification currently taking the lead. OpenAPI definitions are consumed by a growing ecosystem of to...
Conference Paper
Full-text available
Conversational interfaces (also called chatbots) are being increasingly adopted in various domains such as e-commerce or customer service, as a direct communication channel between companies and end-users. Their advantage is that they can be embedded within social networks, and provide a natural language (NL) interface that enables their use by non...
Chapter
Complex software systems can be described using modeling notations such as UML/OCL or Alloy. Then, some correctness properties of these systems can be checked using model finders, which compute sample scenarios either fulfilling the desired properties or illustrating potential faults. Such scenarios allow designers to validate, verify and test the...
Preprint
Full-text available
A number of software foundations have been created as legal instruments to better articulate the structure, collaboration and financial model of Open Source Software (OSS) projects. Some examples are the Apache, Linux, or Mozilla foundations. However, the mission and support provided by these foundations largely differ among them. In this paper we...
Article
Full-text available
This article introduces a conceptual reference framework – the Models and Data (MODA) framework – to support a data-centric and model-driven approach for the integration of heterogeneous models and their respective data for the entire life-cycle of socio-technical systems. A pre-print version is available at https://hal.inria.fr/hal-02612087
Chapter
Full-text available
To succeed with the development, deployment, and operation of the new generation of complex systems, organizations need the agility to adapt to constantly evolving environments. In this context, DevOps has emerged as an evolution of the agile approaches. It focuses on optimizing the flow of activities involved in the creation of end-user value, fro...
Article
Full-text available
Chatbot (and voicebot) applications are increasingly adopted in various domains such as e-commerce or customer services as a direct communication channel between companies and end-users. Multiple frameworks have been developed to ease their definition and deployment. While these frameworks are efficient to design simple chatbot applications, they s...
Article
Reports suggest that plagiarism is a common occurrence in universities. Students typically refer to public repositories or copies of previous years' exercises in order to complete all or part of their assignments. While plagiarism detection mechanisms exist for textual documents, this is less so for software components, especially for non-code rela...
Article
Full-text available
In 2017 and 2018, two events were held—in Marburg, Germany, and San Vigilio di Marebbe, Italy, respectively—focusing on an analysis of the state of research, state of practice, and state of the art in model-driven engineering (MDE). The events brought together experts from industry, academia, and the open-source community to assess what has changed...
Book
Full-text available
This open access book constitutes the proceedings of the 23rd International Conference on Fundamental Approaches to Software Engineering, FASE 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 23 full papers, 1 tool paper and 6 testing...
Article
Model-Driven Development employs models as core artifacts of the software development process. This requires ensuring the correctness of models, an analysis which is computationally complex. However, models may evolve over time and these changes usually require re-checking models from scratch. To this end, this paper proposes techniques for the inc...
Article
With the emergence of Cyber-Physical Systems (CPS), several sophisticated runtime monitoring solutions have been proposed in order to deal with extensive execution logs. One promising development in this respect is the integration of time series databases that support the storage of massive amounts of historical data as well as to provide fast quer...
Article
Full-text available
[email protected] is a large European project dedicated to the provisioning of a model-based methodology and supporting tooling for system engineering at a wide scale. It notably targets the continuous development and runtime validation of such complex systems by developing a framework addressing a large set of engineering processes and application...
Conference Paper
General Programming Languages (GPLs) continuously evolve to adapt to the ever changing technology landscape. The evolution is rooted on technical aspects but it is ultimately decided by the group of people governing the language and working together to solve, vote and approve the new language extensions and modifications. As in any community, gover...
Chapter
Generating valid instantiations for a conceptual schema is instrumental in ensuring its quality by means of verification, validation or testing. This problem becomes even more challenging when we also require that the computed instantiations exhibit significant differences among them, i.e., they are diverse. In this work, we propose an automatic me...
Article
Full-text available
The development Open Source Software fundamentally depends on the participation and commitment of volunteer developers to progress on a particular task. Several works have presented strategies to increase the on-boarding and engagement of new contributors, but little is known on how these diverse groups of developers self-organise to work together....
Conference Paper
Full-text available
The network of collaborations in an open source project can reveal relevant emergent properties that influence its prospects of success. In this work, we analyze open source projects to determine whether they exhibit a rich-club behavior, i.e., a phenomenon where contributors with a high number of collaborations (i.e., strongly connected within the...
Conference Paper
Full-text available
Chatbot applications are increasingly adopted in various domains such as e-commerce or customer services as a direct communication channel between companies and end-users. Multiple frameworks have been developed to ease their definition and deployment. They typically rely on existing cloud infrastructures and artificial intelligence techniques to e...
Article
Full-text available
When dealing with complex systems, information is very often fragmented across many different models expressed within a variety of (modeling) languages. To provide the relevant information in an appropriate way to different kinds of stakeholders, (parts of) such models have to be combined and potentially revamped by focusing on concerns of particul...
Article
Full-text available
Caching and prefetching techniques have been used for decades in database engines and file systems to improve the performance of I/O-intensive application. A prefetching algorithm typically benefits from the system’s latencies by loading into main memory elements that will be needed in the future, speeding up data access. While these solutions can...
Article
Software modeling is a key activity in software development, especially when following any kind of Model Driven Software Engineering (MDSE) process. In this context, standard modeling languages, like the Unified Modeling Language (UML), and tools for supporting the modeling activities become essential. The aim of this study is to analyze how modele...
Conference Paper
Full-text available
The growing need to store and manipulate large volumes of data has led to the blossoming of various families of data storage solutions. Software modelers can benefit from this growing diversity to improve critical parts of their applications, using a combination of different databases to store the data based on access, availability, and performance...