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 HASLab

2001

Partial replication in the Database State Machine

Authors
Sousa, A; Pedone, F; Oliveira, R; Moura, F;

Publication
IEEE INTERNATIONAL SYMPOSIUM ON NETWORK COMPUTING AND APPLICATIONS, PROCEEDINGS

Abstract
This paper investigates the use of partial replication in the Database State Machine approach introduced earlier for fully replicated databases. It builds on the order 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 requires 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 participants. Preliminary, performance studies suggest that the additional cost of supporting partial replication can be mitigated through the use of Fast Atomic Broadcast.

2001

Combining interaction nets with externally defined programs

Authors
Fernández, M; Mackie, I; Pinto, JS;

Publication
APPIA-GULP-PRODE 2001: Joint Conference on Declarative Programming, Évora, Portgual, September 26-28, 2001, Proceedings, Évora, Portugal, September 26-28, 2001.

Abstract

2001

Parallel implementation models for the lambda-calculus using the geometry of interaction

Authors
Pinto, JS;

Publication
TYPED LAMBDA CALCULI AND APPLICATIONS, PROCEEDINGS

Abstract
An examination of Girard's execution formula suggests implementations of the Geometry of Interaction at the syntactic level. In this paper we limit our scope to ground-type terms and study the parallel aspects of such implementations, by introducing a family of abstract machines which can be directly implemented. These machines address all the important implementation issues such as the choice of an interthread communication model, and allow to incorporate specific strategies for dividing the computation of the execution path into smaller tasks.

2001

Parallel evaluation of Interaction Nets with MPINE

Authors
Pinto, JS;

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

Abstract
We describe the MPINE tool, a multi-threaded evaluator for Interaction Nets. The evaluator is an implementation of the present author's Abstract Machine for Interaction Nets [5] and uses POSIX threads to achieve concurrent execution. When running on a multi-processor machine (say an SMP architecture), parallel execution is achieved effortlessly, allowing for desktop parallelism on commonly available machines. © Springer-Verlag Berlin Heidelberg 2001.

2001

Model Checking Interactor Specifications

Authors
Campos, JC; Harrison, MD;

Publication
Autom. Softw. Eng.

Abstract
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 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 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.

2001

Reverse program calculation supported by code slicing

Authors
Villavicencio, G; Oliveira, JN;

Publication
Reverse Engineering - Working Conference Proceedings

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 codeslicing literature: the word-count (wc) program.

  • 252
  • 262