Diego Perez-PalacinUniversity of Zaragoza | UNIZAR
Diego Perez-Palacin
About
55
Publications
6,546
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
775
Citations
Introduction
Skills and Expertise
Publications
Publications (55)
Self-adaptation equips a software system with a feedback loop that resolves uncertainties during operation and adapts the system to deal with them when necessary. Most self-adaptation approaches today use decision-making mechanisms that select for execution the adaptation option with the best-estimated benefit expressed as a set of adaptation goals...
italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Digital Twin of the Organization (DTO)
is a relatively new concept that emerged to help managers have a full understanding of their organization and realize their objectives. Indeed, DTO enables connecting all the elements of an organization virtually...
Despite considerable research efforts on handling uncertainty in self-adaptive systems, a comprehensive understanding of the precise nature of uncertainty is still lacking. This paper summarises the findings of the 2023 Bertinoro Seminar on Uncertainty in Self- Adaptive Systems, which aimed at thoroughly investigating the notion of uncertainty, and...
Robots are increasingly adopted in a wide range of unstructured and uncertain environments, where they are expected to keep quality properties such as efficiency, accuracy, and safety. To this end, robots need to be smart and continuously update their situation awareness. Self-adaptive systems pave the way for accomplishing this aim by enabling a r...
Over the past two decades, researchers and engineers have extensively studied the problem of how to enable a software system to deal with uncertain operating conditions. One prominent solution to this problem is self-adaptation, which equips a software system with a feedback loop that resolves uncertainties during operation and adapts the system to...
In recent years, we have seen many performance fiascos in the deployment of new systems, such as the US health insurance web. This paper describes the functionality and architecture, as well as success stories, of a tool that helps address these types of issues. The tool allows assessing software designs regarding quality, in particular performance...
Advancements in Cyber-Physical Systems, IoT, Data-driven methods, and networking prepare the adequate infrastructure for constructing new organizations, where everything is connected and interact with each other. A Digital Twin of the Organization (DTO) exploits these infrastructures to provide an accurate digital representation of the organization...
The resilience system property has become more and more relevant, mainly because of the increasing dependance on a rapidly growing number of software-intensive, complex, socio-technical systems, which are facing uncertainty about changes they are expected to experience during their life-cycle and ways to deal with them. Methodologies for the system...
One of the primary drivers for self-adaptation is ensuring that systems achieve their goals regardless of the uncertainties they face during operation. Nevertheless, the concept of uncertainty in self-adaptive systems is still insufficiently understood. Several taxonomies of uncertainty have been proposed, and a substantial body of work exists on m...
One of the primary drivers for self-adaptation is ensuring that systems achieve their goals regardless of the uncertainties they face during operation. Nevertheless, the concept of uncertainty in self-adaptive systems is still insufficiently understood. Several taxonomies of uncertainty have been proposed, and a substantial body of work exists on m...
Employing a Digital Twin of the Organization would help enterprises to change and innovate, thus enhancing their organization’s sustainability. However, the lack of engineering best practices for developing and operating a Digital Twin of the Organization makes it difficult for enterprises to fully benefit from it. Many companies are currently inve...
Big Data or Data-Intensive applications (DIAs) seek to mine, manipulate, extract or otherwise exploit the potential intelligence hidden behind Big Data. However, several practitioner surveys remark that DIAs potential is still untapped because of very difficult and costly design, quality assessment and continuous refinement. To address the above sh...
In recent years, we have observed the increasing interest in the system property resilience. We ascribe this increasing interest to the rapidly growing number of deployed, complex, socio-technical systems, which are facing uncertainty about changes they are expected to experience during their life-cycle and ways to deal with them. This paper contri...
The development of Information Systems today faces the era of Big Data. Large volumes of information need to be processed in real-time, for example, for Facebook or Twitter analysis. This paper addresses the redesign of NewsAsset, a commercial product that helps journalists by providing services, which analyzes millions of media items from the soci...
Software performance engineering is a mature field that offers methods to assess system performance. Process mining is a promising research field applied to gain insight on system processes. The interplay of these two fields opens promising applications in the industry. In this work, we report our experience applying a methodology, based on process...
Fulfillment of QoS requirements for systems deployed in the Internet is becoming a must. A widespread characteristic of this kind of systems is that they are usually subject to highly variable and bursty workloads. The allocation of resources to fulfill QoS requirements during the peak workloads could entail a waste of computing resources. A soluti...
DevOps is a software engineering strategy to reduce soft- ware changes' rollout times by adopting any set of tactics that reduce friction in software lifecycles and their organisational variables, for example: coordination, communication, product evolution, deployment, operation, continuous architecting, continuous integration and more. Going DevOp...
The paper presents an industrial application of a DevOps process for a Tax fraud detection system. In particular, we report the influence of the quality assessment during development iterations, with special focus on the fulfillment of performance requirements. We investigated how to guarantee quality requirements in a process iteration while new f...
Nowadays, many enterprises commit to the extraction of actionable knowledge from huge datasets as part of their core business activities. Applications belong to very different domains such as fraud detection or one-to-one marketing, and encompass business analytics and support to decision making in both private and public sectors. In these scenario...
We present the open reference architecture of the SeaClouds solution. It aims at enabling a seamless adaptive multi-cloud management of complex applications by supporting the distribution, monitoring and reconfiguration of app modules over heterogeneous cloud providers.
Despite the abundance of research on methodologies for the documentation of design decisions and the evidence linking documentation to the improvement in the systems evolution, their practical adoption seems to be sparse. To understand this issue, we have conducted an overview of state-of-the-art on documentation of design decisions. We pursue an i...
More and more software owners consider moving their IT infrastructure to the cloud. At present, cloud providers offer easy manners to deploy software artifacts. Therefore, the profile of cloud clients is no longer limited to computing experts. However, an appropriate configuration of the elasticity offered by cloud computing is still complicated. T...
Modern service-oriented software applications, like those envisioned in cloud computing scenarios, operate in highly dynamic and often unpredictable environments that can degrade their quality of service. Therefore, it is increasingly important to efficiently and effectively manage the adaptation of such service compositions while guaranteeing qual...
We present a method and a tool for devising adaptation plans for the deployment of software applications on cloud computing infrastructure comprising a combination of reserved and 'pay-as-you-go' resources. Starting from a trace log that represents the expected workload pattern of the application, we exploit queuing theory results to synthesize an...
The inherent dynamic nature of Cyber Physical
Systems (CPS) requires novel mechanisms to support their
evolution over their operation life time. Though typically the
development of CPS integrates the software (cyber) design with
the physical domain, this contribution concentrates mainly on
another essential integration plane: The software design le...
The design of the embedded software for industrial systems progressively integrates more intelligent functions to ease the integration between the factory floor hardware and operator-friendly control front ends. New software development paradigms such as service oriented architecture (SOA) make it possible by embedding small footprint web servers i...
Modern software operates in highly dynamic and often unpredictable environments that can degrade its quality of service. Therefore, it is increasingly important having systems able to adapt their behavior to the environment where they execute at any moment. Nevertheless, software with self-adaptive capabilities is difficult to develop. To make easi...
Models play a central role in the assessment of software non-functional properties like performance and reliability. Models can be used both in the initial phases of development to support the designer decisions and at runtime to evaluate the impact of changes in the existing software. However, being abstraction, the models include per-se a certain...
The complexity of modern software systems has grown enormously in the past years with users always demanding for new features and better quality of service. Besides, software is often embedded in dynamic contexts, where requirements, environment assumptions, and usage profiles continuously change. As an answer to this need, it has been proposed the...
Modern software operates in highly dynamic and often unpredictable environments that can degrade its quality of service. Therefore, it is increasingly important having systems able to adapt their behavior. However, the achievement of software adaptability can influence other software quality attributes, such as availability, performance or cost. Th...
Numerous organisations are considering moving at least some of their existing applications to the cloud. A key motivating factor for this fast-paced adoption of cloud is the expectation of cost savings. Estimating what these cost savings might be requires comparing the known cost of running an application in-house with a predicted cost of its cloud...
Energy use is becoming a key design consideration in computing infrastructures and services. In this paper we focus on service-based applications and we propose an adaptation framework that can be used to reduce power consumption according to the observed workload. The adaptation guarantees a trade-off between energy consumption and system performa...
Software is often embedded in dynamic contexts where it is subjected to high variable, non-stable, and usually bursty workloads. A key requirement for a software system is to be able to self-react to workload changes by adapting its behavior dynamically, to ensure both the correct functionalities and the required performance. Research on fitting va...
Service Oriented Architecture (SOA) is a paradigm where applications are built on services offered by third party providers. Behavior of providers evolves and makes a challenge the performance prediction of SOA applications. A proper decision about when a provider should be substituted can dramatically improve the performance of the application. We...
Service Oriented Architecture (SOA) is a paradigm where applications are built on services offered by third party providers. Behavior of providers evolves and makes a challenge the performance prediction of SOA applications. A proper decision about when a provider should be substituted can dramatically improve the performance of the application. We...
Service Oriented Architecture (SOA) is a paradigm where applications are built on services offered by third party providers. Behavior of providers evolves and makes a challenge the performance prediction of SOA applications. A proper decision about when a provider should be substituted can dramatically improve the performance of the application. We...
The energy use is becoming a key design consideration in computing infrastructures and services. In this paper we focus on service-based applications and we propose an adaptation process that can be used to reduce power consumption. This adaptation process is materialized in an adaptation plan which fits into a software architecture specifically de...
One of the major current research trends in Software Engineering is the focus on the development of new techniques to deal efficiently with the design of systems that are able to evolve overtime and adapt to rapid changes of their requirements. However, it is still an open issue how to quantify and evaluate the adaptability of a given software syst...
Adaptable reactive software systems continuously interact with their environment responding to external stimuli and triggering events that may be perceived by their users. Designing and maintaining such systems is a challenging task. A key issue to be faced concerns the assessment of their effectiveness, in terms of the ability to meet their requir...
Open-world software is a paradigm which allows to develop distributed and heterogeneous software systems. They can be built by integrating already developed third-party services, which use to declare QoS values (e.g., related to performance). It is true that these QoS values are subject to some uncertainties. Consequently, the performance of the sy...
Open-world software is a new paradigm that stresses the concept of software service as a pillar for building applications. Services are unceasingly deployed elsewhere in the open-world and are used on demand. Consequently, the performance of these open-world applications relies on the performance of definitely unknown third-parties. Another consequ...