
Robert ClarisóUniversitat Oberta de Catalunya | UOC · Computer, Multimedia and Telecommunication Studies
Robert Clarisó
PhD in Computer Science
About
67
Publications
23,248
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
1,422
Citations
Citations since 2017
Introduction
Additional affiliations
Education
September 2000 - September 2005
September 1995 - June 2000
Publications
Publications (67)
The more we know about patterns in code, the better we can support those patterns. In this article, Jordi Cabot and Robert Claris ´o discuss the promise and perils of AI enhanced low-code environments that allow programmers and non=programmers alike to quickly deliver software solutions. They offer a “wish list” that outlines what developers need t...
Many modern software products embed AI components. As a result, their development requires multidisciplinary teams with diverse skill sets. Diversity may lead to communication issues or misapplication of best practices. Process models, which prescribe how software should be developed within an organization, can alleviate this problem. In this paper...
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...
Software models are the basis of the Model-Driven Engineering paradigm. The most popular modeling notation is UML class diagrams, which can be annotated with OCL predicates to describe complex integrity constraints.When creating and managing UML/OCL models, a challenge for domain engineers is diagnosing faults. Problems like inconsistencies among i...
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...
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...
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,...
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...
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...
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...
In this paper, we explore a framework for assessing the implementation of IT Strategic planning, grounded in the combination and iteration of different methods. It is a part of an Action Design Research exercise being made up at a leading online European university. The assessment mixes three main dimensions (strategy, performance and governance),...
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...
Most Bachelor programs in Computer and Electrical Engineering include an introductory course on the foundations of digital system design, e.g., combinational and sequential circuits. In this course, students have many difficulties understanding core concepts such as Boolean function minimization or circuit analysis. A potential remedy to these diff...
Recent research on IT Strategy is in a phase of renewal, after a long period of static formal comprehensive planning. Currently, more importance is given to incremental continuous planning, program implementation and organizational learning, what has been labeled as strategy as practice. However, less attention has been paid to the evaluation of th...
The specification of a family of software products may include documents written in natural language. Automatically extracting knowledge from these documents is a challenging problem that requires using Natural Language Processing (NLP) techniques. This knowledge can be formalized as a Feature Model (FM), a diagram capturing the key features and th...
Machine Learning (ML) can be used to analyze and classify large collections of graph-based information, e.g. images, location information, the structure of molecules and proteins, ... Graph kernels is one of the ML techniques typically used for such tasks.
In a software engineering context, models of a system such as structural or architectural dia...
The limited adoption of Model-Driven Software Engineering (MDSE)is due to a variety of social and technical factors, which can be summarized in one: its (real or perceived) benefits do not outweigh its costs. In this vision paper we argue that the cognification of MDSE has the potential to reverse this situation. Cognification is the application of...
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 suita...
Formative assessment tools can benefit from the addition of gamification elements, as stronger engagement may generate further learning opportunities. However, adding gamification elements to such tools may require a significant development effort and leads to few opportunities for re-use, e.g. among different e-learning tools within the same cours...
Purpose
The purpose of this paper is to present an innovative web-based eLearning platform called ICT-FLAG that provides e-assessment tools with general-purpose formative assessment services featuring learning analytics and gamification.
Design/methodology/approach
The paper reports on the technical development of the platform driven by the Refere...
Domain experts typically have detailed knowledge of the concepts that are used in their domain; however they often lack the technical skills needed to translate that knowledge into Model-Driven Engineering (MDE) idioms and technologies. Flexible or bottom-up modelling has been introduced to assist with the involvement of domain experts by promoting...
This paper presents an initial evaluation of an innovative web-based eLearning platform, featuring Learning Analytics and Gamification called ICTFLAG. Previous contributions presented the development and prototyping steps of the platform, and following these steps, this paper reports the evaluation on the first real experience of connecting and int...
This paper presents the implementation and prototyping of an innovative web-based eLearning platform, featuring Learning Analytics and Gamification called ICT-FLAG. A previous contribution presented the analysis and design of the platform. Following the design, this paper implements the platform and reports on the first experiences of connecting an...
Nowadays, many MOOC platforms have arisen to provide free knowledge. These platforms have a large catalog of courses for different specializations that progressively demand more specific learning resources and assessment methods to evaluate the progression of students. Current MOOC platforms are gradually giving support to these new requirements bu...
This paper presents the analysis and design of an innovative web-based eLearning platform featuring Learning Analytics and Gamification called ICT-FLAG. A previous contribution presented the software development framework that will guide and support the effective construction of the platform. Following the selected framework, this paper defines the...
Feature Models (FMs) are a mechanism to model variability among a family of closely related software products, i.e. a software product line (SPL). Analysis of FMs using formal methods can reveal defects in the specification such as inconsistencies that cause the product line to have no valid products. A popular framework used in research for FM ana...
Model transformations are key elements of model driven engineering. Current challenges for transformation languages include improving usability (i.e., succinct means to express the transformation intent) and devising powerful analysis methods.In this paper, we show how backwards reasoning helps in both respects. The reasoning is based on a method t...
Correctness of UML class diagrams annotated with OCL constraints can be checked using bounded verification, e.g. SAT 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 ther...
The synthesis of digital circuits is a basic skill in all the bachelors around the ICT area of knowledge, such as Computer Science, Telecommunication Engineering or Electrical Engineering. An important hindrance in the learning process of this skill is that the existing educational tools for the design of circuits do not allow the student to valida...
Educational institutions are facing the challenge of providing students with tools for mobile learning (m-learning). However, the evolution of technology makes the development and continuous improvement of these tools rather expensive. For example, it is difficult to assess the different technology options available and to choose which ones are bes...
p>Realizar el Trabajo Final de Grado (TFG) es, con los nuevos planes de estudio, obligatorio para el colectivo estudiantil de grado (independientemente de la universidad y disciplina en la que se formen). El papel fundamental que tiene el TFG es facilitar un contexto de trabajo y evaluación el que queden integradas las competencias tanto específica...
Many popular applications are developed using a free software model, through the collaborative effort of a community which makes the source code available for free. Unfortunately, malicious third parties may attempt to take advantage of this combination of popularity and openness by introducing software components that infect end-users who install...
The increasing popularity of MDE results in the creation of larger
models and model transformations, hence converting the specification
of MDE artefacts in an error-prone task. Therefore, mechanisms to
ensure quality and absence of errors in models are needed to assure
the reliability of the MDE-based development process. Formal methods
have proven...
This preface reports on the 11th workshop on OCL and Textual Modelling held at the TOOLS Federated Conferences in 2011. The workshop focused on the current state of OCL (standard, tool support, adoption, ...) and the application of textual modelling to different domains. The workshop included presentations together with a discussion session. All th...
El diseño de circuitos digitales forma parte de las competencias básicas de los nuevos Grados en Ingeniería Informática e Ingeniería de Telecomunicaciones. Un obstáculo importante para el aprendizaje de dichas competencias es que las herramientas académicas existentes para el diseño de circuitos no
permiten validar si un diseño se ajusta a la espec...
Model defects are a significant concern in the Model-Driven Development (MDD) paradigm, as model transformations and code generation may propagate errors to other notations where they are harder to detect and trace. Formal verification techniques can check the correctness of a model, but their high computational complexity can limit their scalabili...
In this paper we present an approach for the analysis of graph transformation rules based on an inter- mediate OCL representation. We translate difierent rule semantics into OCL, together with the properties of in- terest (like rule applicability, con∞icts or independence). The intermediate representation serves three purposes: (i) it allows the se...
In this paper we propose a method to derive OCL invariants from declarative model-to-model transformations in order to enable their verification and analysis. For this purpose we have defined a number of invariant-based verification properties which provide increasing degrees of confidence about transformation correctness, such as whether a rule (o...
Resumen En este artículo presentamos CUCKOO (QUality cheCKing of Object Oriented de-signs) una plataforma web para la verificación de diagramas de clases UML. Esta plataforma está orientada a facilitar el aprendizaje de las fases de análisis y diseño dentro de las asigna-turas de Ingeniería del Software.
In current model-driven development approaches, software models are the primary artifacts of the development process. Therefore, assessment of their correctness is a key issue to ensure the quality of the final application. Research on model consistency has focused mostly on the models' static aspects. Instead, this paper addresses the verification...
In this paper we propose a method to derive OCL invariants from declarative specifications of model-to-model transformations. In particular we consider two of the most prominent approaches for specifying such transformations: Triple Graph Grammars and QVT. Once the specification is expressed in the form of invariants, the transformation developer c...
In this paper we present an approach to the analysis of graph transformation rules based on an intermediate OCL representation. We translate different semantics of rules into OCL, together with the prop- erties of interest (like rule applicability, conflict or independence). The intermediate representation serves three purposes: (i) allows the seam...
In the MDD and MDA approaches, models become the primary artifacts of the development process. Therefore, assessment of the correctness of such models is a key issue to ensure the quality of the final application. In that sense, this paper presents an automatic method that uses the Constraint Programming paradigm to verify UML class diagrams extend...
A technique for the verification of concurrent parametric timed systems is presented. In the systems under study, each action has a bounded delay where the bounds are either constants or parameters. Given a safety property, the analysis computes automatically a set of constraints on the parameters that is sufficient to guarantee the property. The m...
An interesting area in static analysis is the study of numeric properties. Complex properties can be analyzed using abstract interpretation, provided that an adequate abstract domain is defined. Each domain can represent and manipulate a family of properties, providing a different trade-off between the precision and complexity of the analysis. The...
We present UMLtoCSP, a tool for the formal verification of UML/OCL models. Given a UML class diagram anno- tated with OCL constraints, UMLtoCSP is able to auto- matically check several correctness properties, such as the strong and weak satisfiability of the model or the lack of redundant constraints. The tool uses Constraint Logic Pro- gramming as...
A technique for the verification of concurrent parametric timed systems is presented. In the systems under study, each action has a bounded delay where the bounds are either constants or parameters. Given a safety property, the analysis computes automatically a set of constraints on the parameters sufficient to guarantee the property. The main cont...
Abstract interpretation is a paradigm that has been successfully used in the verification and optimization of programs. This
paper presents a new approach for the analysis of Petri Nets based on abstract interpretation. The main contribution is the
capability of deriving non-structural invariants that can increase the accuracy of structural methods...
An interesting area in static analysis is the study of numeric properties. Complex properties can be analyzed using abstract interpretation, provided that an adequate abstract domain is defined. Each domain can represent and manipulate a family of properties, providing a different trade-off between the precision and complexity of the analysis. The...
Verifying timed circuits is a complex problem even when the delays of the system are fixed. This paper deals with a more challenging problem, the formal verification of timed circuits with unspecified delays represented as symbols. The approach discovers a set of sufficient linear constraints on the symbols that guarantee the correctness of the cir...
Graph transformation (GT) is being increasingly used in Model Driven Engineering (MDE) to describe in-place transformations
like animations and refactorings. For its practical use, rules are often complemented with OCL application conditions. The
advancement of rule post-conditions into pre-conditions is a well-known problem in GT, but current tech...
In this paper we present an approach to the analysis of graph transformation rules based on an intermediate OCL representation. We translate difierent semantics of rules into OCL, together with the prop- erties of interest (like rule applicability, con∞ict or independence). The intermediate representation serves three purposes: (i) allows the seaml...
In the MDD approaches, models become the primary artifact of the development process and the basis for code generation. Identifying defects early, at the model-level, can help to reduce development costs and improve software quality. There is an emerging need for verifica-tion techniques usable in practice, i.e. able to find and notify defects in r...
Projects
Projects (4)
Cognification is the application of knowledge to boost the performance and impact of a process. Typically, cognification is achieved by using specialized artificial intelligence techniques
The goal of this project is to investigate the opportunities and challenges of cognifying Model-Driven Software Engineering (MDSE) tasks, and, conversely, how MDE could also speed up the development of cognified software.
Our goal is to verify, validate and test the correctness of several properties on models (typically UML/OCL models) and model transformations
The core of the method works by translating the model into a Constraint Satisfaction Problem (or any other bounded verification tool) that is evaluated using state-of-the-art constraint solvers to infer the quality of the original input model