I was born in Luanda, Angola. When I was 8 in 1975, just before the independence of Angola (until then it was a Portuguese colony), I came to Portugal. I did almost all my studies in Porto where I live. I have graduated in Electrotechnic and Computers Engineering, by the University of Porto in 1991. I then came to the University of Minho, in Braga to take the MSc. course in Computer Science. My thesis was about the relationship between subclassing and subtyping in object-oriented languages and was concluded in 1994. I joined the Distributed Systems Group of the University of Minho, led by Francisco Moura, in 1992 as a teaching assistant.
In 1995 I started my PhD. work at the École Polytechnique Fédérale de Lausanne under the supervision of André Schiper and Rachid Guerraoui. I received my PhD. degree in 2000. In this work I studied the distributed consensus problem in an environment where participants could fail by crashing and then recover. The thesis presented two major contributions: the definition of Stubborn communication channels which seem to be a pretty useful abstraction to implement fault tolerant algorithms and are incredibly simple, almost trivial, to implement in practice, and a new class of failure detectors with a corresponding algorithm to solve consensus. This keeps being a line of research we are pursuing with emphasis on scalable and adaptive algorithms for large scale environments.
I am currently associate professor. I've been the director of the Computer Science and Technology Center of University of Minho from 2005 to 2010.
My research interests are in dependable distributed systems, in particular with application to distributed database systems and large scale systems. My recent work has been focused on distributed fault-tolerant agreement protocols, data replication and more recently on large scale distributed object storages. I have published regularly in conferences such as IEEE Dependable Systems and Networks (DSN) and IEEE Symposium on Reliable Distributed Systems (SRDS), as well as in the IEEE Transactions on Computers. I have served in the Program Committee for conferences and workshops such as SAC, EDCC, ICDCS, DOA, DAIS, DILSOS, ARES. I was PC co-chair of DAIS 2009 and SRDS 2010. I am a member of the ACM and IEEE.
At Universidade do Minho I teach Distributed Systems in undergraduate, master and doctoral courses.