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

2006

The use of real-time publish-subscribe middleware in networked vehicle systems

Authors
Marques, ERB; Goncalves, GM; Sousa, JB;

Publication
IFAC Proceedings Volumes (IFAC-PapersOnline)

Abstract
Seaware is a publish-subscribe middleware used in multi-vehicle networked systems composed of autonomous and semi-autonomous vehicles and systems. Seaware provides a high level interface to network communications and may be deployed with a combination of heterogeneous components within a dynamic network. Seaware supports the RTPS (Real Time Publish Subscribe) protocol, underwater acoustic modems and other forms of network transport. This paper gives an overview of Seaware's implementation and its application to multi-vehicle networked systems.

2007

AUV control and communication using underwater acoustic networks

Authors
Marques, ERB; Pinto, J; Kragelund, S; Dias, PS; Madureira, L; Sousa, A; Correia, M; Ferreira, H; Goncalves, R; Martins, R; Homer, DP; Healey, AJ; Goncalves, GM; Sousa, JB;

Publication
OCEANS 2007 - EUROPE, VOLS 1-3

Abstract
Underwater acoustic networks can be quite effective to establish communication links between autonomous underwater vehicles (AUVs) and other vehicles or control units, enabling complex vehicle applications and control scenarios. A communications and control framework to support the use of underwater acoustic networks and sample application scenarios are described for single and multi-AUV operation.

2007

SWORDFISH: an autonomous surface vehicle for network centric operations

Authors
Ferreira, H; Martins, R; Marques, E; Pinto, J; Martins, A; Almeida, J; Sousa, J; Silva, EP;

Publication
OCEANS 2007 - EUROPE, VOLS 1-3

Abstract
The design and development of the Swordfish Autonomous Surface Vehicle (ASV) system is discussed. Swordfish is an ocean capable 4.5m long catamaran designed for network centric operations (with ocean and air going vehicles and human operators). In the basic configuration, Swordfish is both a survey vehicle and a communications node with gateways for broadband, Wi-Fi and GSM transports and underwater acoustic modems. In another configuration, Swordfish mounts a docking station for the autonomous underwater vehicle Isurus from Porto University. Swordfish has an advanced control architecture for multi-vehicle operations with mixed initiative interactions (human operators are allowed to interact with the control loops).

2011

Runtime programming through model-preserving, scalable runtime patches

Authors
Kirsch, CM; Lopes, L; Marques, ERB; Sokolova, A;

Publication
Proceedings - International Conference on Application of Concurrency to System Design, ACSD

Abstract
We consider a methodology for flexible software design, runtime programming, defined by recurrent, incremental software modifications to a program at runtime, called runtime patches. The principles we consider for runtime programming are model preservation and scalability. Model preservation means that a runtime patch preserves the programming model in place for programs - in terms of syntax, semantics, and correctness properties - as opposed to an "ad-hoc", disruptive operation, or one that requires an extra level of abstraction. Scalability means that, for practicality and performance, the effort in program compilation required by a runtime patch should ideally scale in proportion to the change induced by it. We formulate runtime programming over an abstract model for component-based concurrent programs, defined by a modular relation between the syntax and semantics of programs, plus built-in notions of initialization and quiescence. The notion of a runtime patch is defined over these assumptions, as a model-preserving transition between two programs and respective states. Additionally, we propose an incremental compilation framework for scalability in patch compilation. The formulation is put in perspective through a case-study instantiation over a language for distributed hard real-time systems, the Hierarchical Timing Language (HTL). © 2011 IEEE.

2012

Runtime programming through model-preserving, scalable runtime patches

Authors
Kirsch, CM; Lopes, L; Marques, ERB; Sokolova, A;

Publication
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Abstract
We propose a methodology for flexible software design, runtime programming, by means of incremental software modifications at runtime. Runtime programming acknowledges that software designs are often incomplete, and require the flexibility of change, e.g., fixing bugs or introducing new features, without disruption of their service. This flexibility is much needed for critical software that generally needs to handle uncertainty, e.g. cloud computing or cyber-physical systems, due to dynamic requirements of composition, service, or performance. Runtime modifications should be allowed recurrently, and, thus, be handled as a common case of system functionality in predictable and efficient manner, with proper understanding of inherent functional and non-functional aspects. The work in many diverse research communities with related concerns typically tends to take a partial and domain-specific view of the problem, hence comprehensive and general methodologies are in order. In this extended abstract, we make a summary of the runtime programming proposal of [4]. The work follows up on a preliminary formulation of runtime programming [3], and work on modular compilation of real-time programs [2]. © 2012 Springer-Verlag.

2023

Jay: A software framework for prototyping and evaluating offloading applications in hybrid edge clouds

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

Publication
SOFTWARE-PRACTICE & EXPERIENCE

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.

  • 5
  • 5