warning: mysql_query() [function.mysql-query]: Unable to save result set in /home/ltu/www/includes/database.mysql.inc on line 49.
Formal methods for O/R mapping | Lambda the Ultimate

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.