I am an alum of the DB Systems Lab,  Computer Science Dept., University of Massachusetts.
News: I joined the faculty of the Dept. of Computer Science at the University of New Mexico.
Cris Pedregal Martin
cris · at · acm · org

CV (PDF) - résumé - papers
contact info (why?
PGP public key
UMass logo 

Understanding recovery in databases and beyond

My doctoral work (with Prof. Krithi Ramamritham) attempts to improve the conceptual tools to specify and reason about recovery, an essential but somewhat neglected component of transactional systems. The underlying thesis is that, in spite of superficial differences, a broad range of systems and application domains share similar recovery needs that are met by combining a small set of essential ingredients. My work characterizes those ingredients and uses them to expose the essential and incidental similarities and differences in recovery support across domains (e.g., databases, mobile systems, e-commerce). A good description of the broader context and our approach is the current report to NSF, which funded our work with grant IRI-9619588; the following focuses on my contributions. See also my publications and technical reports.

Concurrency control and recovery are essential components of systems that support transactional semantics. Traditionally a domain of database transaction management systems, nowadays many application areas (databases, workflows, e-commerce, mobile computing) require support for correct and efficient recovery from failures even in the presence of complex concurrent computation necessary for high availability. As new applications become critical to organizations, individuals, and the economy at large, they require the reliability and availability that transactional systems offer, expanding the domain of application for recovery. This adds electrcnic commerce, workflows, mobile databases, etc., to classical examples like airline reservation systems to the list of applications that need recovery to be viable. This is why recovery remains an important area both for researchers and practitioners.

While substantial research efforts into concurrency control have yielded a rich body of theory and practice, the more limited study of recovery has yielded mostly implementation-specific knowledge. There exist both high-level descriptions of recovery requirements (such as Failure Atomicity), and an important body of (low-level) knowledge on how to implement recovery; however, a unified model of recovery that explains and connects both levels is lacking. Thus explaining and specifying the properties of recovery and its interactions with other system components must be done in terms of specific implementations, at a low algorithmic and architectural level. Besides making design and implementation costly, this situation hampers the design of recovery in the context of novel applications, whose semantics and implementation tradeoffs differ from those of traditional transaction models. I believe that there is a need for a deeper understanding of the essentials, to better enable specifying and reasoning about recovery; my work is an attempt to address these issues. For more on this, see my papers page.

Previous work

I have a longstanding interest in the role abstraction plays in Computer Science. Our initial research on recovery arose out of the problems encountered when studying linguistic support for specifying and implementing extended transaction models for databases. This involves concurrency control, recovery, and programming languages, and, more broadly, the tension between abstraction and implementation. Recovery stood out as an essential part that was still not well-understood.

At Xerox PARC I participated in the design of a system for indexing and manipulating multimedia streams. I helped design a rich but simple multimedia model to support collaboration among intellectual workers. At the Distributed Object Computing Group (GTE Labs, now Verizon Labs) I investigated how to define and implement extended transactions on distributed object systems. Here at UMass I worked on implementing a real-time programming language based on a concurrent language. I investigated the problems of integrating concurrency in object-oriented programming languages for my graduation thesis (PDF, PS) at Eslai (Argentina).



  • my photographs (why?):
    mixed and by place
  • my visit to Bombay
  • all about photography,
    many pictures: Photo.net
  • Texts & Ideas

  • the iPic ... a wee tee cee pee
    stack and webserver.
  • W. Pratt and O. Shivers
    on grad school, the thesis
  • eclectic favorites 
  • some of my writing, coffee
    messages, on Internet myths
  • Life in the Valley

  • the inevitable local weather
  • Valley's Advocate's listings
  • Five Colleges and UMass events
  • Virtual Valley's web guide 
  • some of my own advice

    Always under Construction, like Thekla (click)   Cris, 2002.01.30