The Next Big Thing
Posts about next generation technologies and their effect on business.

Interface Standards Enable Integration and Innovation

I recently worked on an initial proposal for an OMG (Object Management Group) Organization Structure Metamodel (OSM) specification.  I believe we arrived at a rather elegant solution, but we did not distinguish the interface from the implementation.  I understand this distinction, but sometimes it is not so obvious.

When our focus is on specification of middleware and services as for CORBA (Common Object Request Broker Architecture) and CORBA services such as the Event Service, the interfaces are specified with IDL (Interface Definition Language of CORBA), and the separation of interface from implementation is fairly obvious.

When we move into specification of models, the distinction is not so clear.  For modeling specifications, the specification defines modeling elements and their relationships-essentially the elements of a modeling language or a meta model.  For OMG modeling specifications, the metamodel is expressed as a MOF (Meta Object Facility) model, which is a subset of UML (Unified Modeling Language).   However, the metamodel is not intended to define how a modeling tool will implement the language, only the concepts and relationships that will be exchanged with another modeling tool so a user's model is portable.  The data format for exchange of MOF-based models is XMI (XML Metadata Interchange).  An implementation need not implement the metamodel, per se.  Compliance with the metamodel is defined as the ability to import and export XMI that is based on the metamodel.

A modeling specification may also define notation-the form of expression of the model for human users.  For example, BPMN 2.0 defines graphical notation as well as a metamodel for exchange of business process models.  The graphical notation is essentially a specification for the human interface.  Again, each BPMN modeling environment may implement the underlying software in various ways, but their implementation is compliant as long as they are compliant with the graphical notation and the metamodel XMI.

In our OSM initial submission, we were concerned that a user should have the ability to dynamically create and define new types of organizational elements.  At the same time, a typical implementation would be in Java or C#.  These languages are not defined to support applications where classes are dynamically defined and modified by a user. Consequently, we defined a modeling solution where "specification" objects describe organizational instance objects.  There is a static class for specifications and a static class for instances.  The specification instances can be defined and specialized to meet the particular requirements of an organization-essentially the modeling language is extensible.  This is a very flexible implementation, but does not define the language as a MOF metamodel for the OMG specification.

The solution for the OMG specification is to distinguish the interface from the implementation.   In the MOF metamodel, the specification objects are represented as MOF classes that define the instances of model elements.  The expression of the MOF classes and instances is only relevant at the time a model is exchanged using XMI, so internal to a modeling tool, the specifications may be Java objects, but when they are exported, they are expressed as classes.  The classes exchanged in the XMI represent the set of "specifications" defined in the modeling environment at the time of the exchange.

This distinction of interface from implementation is important for product innovation and differentiation.  An implementation may provide important, specialized capabilities, but these are not part of the static model that is exchanged with XMI.  Exchange of the static model enables users to move up to better tools, and enables tool vendors to improve their tools without becoming non-compliant with the standard.

This approach allows different implementers to take different approaches.  For example, if you were implementing in a language like Smalltalk, it would be relatively straightforward to implement an application that would dynamically create and modify classes.  Similarly, an existing organization management application might be adapted to export XMI that is compliant with the OSM specification for import into a more robust OSM-compliant modeling tool. Interface standards enable innovative solutions to compete as replacements for existing solutions, driving continued industry advances.

Follow Us
About the Author(s)
  • Steve Simske is an HP Fellow and Director in the Printing and Content Delivery Lab in Hewlett-Packard Labs, and is the Director and Chief Technologist for the HP Labs Security Printing and Imaging program.