- Advanced Software Engineering Methodologies
- Software System Performance and Reliability
- Service-Oriented Architecture and Web Services
- Software Engineering Research
- Software Reliability and Analysis Research
- Formal Methods in Verification
- Distributed systems and fault tolerance
- Model-Driven Software Engineering Techniques
- Business Process Modeling and Analysis
- AI-based Problem Solving and Planning
- Simulation Techniques and Applications
- Real-Time Systems Scheduling
- Advanced Malware Detection Techniques
- Safety Systems Engineering in Autonomy
- Network Security and Intrusion Detection
- Context-Aware Activity Recognition Systems
- Software-Defined Networks and 5G
- Flexible and Reconfigurable Manufacturing Systems
- Petri Nets in System Modeling
- Multi-Agent Systems and Negotiation
- Semantic Web and Ontologies
- Neural Networks and Applications
- Product Development and Customization
- Digital and Cyber Forensics
- Natural Language Processing Techniques
Universidad de Málaga
2007-2024
Software (Spain)
2022-2024
IMDEA Software
2024
University of York
2019-2023
Universidade Federal de Santa Maria
2020
University of L'Aquila
2020
Gran Sasso Science Institute
2020
Carnegie Mellon University
2014-2018
University of Coimbra
2011-2013
Institut national de recherche en informatique et en automatique
2010-2011
Abstract Most experts agree that large language models (LLMs), such as those used by Copilot and ChatGPT, are expected to revolutionize the way in which software is developed. Many papers currently devoted analyzing potential advantages limitations of these generative AI for writing code. However, analysis current state LLMs with respect modeling has received little attention. In this paper, we investigate capabilities ChatGPT perform tasks assist modelers, while also trying identify its...
Self-adaptive systems tend to be reactive and myopic, adapting in response changes without anticipating what the subsequent adaptation needs will be. Adapting reactively can result inefficiencies due system performing a suboptimal sequence of adaptations. Furthermore, when adaptations have latency, take some time produce their effect, they started with sufficient lead so that complete by effect is needed. Proactive latency-aware addresses these issues making decisions look-ahead horizon...
Modern cyber-physical systems (e.g., robotics systems) are typically composed of physical and software components, the characteristics which likely to change over time. Assumptions about parts system made at design time may not hold run time, especially when a is deployed for long periods decades). Self-adaptation designed find reconfigurations handle such run-time inconsistencies. Planners can be used enact optimal in an evolving context. However, that highly configurable, planning becomes...
Formative assessment in software modeling typically involves students solving problems with limited support from instructors or on their own without any automated support. However, the irruption of generative AI chatbots, such as ChatGPT, has entirely changed landscape classroom, triggering need to re-evaluate how both formative and summative assessments are designed administered students. This article describes an experience report use ChatGPT for undergraduate engineering course. Our study...
Proactive latency-aware adaptation is an approach for self-adaptive systems that improves over reactive by considering both the current and anticipated needs of system, taking into account latency tactics so they can be started with necessary lead time. Making decision these characteristics requires solving optimization problem to select path maximizes objective function a finite look-ahead horizon. Since this selecting actions in context probabilistic behavior environment, Markov processes...
Although different approaches to decision-making in self-adaptive systems have shown their effectiveness the past by factoring predictions about system and its environment (e.g., resource availability), no proposal considers latency associated with execution of tactics upon target system. However, dierent adaptation can take amounts time until effects be observed. In reactive adaptation, ignoring tactic lead suboptimal decisions activating a server that takes more boot than transient spike...
Self-adaptive systems overcome many of the limitations human supervision in complex software-intensive by endowing them with ability to automatically adapt their structure and behavior presence runtime changes. However, adaptation some classes (e.g., safety-critical) can benefit receiving information from humans acting as sophisticated sensors, decision-makers), or involving system-level effectors execute adaptations when automation is not possible, a fallback mechanism). participants are...
Architecture-based approaches to self-adaptation rely on architectural descriptions reason about the best way of adapting structure and behavior software-intensive systems at runtime, either by choosing among a set predefined adaptation strategies, or automatically generating plans. Predefined strategy selection has low computational overhead facilitates dealing with uncertainty (e.g., accounting explicitly for contingencies derived from unexpected outcomes actions), but requires additional...
The provision of assurances for self-adaptive systems presents its challenges since uncertainties associated with operating environment often hamper the absolute guarantees that system properties can be satisfied. In this paper, we define an approach verification relies on stimulation and probabilistic model-checking to provide levels confidence regarding service delivery. particular, focus resilience enable us assess whether is able maintain trustworthy delivery in spite changes...
The provision of assurances for self-adaptive systems presents its challenges since uncertainties associated with operating environment often hamper the absolute guarantees that system properties can be satisfied. In this paper, we define an approach verification relies on stimulation and probabilistic model-checking to provide levels confidence regarding service delivery. particular, focus resilience enable us assess whether is able maintain trustworthy delivery in spite changes...
Self-adaptive systems must decide which adaptations to apply and when. In reactive approaches, are chosen executed after some issue in the system has been detected (e.g., unforeseen attacks or failures). proactive predictions used prepare for future event traffic spikes during holidays). both cases, choice of adaptation is based on estimated impact it will have system. Current decision-making approaches assume that be instantaneous, whereas common take time produce their impact. Ignoring...
Run-time generation of adaptation plans is a powerful mechanism that helps self-adaptive system to meet its goals in dynamically changing environment. In the past, researchers have demonstrated successful use various automated planning techniques generate at run time. However, for technique, there often trade-off between timeliness and optimality solution. For some systems, ideally, one would like approach both quick finds an optimal plan. To find right balance these conflicting...
Proactive latency-aware adaptation is an approach for self-adaptive systems that considers both the current and anticipated needs when making decisions, taking into account latency of available tactics. Since this a problem selecting actions in context probabilistic behavior environment, Markov decision processes (MDPs) are suitable approach. However, given all possible interactions between different possibly concurrent tactics, system, constructing MDP complex task. Probabilistic model...
Microservice application developers try to mitigate the impact of partial outages typically by implementing service-to-service interactions that use well-known resiliency patterns, such as Retry, Fail Fast, and Circuit Breaker. However, those patterns-as well their available open-source implementations-are often documented informally, leaving it up figure out when how patterns in context a particular microservice application. In this paper, we take first step towards improving on situation...
Architecting IoT systems able to guarantee Quality of Service (QoS) levels can be a challenging task due the inherent uncertainties (induced by changes in e.g., energy availability, network traffic) that they are subject to. Existing work has shown machine learning (ML) techniques effectively used at run time for selecting self-adaptation patterns help maintain adequate QoS levels. However, this class approach suffers from bias, which induces accuracy problems might lead sub-optimal (or even...
Adaptation is of utmost importance in systems developed by assembling reusable software services accessed through their public interfaces. This process aims at solving, as automatically possible, mismatch cases which may be given the different interoperability levels among interfaces synthesizing a mediating adaptor. In this paper, we present toolbox that fully supports adaptation process, including: (i) methods to construct contracts involving several services; (ii) simulation and...
Security features are often hardwired into software applications, making it difficult to adapt security responses reflect changes in runtime context and new attacks. In prior work, we proposed the idea of architecture-based self-protection as a way separating adaptation logic from application providing global perspective for reasoning about adaptations other business goals. this paper, present an approach, based on idea, combating denial-of-service (DoS) Our approach allows DoS-related...
Although architecture-based self-adaptation has been widely used, there is still little understanding about the validity and tradeoffs of incorporating it into real-world software-intensive systems which already feature built-in adaptation mechanisms. In this paper, we report on our experience in integrating Rainbow, a platform for self-adaptation, an industrial middleware employed to monitor manage highly populated networks devices. Specifically, reflect aspects such as effort required...
Self-adaptive systems are software-intensive endowed with the ability to respond a variety of changes that may occur in their environment, goals, or system itself by adapting structure and behaviour at run-time an autonomous way. Controllers complex components incorporated self-adaptive systems, which crucial function since they charge target executing actions through effectors, based on information monitored probes. However, although controllers becoming critical many application domains,...