[Updated with more names]
Although CDIF hasn’t been any more for over 10 years, it’s amazing how many people I still keep meeting that say they had been involved at some time, and that they have nothing but the highest respect for the work that was done there. I’m in that camp, and InfoGrid would not be if it hadn’t been for what I learned in CDIF.
CDIF was started to move information from one CASE tool to another. To accomplish this, the CDIF architects designed a very elegant architecture:
- A language to express a conceptual information model. CDIF called this the MetaMetaModel.
- An extensible list of conceptual information models. CDIF called those SubjectAreas.
- Data instances that are instantiated according to the conceptual information model. CDIF called those Models of various kinds, given CDIF’s purpose.
- A transfer format that could carry any data instances of any model that could be defined within the CDIF architecture.
The beauty of this architecture is the separation of concerns: the transfer format, for example, would transfer whatever information correctly, even if the schema for the information had not even been defined at the time the transfer syntax was frozen.
The InfoGrid architecture is very similar:
- In InfoGrid, the language to express a conceptual information model is defined by the types in package
org.infogrid.model.primitives, i.e. the types that can be held in a ModelBase. There is also an XML format.
- InfoGrid calls the information models SubjectAreas as well. For example, here is the default InfoGrid Tagging Model.
- Instances in InfoGrid are called MeshObjects and Relationships.
- InfoGrid uses several technologies for instance transfer, including object serialization for persistance purposes, InfoGrid extensions to RSS and Atom, and the XPRISO protocol to keep distributed, replicated instances in sync with each other.
Naturally, given the many years that have passed, InfoGrid goes beyond CDIF in many ways, including:
- A richer conceptual modeling language.
- More flexible uses of conceptual models, e.g. multiple types per instance, dynamic blessing and unblessing.
- Explicit roles and more precise relationship subtyping.
- Sophisticated APIs for real-time instance manipulation and event generation and reception.
[To be clear, this is just the part of InfoGrid inspired by CDIF. InfoGrid is a software platform, not just a way to move data around. It goes far beyond with REST-ful user interfaces, automatic persistence to a variety of different data store technologies, bidirectional synchronization, in real time, of instances held in different places, via the XPRISO protocol, and real-time information integration via the Probe Framework.]
This is as good a time as any to say thanks to the CDIF folks. CDIF was easily the place where I learned more about information technology in the shortest amount of time, ever. Probably because so many companies sent their chief architects to meetings. For some time I even had the fortune to serve as CDIF’s Technical Vice Chair.
So, thanks, to:
- Adrian Blakey (Sybase)
- Bob Lechner (Univ. Massachusetts, Lowell)
- Bob Matthews (IBM)
- Chuck Foley (Intersolv)
- Chuck ‘CQ’ Rehberg (DEC)
- David Swift (Cadre)
- Hugh Davis (ICL)
- Jacob Okyne (Lucas)
- Kelsey Bruso (Unisys)
- M’hamed Bouziane (DEC)
- Mike Imber (LBMS)
- Mary Lomas (Oracle)
- Paolo Puncello (FINSIEL)
- Pete Rivett (Virtual Software Factory)
- Rob Hill (Deft/Sybase)
- Woody Pidcock (Boeing)
- Shaike Artsy (Transtar)
- Tammy Kirkendall (NIST)
- and many others…
For what it’s worth, InfoGrid would not have been conceived without you.