Sobre
Doutorado em Informática no programa doutoral MAP-i das Universidades do Minho, Aveiro e Porto. Investigador Pós-doutorado no INESC - Porto. Professor Auxiliar da FEUP/DEI. Membro do Software Engineering Group - FEUP e do Hillside Group.
Doutorado em Informática no programa doutoral MAP-i das Universidades do Minho, Aveiro e Porto. Investigador Pós-doutorado no INESC - Porto. Professor Auxiliar da FEUP/DEI. Membro do Software Engineering Group - FEUP e do Hillside Group.
Doutorado em Informática no programa doutoral MAP-i das Universidades do Minho, Aveiro e Porto. Investigador Pós-doutorado no INESC - Porto. Professor Auxiliar da FEUP/DEI. Membro do Software Engineering Group - FEUP e do Hillside Group.
2024
Autores
Ribeiro, E; Restivo, A; Ferreira, HS; Dias, JP;
Publicação
JOURNAL OF SYSTEMS AND SOFTWARE
Abstract
The Internet -of -Things (IoT) has created a complex environment where hardware and software interact in complex ways. Despite being a prime candidate for applying well -established software engineering practices, IoT has not seen the same level of adoption as other areas, such as cloud development. This discrepancy is even more evident in the case of edge devices, where programming and managing applications can be challenging due to their heterogeneous nature and dependence on specific toolchains and languages. However, the emergence of WebAssembly as a viable solution for running high-level languages on some devices presents an opportunity to streamline development practices, such as DevOps. In this paper, we present WASMICO - a firmware and command -line utility that allows for the execution and management of application lifecycles in microcontrollers. Our solution has been benchmarked against other state-of-the-art tools, demonstrating its feasibility, novel features, and empirical evidence that it outperforms some of the most widely used solutions for running high-level code on these devices. Overall, our work aims to promote the use of wellestablished software engineering practices in the IoT domain, helping to bridge the gap between cloud and edge development.
2023
Autores
Fragoso, T; Silva, D; Dias, JP; Restivo, A; Ferreira, HS;
Publicação
2023 53RD ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS WORKSHOPS, DSN-W
Abstract
Performing experiments with Internet-of-Things edge devices is not always a trivial task, as large physical testbeds or complex simulators are often needed, leading to low reproducibility and several difficulties in crafting complex scenarios and tweaking parameters. Most available simulators try to simulate as close to reality as possible. While we agree that this kind of high-fidelity simulation might be necessary for some scenarios, we argue that a low-fidelity easy-to-change simulator may be a good solution when rapid prototyping orchestration strategies and algorithms. In this work, we introduce SIMoT, a low-fidelity orchestrator simulator created to achieve shorter feedback loops when testing different orchestration strategies for task allocation in edge devices. We then transferred the simulator-validated algorithms to both physical and virtual testbeds, where it was possible to assert that the simulator results correlate strongly with the observations on those testbeds.
2022
Autores
Sousa, TB; Ferreira, HS; Correia, FF;
Publicação
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Abstract
This work takes as a starting point a collection of patterns for engineering software for the cloud and tries to find how they are regarded and adopted by professionals. Existing literature assesses the adoption of cloud computing with a focus on business and technological aspects and falls short in grasping a holistic view of the underlying approaches. Other authors delve into how independent patterns can be discovered (mined) and verified, but do not provide insights on their adoption. We investigate (1) the relevance of the patterns for professional software developers, (2) the extent to which product and company characteristics influence their adoption, and (3) how adopting some patterns might correlate with the likelihood of adopting others. For this purpose, we survey practitioners using an online questionnaire (n = 102). Among other findings, we conclude that most companies use these patterns, with the overwhelming majority (97 percent) using at least one. We observe that the mean pattern adoption tends to increase as companies mature, namely when varying the product operation complexity, active monthly users, and company size. Finally, we search for correlations in the adoption of specific patterns and attempt to infer causation, providing further clues on how some practices depend or influence the adoption of others. We conclude that the adoption of some practices correlates with specific company and product characteristics, and find relationships between the patterns that were not covered by the original pattern language and which might deserve further investigation.
2022
Autores
Dias, JP; Restivo, A; Ferreira, HS;
Publicação
INTERNET OF THINGS
Abstract
The current complexity of IoT systems and devices is a barrier to reach a healthy ecosystem, mainly due to technological fragmentation and inherent heterogeneity. Meanwhile, the field has scarcely adopted any engineering practices currently employed in other types of large-scale systems. Although many researchers and practitioners are aware of the current state of affairs and strive to address these problems, compromises have been hard to reach, making them settle for sub-optimal solutions. This paper surveys the current state of the art in designing and constructing IoT systems from the software engineering perspective, without overlooking hardware concerns, revealing current trends and research directions.
2022
Autores
Duarte, M; Dias, JP; Ferreira, HS; Restivo, A;
Publicação
2022 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING RESEARCH AND PRACTICES FOR THE IOT (SERP4IOT 2022)
Abstract
The widespread use of Internet-of-Things (IoT) across different application domains leads to an increased concern regarding their dependability, especially as the number of potentially mission-critical systems becomes considerable. Fault-tolerance has been used to reduce the impact of faults in systems, and their adoption in IoT is becoming a necessity. This work focuses on how to exercise fault-tolerance mechanisms by deliberately provoking its malfunction. We start by describing a proof-of-concept fault-injection add-on to a commonly used publish/subscribe broker. We then present several experiments mimicking real-world IoT scenarios, focusing on injecting faults in systems with (and without) active self-healing mechanisms and comparing their behavior to the baseline without faults. We observe evidence that fault-injection can be used to (a) exercise in-place fault-tolerance apparatus, and (b) detect when these mechanisms are not performing nominally, providing insights into enhancing in-place fault-tolerance techniques.
Teses supervisionadas
2022
Autor
Guilherme José Ferreira do Couto Fonseca da Silva
Instituição
UP-FEUP
2022
Autor
Miguel Delgado Pinto
Instituição
UP-FEUP
2022
Autor
João Pedro Matos Teixeira Dias
Instituição
UP-FEUP
2022
Autor
David Luís Dias da Silva
Instituição
UP-FEUP
2022
Autor
Eduardo Carreira Ribeiro
Instituição
UP-FEUP
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.