Monday, March 06, 2017

From RaaS to Building Object Libraries

I've reminisced about MOF past and present, and helping build a meta-model and repository for service descriptions with Smart Services CRC at QUT (here's an initial paper that led to the USDL book work). But sadly SAP Research failed to get critical mass around the USDL service description language at W3C, so I started looking for other applications for RaaS.

We did an interesting experiment with a wrapper around LDAP for AARNet to unify their university stakeholders' academic contacts, using my concept of "live model pointers" (LMP) (here's a workshop paper from ASWEC). An LMP is a variation on a saved query, embedded in an EMF object, which fetches data from other information sources at the time an EMF object or attribute is accessed. (Here's an old diagram - the LMP seems to be pointing in the wrong direction - but I think I was using block arrows to indicate data flow, rather than logical "pointer" direction.)

We used the NYU LDAP server for prototyping, which is open to the public, but in the information security environment of the day, there was not a single Australian university on the AARNet network among the 6 or 8 that we contacted who would make their LDAP ports open to public query. So we were left with screen scraping HTML web pages of different formats that each university uses to publish their contacts. Screen scraping was not really viable, and there was no critical mass of interest in creating an AARNet-wide academic directory, so this idea was abandoned.

At the same time I was collaborating with Professor Robin Drogemuller's team at QUT on models for the construction industry. Robin wanted to get away from the expensive and proprietary IFC repositories that only provided C++ SDKs. My old DSTC colleague Jim Steel was doing some cool work with higher-order transformations (HOT, in the academic literature ;-) to get the excellent specification for buildingSmart's IFC, in the equally excellent, but hardly supported STEP-EXPRESS language, available as an EMF meta-model.  I got in on the tail end and helped get a paper written on the approach of using an EMF model of the EXPRESS language which could then read in the IFC specification in as EMF model instance. By "promoting" the IFC instance to a meta-model & combining it with an IFC file reading resource implementation, we suddenly had an EMF IFC Model & importer (and an approach to translate any EXPRESS spec into an EMF metamodel). Add on RaaS, and you have repository and "workbench".

I also started working on a metamodel for GDL (the ArchiCAD textual language for geometry definition) so that we could do a trial model transformation in Eclipse from IFC to GDL as a proof of concept to get buy-in from QLD government's Project Services agency, who had 20+ years of BIM experience, but were limited by what vendors were offering for integration of models.

My contract at QUT was reaching its end, and so I got together with Robin to organise a 3 way-funded project with QLD Govt, Smart Services and SBE NRC all contributing to fund Robin's vision for a building object (product) library... which was to be built on RaaS, and use model transformations to round-trip the CAD default windows, doors, beams and other products from the CAD tool to the Library, and replace them back in the CAD design with real product geometry and properties. The vision was to make this available as a not-for-profit service to the Australian construction industry.