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 Eduardo Brandão Marques

2018

Programming Networked Vehicle Systems using Dolphin - Field Tests at REP'17

Authors
Lima, K; Marques, ERB; Pinto, J; Sousa, JB;

Publication
2018 OCEANS - MTS/IEEE KOBE TECHNO-OCEANS (OTO)

Abstract
The increasing availability and use of autonomous vehicles for real operational scenarios has led to the need for tools that allow human operators to interact with multiple systems effectively, taking into account their capabilities, limitations and environmental constraints. Multiple vehicles, deployed together in order to accomplish a common goal, impose a high burden on a human operator for specifying and executing coordinated behavior, particularly in mixed-initiative systems where humans are part of the control loop. In this paper, we describe experimental field tests for Dolphin, a domain-specific language that allows a single program to define the joint behaviour of multiple vehicles over a network. Using the language, it is possible to accomplish an orchestrated execution of single-vehicle tasks according to several patterns such as sequential, concurrent, or event-based program flow. With this aim, Dolphin has been integrated modularly with a software toolchain for autonomous vehicles developed by Laboratorio de Sistemas e Tecnologia Subaquatica (LSTS). The tests we describe made use of LSTS unmanned underwater vehicles (UUVs) at open sea during the 2017 edition of Rapid Environment Picture (REP), an annual exercise jointly organised by LSTS and the Portuguese Navy.

2018

Dolphin: a task orchestration language for autonomous vehicle networks

Authors
Lima, K; Marques, ERB; Pinto, J; Sousa, JB;

Publication
2018 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS)

Abstract
We present Dolphin, an extensible programming language for autonomous vehicle networks. A Dolphin program expresses an orchestrated execution of tasks defined compositionally for multiple vehicles. Building upon the base case of elementary one-vehicle tasks, the built-in operators include support for composing tasks in several forms, for instance according to concurrent, sequential, or event-based task flow. The language is implemented as a Groovy DSL, facilitating extension and integration with external software packages, in particular robotic toolkits. The paper describes the Dolphin language, its integration with an open-source toolchain for autonomous vehicles, and results from field tests using unmanned underwater vehicles (UUVs) and unmanned aerial vehicles (UAVs).

2020

RAMBLE: Opportunistic Crowdsourcing of User-Generated Data using Mobile Edge Clouds

Authors
Garcia, M; Rodrigues, J; Silva, J; Marques, ERB; Lopes, LMB;

Publication
2020 FIFTH INTERNATIONAL CONFERENCE ON FOG AND MOBILE EDGE COMPUTING (FMEC)

Abstract
We present RAMBLE(1), a framework for georeferenced content-sharing in environments that have limited infrastructural communications, as is the case for rescue operations in the aftermath of natural disasters. RAMBLE makes use of mobile edge-clouds, networks formed by mobile devices in close proximity, and lightweight cloudlets that serve a small geographical area. Using an Android app, users ramble whilst generating geo-referenced content (e.g., text messages, sensor readings, photos, or videos), and disseminate that content opportunistically to nearby devices, cloudlets, or even cloud servers, as allowed by intermittent wireless connections. Each RAMBLE-enabled device can both produce information; consume information for which it expresses interest to neighboors, and; serve as an opportunistic cache for other devices. We describe the architecture of the framework and a case-study application scenario we designed to evaluate its behavior and performance. The results obtained reinforce our view that kits of RAMBLE-enabled mobile devices and modest cloudlets can constitute lightweight and flexible untethered intelligence gathering platforms for first responders in the aftermath of natural disasters, paving the way for the deployment of humanitary assistance and technical staff at large.

2020

JAY: Adaptive Computation Offloading for Hybrid Cloud Environments

Authors
Silva, J; Marques, ERB; Lopes, LMB; Silva, F;

Publication
2020 FIFTH INTERNATIONAL CONFERENCE ON FOG AND MOBILE EDGE COMPUTING (FMEC)

Abstract
Edge computing is a hot research topic given the ever-increasing requirements of mobile applications in terms of computation and communication and the emerging Internet-of-Things with billions of devices. While ubiquitous and with considerable computational resources, devices at the edge may not be able to handle processing tasks on their own and thus resort to offloading to cloudlets, when available, or traditional cloud infrastructures. In this paper, we present JAY, a modular and extensible platform for mobile devices, cloudlets, and clouds that can manage computational tasks spawned by devices and make informed decisions about offloading to neighboring devices, cloudlets, or traditional clouds. JAY is parametric on the scheduling strategy and metrics used to make offloading decisions, providing a useful tool to study the impact of distinct offloading strategies. We illustrate the use of JAY with an evaluation of several offloading strategies in distinct cloud configurations using a real-world machine learning application, firing tasks can be dynamically executed on or offloaded to Android devices, cloudlet servers, or Google Cloud servers. The results obtained show that edge-clouds form competent computing platforms on their own and that they can effectively be meshed with cloudlets and traditional clouds when more demanding processing tasks are considered. In particular, edge computing is competitive with infrastructure clouds in scenarios where data is generated at the edge, high bandwidth is required, and a pool of computationally competent devices or an edge-server is available. The results also highlight JAY's ability of exposing the performance compromises in applications when they are deployed over distinct hybrid cloud configurations using distinct offloading strategies.

2017

Behavioural types: From theory to tools english

Authors
Gay, S; Ravara, A;

Publication
Behavioural Types: from Theory to Tools English

Abstract
Behavioural type systems in programming languages support the specification and verification of properties of programs beyond the traditional use of type systems to describe data processing. A major example of such a property is correctness of communication in concurrent and distributed systems, motivated by the importance of structured communication in modern software. Behavioural Types: from Theory to Tools presents programming languages and software tools produced by members of COST Action IC1201: Behavioural Types for Reliable Large-Scale Software Systems, a European research network that was funded from October 2012 to October 2016. As a survey of the most recent developments in the application of behavioural type systems, it is a valuable reference for researchers in the field, as well as an introduction to the area for graduate students and software developers.

2021

Energy-aware adaptive offloading of soft real-time jobs in mobile edge clouds

Authors
Silva, J; Marques, ERB; Lopes, LMB; Silva, F;

Publication
JOURNAL OF CLOUD COMPUTING-ADVANCES SYSTEMS AND APPLICATIONS

Abstract
We present a model for measuring the impact of offloading soft real-time jobs over multi-tier cloud infrastructures. The jobs originate in mobile devices and offloading strategies may choose to execute them locally, in neighbouring devices, in cloudlets or in infrastructure cloud servers. Within this specification, we put forward several such offloading strategies characterised by their differential use of the cloud tiers with the goal of optimizing execution time and/or energy consumption. We implement an instance of the model using Jay, a software framework for adaptive computation offloading in hybrid edge clouds. The framework is modular and allows the model and the offloading strategies to be seamlessly implemented while providing the tools to make informed runtime offloading decisions based on system feedback, namely through a built-in system profiler that gathers runtime information such as workload, energy consumption and available bandwidth for every participating device or server. The results show that offloading strategies sensitive to runtime conditions can effectively and dynamically adjust their offloading decisions to produce significant gains in terms of their target optimization functions, namely, execution time, energy consumption and fulfilment of job deadlines.

  • 3
  • 5