Eduardo R. B. Marques

dblp:17/7791 · DBLP profile ↗
← Back
7ranked-venue papers
0as first author
1since 2021 · last 2023
0000-0002-6980-6868ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 2 · 1 since 2021Artificial intelligence and machine learning · 1Systems, architecture and hardware · 1Computer networks · 1Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 78% Embedded and real-time systems · 22%
Software engineering, system software, and programming languages
2 papers
Program verification · 70% Programming languages and type systems · 30%

Topics — the 6 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification
protocol verification
0.212015
Protocol-based verification of message-passing parallel programs · OOPSLA 2015
Parallel and multicore computing › parallel programming models
message passing
0.212015
Protocol-based verification of message-passing parallel programs · OOPSLA 2015
Parallel and multicore computing
MPI
0.212015
Protocol-based verification of message-passing parallel programs · OOPSLA 2015
Parallel and multicore computing
parallel programming models
0.212015
Protocol-based verification of message-passing parallel programs · OOPSLA 2015
Embedded and real-time systems › industrial control systems
distributed control systems
0.112009
Distributed, Modular HTL · RTSS 2009
Programming languages and type systems
language semantics
0.012009
Distributed, Modular HTL · RTSS 2009

Methods — techniques the papers use, named apart from their topics

software verification · 0.4dependent type system · 0.4modular analysis · 0.2code generation · 0.2
YearPublicationVenuePosition
2023 Jay: A software framework for prototyping and evaluating offloading applications in hybrid edge clouds
abstract
Abstract We present Jay, a software framework for offloading applications in hybrid edge clouds. Jay provides an API, services, and tools that enable mobile application developers to implement, instrument, and evaluate offloading applications using configurable cloud topologies, offloading strategies, and job types. We start by presenting Jay's job model and the concrete architecture of the framework. We then present the programming API with several examples of customization. Then, we turn to the description of the internal implementation of Jay instances and their components. Finally, we describe the Jay Workbench, a tool that allows the setup, execution, and reproduction of experiments with networks of hosts with different resource capabilities organized with specific topologies. The complete source code for the framework and workbench is provided in a GitHub repository.
Joaquim Silva 0001, Eduardo R. B. Marques, Luís M. B. Lopes, Fernando M. A. Silva
Softw. Pract. Exp.2
2018 Video Dissemination in Untethered Edge-Clouds: A Case Study
João Rodrigues 0003, Eduardo R. B. Marques, Joaquim Silva 0001, Luís M. B. Lopes, Fernando M. A. Silva
DAIS2
2018 Dolphin: A Task Orchestration Language for Autonomous Vehicle Networks
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).
Keila Lima, Eduardo R. B. Marques, José Pinto 0001, João Borges de Sousa
IROS2
2018 Flux: A Platform for Dynamically Reconfigurable Mobile Crowd-Sensing
abstract
F lux is a platform for dynamically reconfigurable crowd-sensing using mobile devices like smartphones and tablets, programmed under a notion of region-based sensing. Each region is defined by a set of physical constraints that determine the sensing scope, e.g., based on device position or other environmental variables, plus a set of periodic tasks that perform the actual sensing. The resulting behavior is inherently dynamic: as a device’s state changes, e.g., moves in space, it enters and/or leaves different regions, thereby changing the set of active tasks; moreover, regions can be added, deleted, and reprogrammed on-the-fly. F lux makes use of a domain-specific language for sensing tasks that is compiled into abstract bytecode, later executed by a low-footprint virtual machine within a device, guaranteeing runtime safety by construction. For region/task dissemination, F lux employs a broker that holds a changeable region configuration plus gateways that mirror the configuration throughout different network access points to which devices connect. Sensing data is streamed by devices to gateways and then back to the broker. Live or archived data streams are in turn fed by the broker to data-processing clients, which interface with the broker using a publish/subscribe API. We conducted two case-study experiments illustrating F lux : a single-region deployment to monitor WiFi signal quality, and a multi-region deployment to monitor noise, temperature, and places-of-interest based on device movement.
Nuno Silva 0003, Eduardo R. B. Marques, Luís M. B. Lopes
ACM Trans. Sens. Networks2
2015 Protocol-based verification of message-passing parallel programs
abstract
We present ParTypes, a type-based methodology for the verification of Message Passing Interface (MPI) programs written in the C programming language. The aim is to statically verify programs against protocol specifications, enforcing properties such as fidelity and absence of deadlocks. We develop a protocol language based on a dependent type system for message-passing parallel programs, which includes various communication operators, such as point-to-point messages, broadcast, reduce, array scatter and gather. For the verification of a program against a given protocol, the protocol is first translated into a representation read by VCC, a software verifier for C. We successfully verified several MPI programs in a running time that is independent of the number of processes or other input parameters. This contrasts with alternative techniques, notably model checking and runtime verification, that suffer from the state-explosion problem or that otherwise depend on parameters to the program itself. We experimentally evaluated our approach against state-of-the-art tools for MPI to conclude that our approach offers a scalable solution.
Hugo A. López 0001, Eduardo R. B. Marques, Francisco Martins, Nicholas Ng, César Augusto Ribeiro dos Santos, Vasco Thudichum Vasconcelos, Nobuko Yoshida
OOPSLA2
2012 Verification of MPI Programs Using Session Types
Kohei Honda 0001, Eduardo R. B. Marques, Francisco Martins, Nicholas Ng, Vasco Thudichum Vasconcelos, Nobuko Yoshida
EuroMPI2
2009 Distributed, Modular HTL
abstract
The Hierarchical Timing Language (HTL) is a real-time coordination language for distributed control systems. HTL programs must be checked for well-formedness, race freedom, transmission safety (schedulability of inter-host communication), and time safety (schedulability of host computation). We present a modular abstract syntax and semantics for HTL, modular checks of well-formedness, race freedom, and transmission safety, and modular code distribution. Our contributions here complement previous results on HTL time safety and modular code generation. Modularity in HTL can be utilized in easy program composition as well as fast program analysis and code generation, but also in so-called runtime patching, where program components may be modified at runtime.
Thomas A. Henzinger, Christoph M. Kirsch, Eduardo R. B. Marques, Ana Sokolova
RTSS3