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 Luís Soares Barbosa

1997

CAMILA: Prototyping and Refinement of Constructive Specifications

Authors
Almeida, JJ; Barbosa, LS; Neves, FL; Oliveira, JN;

Publication
Algebraic Methodology and Software Technology, 6th International Conference, AMAST '97, Sydney, Australia, December 13-17, 1997, Proceedings

Abstract
This paper accompanies the demonstration of CAMILA, an experimental platform for formal software development, rooted in the tradition of constructive specification methods. The CAMILA approach is an attempt to make available at software development level the basic problem solving strategy one got used to from school physics -- create, experiment and reason on a mathematical model. Based on a notion of formal software component, it encompasses a set-theoretic language and an in equational calculus for classification and refinement. Its kernel is a functional prototyping environment, fully connectable to external applications, equipped with a classified component repository and distribution facilities. © Springer-Verlag Berlin Heidelberg 1997.

2002

Coinductive Interpreters for Process Calculi

Authors
Barbosa, LS; Oliveira, JN;

Publication
Functional and Logic Programming, 6th International Symposium, FLOPS 2002, Aizu, Japan, September 15-17, 2002, Proceedings

Abstract

2003

State-based components made generic

Authors
Barbosa, LS; Oliveira, JN;

Publication
Electronic Notes in Theoretical Computer Science

Abstract
Genericity is a topic which is not sufficiently developed in state-based systems modelling, mainly due to a myriad of approaches and behaviour models which lack unification. This paper adopts coalgebra theory to propose a generic notion of a state-based software component, and an associated calculus, by quantifying over behavioural models specified as strong monads. This leads to the pointfree, calculational reasoning style which is typical of the so-called Bird-Meertens school. ©2003 Published by Elsevier Science B. V.

2006

Transposing partial components - An exercise on coalgebraic refinement

Authors
Barbosa, LS; Oliveira, JN;

Publication
THEORETICAL COMPUTER SCIENCE

Abstract
A partial component is a process which fails or dies at some stage, thus exhibiting a finite, more ephemeral behaviour than expected. Partiality-which is the rule rather than exception in formal modelling-can be treated mathematically via totalization techniques. In the case of partial functions, totalization involves error values and exceptions. In the context of a coalgebraic approach to component semantics, this paper argues that the behavioural counterpart to such functional techniques should extend behaviour with try-again cycles preventing from component collapse, thus extending totalization or transposition from the algebraic to the coalgebraic context. We show that a refinement relationship holds between original and totalized components which is reasoned about in a coalgebraic approach to component refinement expressed in the pointfree binary relation calculus. As part of the pragmatic aims of this research, we also address the factorization of every such totalized coalgebra into two coalgebraic components-the original one and an added front-end-which cooperate in a client-server style.

2009

A Single Complete Relational Rule for Coalgebraic Refinement

Authors
Rodrigues, CJ; Oliveira, JN; Barbosa, LS;

Publication
Electronic Notes in Theoretical Computer Science

Abstract
A transition system can be presented either as a binary relation or as a coalgebra for the powerset functor, each representation being obtained from the other by transposition. More generally, a coalgebra for a functor F generalises transition systems in the sense that a shape for transitions is determined by F, typically encoding a signature of methods and observers. This paper explores such a duality to frame in purely relational terms coalgebraic refinement, showing that relational (data) refinement of transition relations, in its two variants, downward and upward (functional) simulations, is equivalent to coalgebraic refinement based on backward and forward morphisms, respectively. Going deeper, it is also shown that downward simulation provides a complete relational rule to prove coalgebraic refinement. With such a single rule the paper defines a pre-ordered calculus for refinement of coalgebras, with bisimilarity as the induced equivalence. The calculus is monotonic with respect to the main relational operators and arbitrary relator F, therefore providing a framework for structural reasoning about refinement.

2008

Calculating invariants as coreflexive bisimulations

Authors
Barbosa, LS; Oliveira, JN; Silva, A;

Publication
ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, PROCEEDINGS

Abstract
Invariants, bisimulations and assertions are the main ingredients of coalgebra theory applied to software systems. In this paper we reduce the first to a particular case of the second and show how both together pave the way to a theory of coalgebras which regards invariant predicates as types. An outcome of such a theory is a calculus of invariants' proof obligation discharge, a fragment of which is presented in the paper. The approach has two main ingredients: one is that of adopting relations as "first class citizens" in a pointfree reasoning style; the other lies on a synergy found between a relational construct, Reynolds' relation on functions involved in the abstraction theorem on parametric polymorphism and the coalgebraic account of bisimulations and invariants. This leads to an elegant proof of the equivalence between two different definitions of bisimulation found in coalgebra literature (due to B. Jacobs and Aczel & Mendler, respectively) and to their instantiation to the classical Park-Milner definition popular in process algebra.

  • 27
  • 31