Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Hugo Sereno Ferreira

2018

A Brief Overview of Existing Tools for Testing the Internet-of-Things

Authors
Dias, JP; Couto, F; Paiva, ACR; Ferreira, HS;

Publication
2018 IEEE 11TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW)

Abstract
Systems are error-prone. Big systems have lots of errors. The Internet-of-Things poses us one of the biggest and widespread systems, where errors directly impact people's lives. Testing and validating is how one deals with errors; but testing and validating a planetary-scale, heterogeneous, and ever-growing ecosystem has its own challenges and idiosyncrasies. As of today, the solutions available for testing these systems are insufficient and fragmentary. In this paper we provide an overview on test approaches, tools and methodologies for the Internet-of-Things, its software and its devices. Our conclusion is that we are still lagging behind on the best practices and lessons learned from the Software Engineering community in the past decades.

2018

Dynamic Allocation of Serverless Functions in IoT Environments

Authors
Pinto, D; Dias, JP; Ferreira, HS;

Publication
2018 IEEE 16TH INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING (EUC 2018)

Abstract
The IoT area has grown significantly in the last few years and is expected to reach a gigantic amount of 50 billion devices by 2020. The appearance of serverless architectures, specifically highlighting FaaS, raises the question of the suitability of using them in IoT environments. Combining IoT with a serverless architectural design can be effective when trying to make use of the local processing power that exists in a local network of IoT devices and creating a fog layer that leverages computational capabilities that are closer to the end-user. In this approach, which is placed between the device and the serverless function, when a device requests for the execution of a serverless function will decide based on previous metrics of execution if the serverless function should be executed locally, in the fog layer of a local network of IoT devices, or if it should be executed remotely, in one of the available cloud servers. Therefore, this approach allows dynamically allocating functions to the most suitable layer.

2018

A Reactive and Model-based Approach for Developing Internet-of-Things Systems

Authors
Dias, JP; Faria, JP; Ferreira, HS;

Publication
2018 11TH INTERNATIONAL CONFERENCE ON THE QUALITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY (QUATIC)

Abstract
Software has a longstanding association with a state of crisis considering its success rate. The explosion of Internet-connected devices - Internet-of-Things -adds to the complexity of software systems. The particular characteristics of these systems, such as its large-scale and heterogeneity, pose increasingly new challenges. Model-based approaches have been widely used as a mechanism to abstract low-level programming details and processes. By using such approaches, and leveraging concepts as reactive design, visual notations, and live programming, we believe to be able to reduce the complexity of creating, operate/monitor and evolve such systems. The main objective of this Ph.D. is to delve into the software engineering practices for developing IoT systems and systems of systems, exploiting models as a suitable abstraction, expecting to reduce the complexity of managing most of the software development lifecycle that targets IoT systems and to develop the prototype that will aid on the validation of such approach.

2018

Engineering Software for the Cloud: Automated Recovery and Scheduler

Authors
Sousa, TB; Ferreira, HS; Correia, FF; Aguiar, A;

Publication
EUROPLOP 2018: PROCEEDINGS OF THE 23RD EUROPEAN CONFERENCE ON PATTERN LANGUAGES OF PROGRAMS

Abstract
Cloud software continues to expand globally, highly motivated by how widespread the Internet is and the possibilities it unlocks with cloud computing. Still, cloud development has some intrinsic properties to it, making it complex to unexperienced developers. This research is capturing those intricacies in the form of a pattern language that gathers ten patterns for engineering software for the cloud. This paper elaborates on that research by contributing with two new patterns: Automated Recovery, which checks if a container is working properly, automatically recovering it in case of failure and Scheduler, which periodically executes actions within the infrastructure. The described patterns are useful for anyone designing software for the cloud, either to bootstrap or to validate their design decisions with the end goal of enabling them to create better software for the cloud.

2018

Engineering Software for the Cloud: External Monitoring and Failure Injection

Authors
Sousa, TB; Ferreira, HS; Correia, FF; Aguiar, A;

Publication
EUROPLOP 2018: PROCEEDINGS OF THE 23RD EUROPEAN CONFERENCE ON PATTERN LANGUAGES OF PROGRAMS

Abstract
Cloud software continues to expand globally, highly motivated by how widespread the Internet is and the possibilities it unlocks with cloud computing. Still, cloud development has some intrinsic properties to it, making it complex to unexperienced developers. This research is capturing those intricacies in the form of a pattern language, gathering ten patterns for engineering software for the cloud. This paper elaborates on that research by contributing with two new patterns: External Monitoring, which continuously monitors the system as a black box, validating its status and Failure Injection, which continuously verifies system reliability by injecting failures into the cloud environment and confirming that the system recovers from it. The described patterns are useful for anyone designing software for the cloud, either to bootstrap or to validate their design decisions with the end goal of enabling them to create better software for the cloud.

2018

A Blockchain-Based Scheme for Access Control in e-Health Scenarios

Authors
Dias, JP; Ferreira, HS; Martins, A;

Publication
Proceedings of the Tenth International Conference on Soft Computing and Pattern Recognition, SoCPaR 2018, Porto, Portugal, December 13-15, 2018

Abstract
Access control is a crucial part of a system’s security, restricting what actions users can perform on resources. Therefore, access control is a core component when dealing with e-Health data and resources, discriminating which is available for a certain party. We consider that current systems that attempt to assure the share of policies between facilities are mostly centralized, being prone to system’s and network’s faults and do not assure the integrity of policies lifecycle. Using a blockchain as store system for access policies we are able to ensure that the different entities have knowledge about the policies in place while maintaining a record of all permission requests, thus assuring integrity, auditability and authenticity. © 2020, Springer Nature Switzerland AG.

  • 2
  • 10