archives

Formal methods for O/R mapping

Not sure whether this is OT for the new LtU, but in the past we used to discuss O/R mapping, and impedance mismatch (probably from a PLT perspective).

I am currently designing several tools that should work in an environment similar to Hibernate, and I stumbled upon utter lack of at least semi-formal model of what is going on. In half an hour I came up with a simple-minded model for both O and R sides, both using explicit state and mutable references, then considered to use Featherweight Java for O side, then decided it's too heavyweight.

I am sure people are working on things like that (defining formal models of both object and relational, um, models with mutable state and how they map to each other) - after all, it's the heart of almost any J2EE (and probably .NET) application, so the question is - does anybody have pointers to this reasearch?

Thanks.


To give you an idea what I am talking about - the object side of my model is:
  1. State as a finite map from References to Values
  2. Values as either Atoms or Records
  3. Records as finite maps from Names to References
  4. Atoms are Null, Integer, String; Names are Strings.
The relational side is more involved, but models state in a similar way. I am still pondering over mapping between them, and whether to bring type info into equation. At this stage I decided I could borrow some brain cycles.

An alternative question (or excuse :) ) - do you think that PLT community does not pay enough attention to mutable state? After all, it's a staple in most of the commercially used PLs.

American lecture tour gets real

During the week of Nov. 7-11 I will be visiting five American universities and giving talks about our approach to teaching programming (as embodied by CTM) and about our research on distributed programming. The tour schedule and talk abstracts are available here. I will be happy to meet with people during the tour.