Recent Publications

Cunha M, Preguiça N, Martins JL, Domingos H, Moura F, Moreno CB.  2001.  Mobisnap: Um sistema de bases de dados para ambientes móveis. CRC' - Actas da Conferência de Redes de Computadores . Abstractmobisnap-crc01.pdf

O Mobisnap é um sistema de base de dados para ambientes móveis. O sistema é baseado numa arquitectura cliente/servidor utilizando replicação optimista. Os clientes mantêm uma cópia parcial dos dados e o sistema combina um mecanismo que evita os conflitos – reservas – com outro que permite a sua resolução – transacções móveis. Estes mecanismos permitem que os clientes mantenham a sua autonomia mesmo em situações de desconexão.

Campos JC, Harrison M.  2001.  Model Checking Interactor Specifications. ASE - Automated Software Engineering. 8(3):275-310. Abstractcamposh01.pdf

Recent accounts of accidents draw attention to "automation surprises'' that arise in safety critical systems. An automation surprise can occur when a system behaves differently from the expectations of the operator. Interface mode changes are one class of such surprises that have significant impact on the safety of a dynamic interactive system. They may take place {\em implicitly} as a result of other system action. Formal specifications of interactive systems provide an opportunity to analyse problems that arise in such systems. In this paper we consider the role that an {\em interactor} based specification has as a partial model of an interactive system so that mode consequences can be checked early in the design process. We show how interactor specifications can be translated into the SMV model checker input language and how we can use such specifications in conjunction with the model checker to analyse potential for mode confusion in a realistic case. Our final aim is to develop a general purpose methodology for the automated analysis of interactive systems. This verification process can be useful in raising questions that have to be addressed in a broader context of analysis.

Sousa AL, Pedone F, Oliveira R, Moura F.  2001.  Partial replication in the database state machine. Proceedings of the IEEE International Symposium on Network Computing and Applications (NCA). Abstractpartial_replication.pdf

This paper investigates the use of partial replication in the Database State Machine approach introduced ear- lier for fully replicated databases. It builds on the or- der and atomicity properties of group communication primitives to achieve strong consistency and proposes two new abstractions: Resilient Atomic Commit and Fast Atomic Broadcast. Even with atomic broadcast, partial replication re- quires a termination protocol such as atomic commit to ensure transaction atomicity. With Resilient Atomic Commit our termination protocol allows the commit of a transaction despite the failure of some of the par- ticipants. Preliminary performance studies suggest that the additional cost of supporting partial replica- tion can be mitigated through the use of Fast Atomic Broadcast.

Pereira JO, Rodrigues L, Oliveira R, Kermarrec AM.  2001.  Probabilistic semantically reliable multicast. Proceedings of the IEEE International Symposium on Network Computing and Applications (NCA). Abstractnca.pdf

Traditional reliable broadcast protocols fail to scale to large settings. The paper proposes a reliable multicast protocol that integrates two approaches to deal with the large-scale dimension in group communication protocols: gossip-based probabilistic broadcast and semantic reliability. The aim of the resulting protocol is to improve the resiliency of the probabilistic protocol to network congestion by allocating scarce resources to semantically relevant messages. Although intuitively it seems that a straightforward combination of probabilistic and semantic reliable protocols is possible, we show that it offers disappointing results. Instead, we propose an architecture based on a specialized probabilistic semantically reliable layer and show that it produces the desired results. The combined primitive is thus scalable to large number of participants, highly resilient to network and process failures, and delivers a high quality data flow even when the load exceeds the available bandwidth. We present a summary of simulation results that compare different protocol configurations.

Oliveira R, Pereira JO, Schiper A.  2001.  Primary-backup replication: From a time-free protocol to a time-based implementation. Proceedings of 20th IEEE International Symposium on Reliable Distributed Systems (SRDS). Abstracttrains.pdf

Fault-tolerant control systems can be built by replicating critical components. However, replication raises the issue of inconsistency. Multiple protocols for ensuring consistency have been described in the literature. PADRE (Protocol for Asymmetric Duplex Redundancy) is such a protocol, and an interesting case study of a complex and sensitive problem: the management of replicated traffic controllers in a railway system [5]. However, the low level at which the protocol has been developed embodies system details, namely timeliness assumptions, that make it difficult to understand and may narrow its applicability. We argue that, when designing a protocol, it is preferable to consider first a general solution that does not include any timeliness assumptions; then, by taking into account additional hypothesis, one can easily design a time-based solution tailored to a specific environment. This paper illustrates the benefit of a top-down protocol design approach, and shows that PADRE can be seen as an instance of a standard Primary-backup replication protocol based on View Synchronous Communication (VSC).

Villavicencio G, Oliveira JN.  2001.  Reverse Program Calculation Supported by Code Slicing. Proceedings of Eighth Working Conference on Reverse Engineering. :35–46. Abstract

This paper sketches a discipline for reverse engineering which combines formal and semi-formal methods. Among the former is the "algebra of programming", which we apply in "reverse order" so as to reconstruct formal specifications of legacy code. The latter includes code slicing, used as a means of trimming down the complexity of handling the formal semantics of all program variables at the same time. A strong point of the approach is its constructive style. Reverse calculations go as far as imploding auxiliary variables, introducing mutual recursion (if applicable) and transforming semantic functions into standard generic programming schemata such as cata/paramorphisms. We illustrate the approach by reversing a piece of code (from C to Haskell) already studied in the code-slicing literature: the word-count (wc) program.

Almeida PS, Moreno CB, Fonte V.  2000.  Panasync: Dependency tracking among file copies. Proceedings of the 9th workshop on European workshop: beyond the PC: new challenges for the operating system. :7–12. Abstractpanasync.pdf

File copying is frequently used to implement ad hoc management of file replicas, backups and versions. Such tasks can be assisted by appropriate applications, at the expense of introducing some restrictions to the usage patterns. In particular, this is the case of interactions involving disconnected machines and transportable media. Panasync tries to support these actions by introducing a set of commands for file copying and re-integration that complement the file-system commands and provide support for dependency analysis among time-stamp assisted files.

Pereira JO, Rodrigues L, Oliveira R.  2000.  Semantically reliable multicast protocols. 9th IEEE Symposium on Reliable Distributed Systems - SRDS. :{60-69}. Abstractsrds2k.pdf

Reliable multicast protocols can strongly simplify the design of distributed applications. However it is hard to sustain a high multicast throughput when groups are large and heterogeneous. In an attempt to overcome this limitation, previous work has focused on weakening reliability properties. The authors introduce a novel reliability model that exploits semantic knowledge to decide in which specific conditions messages can be purged without compromising application correctness. This model is based on the concept of message obsolescence: a message becomes obsolete when its content or purpose is overwritten by a subsequent message. We show that message obsolescence can be expressed in a generic way and can be used to configure the system to achieve higher multicast throughput.

Pereira JO, Oliveira R, Rodrigues L.  2000.  Semantically Reliable Multicast: Current Status and Future Work. 14th International Symposium on Distributed Computing - DISC. Abstract10.1.1.7.4701.pdf

In multicast communication systems... Besides summarizing initial research results [10] showing that message obsolescence can be expressed in a generic way and can be used to achieve a higher stable throughput, this text advances a definition of the service and outlines our current research directions.

Preguiça N, Moreno CB, Moura F, Martins JL, Oliveira R, Domingos H, Pereira JO, Duarte S.  2000.  Mobile Transaction Management in Mobisnap. Proceedings of the East-European Conference on Advances in Databases and Information Systems Held Jointly with International Conference on Database Systems for Advanced Applications - ADBIS-DASFAA. 1884:379–386. Abstractadbis00-full.pdf

To allow mobile users to continue their work while disconnected, mobile systems usually rely on optimistic replication techniques. In mobile database systems, mobile units cache subsets of the database state and allow disconnected users to perform transactions concurrently. These transactions are later integrated in the master database state. As concurrently performed transactions may conflict, it is usually impossible to determine the result of an update in the mobile unit. Moreover, this model differs from the traditional client/server model due to the fundamental fact that the user will usually not be connected to the system when the results of his transactions are finally determined - therefore, he can not immediately perform adequate alternative actions. In this paper we describe a transaction management system that takes into consideration the above-mentioned characteristics. Transactions are specified as mobile transactional programs, which allows the precise definition of operation semantics and the definition of alternative actions. Support for active user notification is also provided in the system. Finally, the system relies on a reservation mechanism to be able to guarantee the results of transactions in the mobile units.

Pereira JO.  2000.  Fault-Tolerant Replication of High Throughput Services. IEEE/IFIP International Conference on Dependable Systems and Networks - DSN. Abstracticdsn2k.pdf

In multicast communication systems, a single perturbed recipient can drastically a ect the performance of a complete group of processes. This problem can be alleviated by allowing some messages to be omitted. We propose a multicast service that exploits semantic knowledge to select which messages can be omitted without compromising the application's correctness. Besides summarizing initial research results [8], this text addresses the implementation of high throughput fault-tolerant services by combining virtually synchronous and totally ordered reliable multicast with semantic reliability.

Barbosa LS.  2000.  Components as Processes: An Exercise in Coalgebraic Modeling. 4th International Conference on Formal Methods for Open Object-Based Distributed Systems - FMOODS. :397–417. Abstract10.1.1.111.8207.pdf

Abstract Software components, arising, typically, in systems ’ analysis and design, are characterized by a public interface and a private encapsulated state. They persist (and evolve) in time, according to some behavioural patterns. This paper is an exercise in modeling such components as coalgebras for some kinds of endofunctors on ¢¡¤ £ , capturing both (interface) types and behavioural aspects. The construction of component categories, cofibred over the interface space, emerges by generalizing the usual notion of a coalgebra morphism. A collection of composition operators as well as a generic notion of bisimilarity, are discussed.

Barbosa LS, Barros J B, Almeida J J.  2000.  Polytipic recursion patterns. 5º Simpósio Brasileiro de Linguagens de Programação - SBLP. Abstractbarsblp.pdf

Recursive schemes over inductive data structures have been recognized as category-theoretic universals, yielding a handful of equational laws for program construction and transformation. This paper introduces the implementation of such recursion patterns as type parametric, or polytypic, functionals in the CAMILA prototyping language. Several examples are discussed.

Moreno CB, Moura F.  1999.  Causality in autonomous mobile systems. 3rd European Research Seminar on Advances in Distributed Systems. Abstractmobicaus_1.pdf

The analysis of causal relations among events in a distributed computation plays a central role in distributed systems modeling. Existing models for causal time-stamping are based on a known set of entities, either processes or data repositories, where events can occur. The advent of mobile computing settings that stimulate cooperation among arbitrary groups of nodes, possibly in isolation, precludes the use of a pre-established set of entity identifiers. Addressing this problem, the article proposes a causality definition and a time-stamping model that allows the analysis of those environments, while retaining compatibility with the classic causality model.

Moreno CB, Almeida PS.  1999.  Towards efficient time-stamping for autonomous versioning. EPCM 1999 - Encontro Português de Computação Móvel. 99 Abstract10.1.1.42.4379.pdf

We sketch a decentralized versioning scheme that handles the detection of concurrent updates among an arbitrary number of replicas, overcoming the limitations that a centralized knowledge of that number imposes to Mobile Computing.