Christian Cabrera 0001

dblp:28/2980-1 · also Christian Cabrera Jojoa · DBLP profile ↗
← Back
16ranked-venue papers
8as first author
6since 2021 · last 2025
0000-0002-6954-6859ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 4 first-author · 6 since 2021Human-computer interaction and ubiquitous computing · 5 · 3 first-authorComputer networks · 3 · 1 first-authorArtificial intelligence and machine learning · 2 · 2 since 2021
YearPublicationVenuePosition
2025 Requirements Are All You Need: The Final Frontier for End-User Software Engineering
abstract
What if end-users could own the software development lifecycle from conception to deployment using only requirements expressed in language, images, video or audio? We explore this idea, building on the capabilities that Generative AI brings to software generation and maintenance techniques. How could designing software in this way better serve end-users? What are the implications of this process for the future of end-user software engineering and the software development lifecycle? We discuss the research needed to bridge the gap between where we are today and these imagined systems of the future.
Diana Robinson, Christian Cabrera 0001, Andrew D. Gordon 0001, Neil D. Lawrence, Lars Mennen
ACM Trans. Softw. Eng. Methodol.2
2023 Prevalence of Code Smells in Reinforcement Learning Projects
abstract
Reinforcement Learning (RL) is being increasingly used to learn and adapt application behavior in many domains, including large-scale and safety critical systems, as for example, autonomous driving. With the advent of plug-n-play RL libraries, its applicability has further increased, enabling integration of RL algorithms by users. We note, however, that the majority of such code is not developed by RL engineers, which as a consequence, may lead to poor program quality yielding bugs, suboptimal performance, maintainability, and evolution problems for RL-based projects. In this paper we begin the exploration of this hypothesis, specific to code utilizing RL, analyzing different projects found in the wild, to assess their quality from a software engineering perspective. Our study includes 24 popular RL-based Python projects, analyzed with standard software engineering metrics. Our results, aligned with similar analyses for ML code in general, show that popular and widely reused RL repositories contain many code smells (3.95% of the code base on average), significantly affecting the projects’ maintainability. The most common code smells detected are long method and long method chain, highlighting problems in the definition and interaction of agents. Detected code smells suggest problems in responsibility separation, and the appropriateness of current abstractions for the definition of RL algorithms.
Nicolás Cardozo, Ivana Dusparic, Christian Cabrera 0001
CAIN3
2023 MAACO: A Dynamic Service Placement Model for Smart Cities
abstract
Smart cities generate huge volumes of data to be processed by applications with different criticality and requirements. For example, a healthcare application needs lower latency when requested from an ambulance travelling to a hospital during an emergency compared to applications in less-critical domains. Cities can use Multi-access Edge Computing to reduce latency by placing applications’ services closer to users. A service placement process selects the set of servers to run the services for deployment. Smart cities challenge this selection as a large number of servers and services generate a large number of potential solutions with different QoS properties. Additionally, placement approaches must consider applications’ criticality and users’ mobility to offer an appropriate overall latency. Current approaches have considered servers’ utilisation and users’ location to place services. However, they do not consider applications’ criticality and mobile users’ paths. This paper presents MAACO, a Mobility-Aware, priority-driven, ACO-based service placement model that prioritises applications according to their criticality and minimises critical applications’ latency, while considering predicted paths for mobile users. Evaluation results show that MAACO achieves lower latency and waiting time compared against baselines at the cost of reduced load balance between the network servers.
Christian Cabrera 0001, Sergej Svorobej, Andrei Palade, Aqeel H. Kazmi, Siobhán Clarke
IEEE Trans. Serv. Comput.1
2022 An empirical evaluation of flow based programming in the machine learning deployment context
abstract
As use of data driven technologies spreads, software engineers are more often faced with the task of solving a business problem using data-driven methods such as machine learning (ML) algorithms. Deployment of ML within large software systems brings new challenges that are not addressed by standard engineering practices and as a result businesses observe high rate of ML deployment project failures. Data Oriented Architecture (DOA) is an emerging approach that can support data scientists and software developers when addressing such challenges. However, there is a lack of clarity about how DOA systems should be implemented in practice. This paper proposes to consider Flow-Based Programming (FBP) as a paradigm for creating DOA applications. We empirically evaluate FBP in the context of ML deployment on four applications that represent typical data science projects. We use Service Oriented Architecture (SOA) as a baseline for comparison. Evaluation is done with respect to different application domains, ML deployment stages, and code quality metrics. Results reveal that FBP is a suitable paradigm for data collection and data science tasks, and is able to simplify data collection and discovery when compared with SOA. We discuss the advantages of FBP as well as the gaps that need to be addressed to increase FBP adoption as a standard design paradigm for DOA.
Andrei Paleyes, Christian Cabrera 0001, Neil D. Lawrence
CAIN2
2022 A Self-Adaptive Service Discovery Model for Smart Cities
abstract
City services are frequently supported by software services that are managed by service-oriented architectures. However, a large number of software services is likely to cause performance issues when discovering software services. The distributed organisation of services information improves discovery performance. Existing research proposes to organise services information according to service location, domains, or city context, keeping that organisation constant under an assumption that cities do not change. However, cities are dynamic environments where entities interact, causing events that in turn, effect changes in the city. The organisation of services information must evolve or it will become outdated, negatively impacting discovery performance. We propose a self-adaptive service model for smart cities to support service discovery. This model adapts the organisation of services information according to city events. We introduce a self-adaptive architecture that keeps track of the discovery metrics and moves information about services between registries to maintain the discovery efficiency. We evaluate the proposed model in simulated environments and a real IoT testbed. Results show that our model outperforms competitors when reactive adaptation is triggered by a specific event. However, proactive adaptation needs further research. Results from the real IoT testbed present the costs of the proposed model.
Christian Cabrera 0001, Siobhán Clarke
IEEE Trans. Serv. Comput.1
2021 A Reinforcement Learning-Based Service Model for the Internet of Things
Christian Cabrera 0001, Siobhán Clarke
ICSOC1
2020 An Urban-driven Service Request Management Model
abstract
Pervasive applications in smart cities rely on a large number of IoT devices, which are deployed in large geographic areas. Smart cities can manage these devices using Service-Oriented Architectures (e.g., micro-services) by encapsulating devices capabilities as IoT services. Distributed service discovery architectures reduce search spaces and perform discovery processes closer to consumers on edge devices. However, request management, a key task in distributed service discovery, is still challenging because requests must be forwarded through large networks where nodes have partial knowledge about other participants. Previous research has shown that social-based and bio-inspired methods can be used to manage requests in small-scale environments, but such approaches do not scale to large environments. This paper adds urban context to a social-based and bio-inspired mechanism to forward requests where they are most likely to be solved. Results show that our model has the best rate of solved requests, and intermediate latency.
Christian Cabrera 0001, Andrei Palade, Gary White, Siobhán Clarke
PerCom1
2020 Artifact Abstract: An Urban-driven Service Request Management Model
abstract
This document introduces the artifacts that implement the request manager proposed in the paper "An Urban-driven Service Request Management Model". The artifacts can be found in the public TCD GitLab project percom2020-srmm 1 .
Christian Cabrera 0001, Andrei Palade, Gary White, Siobhán Clarke
PerCom1
2020 Cities-Board: A Framework to Automate the Development of Smart Cities Dashboards
abstract
Smart cities' authorities use graphic dashboards to visualize and analyze important information on cities, citizens, institutions, and their interactions. This information supports various decision-making processes that affect citizens' quality of life. Cities across the world have similar, if not the same, functional and nonfunctional requirements to develop their dashboards. Software developers will face the same challenges and they are likely to provide similar solutions for each developed city dashboard. Moreover, the development of these dashboards implies a significant investment in terms of human and financial resources from cities. The automation of the development of smart cities dashboards is feasible as these visualization systems will have common requirements between cities. This article introduces cities-board, a framework to automate the development of smart cities dashboards based on model-driven engineering. Cities-board proposes a graphic domain-specific language (DSL) that allows the creation of dashboard models with concepts that are closer to city authorities. Cities-board transforms these dashboards models to functional code artifacts by using model-to-model (M2M) and model-to-text (M2T) transformations. We evaluate cities-board by measuring the generation time, and the quality of the generated code under different models configurations. Results show the strengths and weaknesses of cities-board compared against a generic code generation tool.
Elizabeth Rojas, Viviana Bastidas, Christian Cabrera 0001
IEEE Internet Things J.3
2019 Autoencoders for QoS Prediction at the Edge
abstract
In service-oriented architectures, collaborative filtering is a key technique for service recommendation based on QoS prediction. Matrix factorisation has emerged as one of the main approaches for collaborative filtering as it can handle sparse matrices and produces good prediction accuracy. However, this process is resource-intensive and training must take place in the cloud, which can lead to a number of issues for user privacy and being able to update the model with new QoS information. Due to the time-varying nature of QoS it is essential to update the QoS prediction model to ensure that it is using the most recent values to maintain prediction accuracy. The request time, which is the time for a middleware to submit a user's information and receive QoS metrics for a candidate services is also important due to the limited time during dynamic service adaptations to choose suitable replacement services. In this paper we propose a stacked autoencoder with dropout on a deep edge architecture and show how this can be used to reduce training and request time compared to traditional matrix factorisation algorithms, while maintaining predictive accuracy. To evaluate the accuracy of the algorithms we compare the actual and predicted QoS values using standard error metrics such as MAE and RMSE. In addition, we propose an alternative evaluation technique using the predictions as part of a service composition and measuring the impact that the predictions have on the response time and throughput of the final composition. This more clearly shows the direct impact that these algorithms will have in practice.
Gary White, Andrei Palade, Christian Cabrera 0001, Siobhán Clarke
PerCom3
2018 Services in IoT: A Service Planning Model Based on Consumer Feedback
Christian Cabrera 0001, Andrei Palade, Gary White, Siobhán Clarke
ICSOC1
2018 Stigmergic Service Composition and Adaptation in Mobile Environments
Andrei Palade, Christian Cabrera 0001, Gary White, Siobhán Clarke
ICSOC2
2018 The Right Service at the Right Place: A Service Model for Smart Cities
abstract
Smart cities provide software services to citizens that are likely to be deployed in large, dynamic, heterogeneous, and distributed environments. The discovery of these services needs to be efficient and pervasive, based on the specific context of the city, and the integration of diverse providers. We identify a trade-off between accuracy and performance in the discovery of services in this scenario. Existing research has proposed solutions that focus either on semantic methods to improve accuracy with performance negatively affected, or vice versa. Additionally, the composition of services from different sources has not been explored in smart cities and large scenarios. We propose to address the trade-off by extending both how service information is organised, and the service discovery process. Service organisation uses urban context to spread service descriptions to the right urban-places; the service discovery process uses this model to forward requests where they are more likely to be solved. We simulate our model as a network of gateways that covers Dublin city center and manages services information. Results show that our model solves more requests than previous work in a smart city environment. In addition, response time keeps acceptable even when there are 100 thousand services.
Christian Cabrera 0001, Gary White, Andrei Palade, Siobhán Clarke
PerCom1
2018 IoTPredict: Collaborative QoS Prediction in IoT
abstract
Internet of Things (IoT) applications can be built from a number of heterogeneous services provided by a range of devices, which are potentially resource constrained and/or mobile. As these services and applications continue to be more widespread, a key research question is how to predict user-side quality of service (QoS), to ensure the optimal selection, composition and adaptation of IoT services. The exponential growth in the number of these services means that it is not practical to invoke all candidate services to test their QoS, especially during runtime service adaptation. QoS can vary by time and location, which makes it difficult for service providers to give accurate estimates of how the service will perform for users located in changing network topologies. We propose IoTPredict, a novel neighbourhood-based prediction approach for the IoT, which uses an alternative similarity computation mechanism. Our collaborative approach requires no additional invocation of services, which is a key requirement for resource constrained devices in the IoT. We evaluate our algorithm on a QoS dataset and show that it achieves higher QoS prediction accuracy than other state of the art approaches.
Gary White, Andrei Palade, Christian Cabrera 0001, Siobhán Clarke
PerCom3
2017 Implementing heterogeneous, autonomous, and resilient services in IoT: An experience report
abstract
This paper discusses the challenges in developing an IoT platform for registering, discovering and composing heterogeneous services from multiple provider types, viz., Wireless Sensor Networks (WSNs), Web Service Providers (WSPs), and Autonomous Service Providers (ASPs), without human intervention. The platform executes a service composition in a decentralised fashion, with a mechanism to detect service provider failure and fallback to previously discovered services to complete a service composition flow. We comment on technical and scientific challenges involved in managing these heterogeneous, autonomous, and resilient IoT services.
Christian Cabrera 0001, Fan Li 0013, Vivek Nallur, Andrei Palade, Mohammad Abdur Razzaque, Gary White, Siobhán Clarke
WoWMoM1
2017 Middleware for Internet of Things: A quantitative evaluation in small scale
abstract
Recently, there have been a large number of proposals for IoT middleware solutions. In addition, a few recent studies have surveyed and qualitatively evaluated these IoT middleware proposals against functional and non-functional features. A quantitative evaluation is also needed to complement these existing qualitative studies and provide a more in-depth perspective of the state of the art. This paper presents a quantitative evaluation of 4 representative proposals: OpenIoT, CHOReOS, LinkSmart and UBIWARE. The evaluation results, based on a small real-life scenario, show that research is needed in the area of autonomous and scalable service registration, discovery and composition, heterogeneity, and interoperability of IoT middlewares.
Andrei Palade, Christian Cabrera 0001, Gary White, Mohammad Abdur Razzaque, Siobhán Clarke
WoWMoM2