×

Methods and apparatus for creating middleware independent software

  • US 7,546,309 B1
  • Filed: 03/31/2005
  • Issued: 06/09/2009
  • Est. Priority Date: 03/31/2005
  • Status: Active Grant
First Claim
Patent Images

1. A method of abstracting an object model, the method comprising:

  • receiving an object model specification defining application semantics for an application to access, via invocations, objects identified in the object model specification;

    applying a categorical-based generator that applies at least one morphism to the object model specification, application of the categorical-based generator generating;

    i) an abstraction interface object model, the abstraction interface object model preserving application semantics defined within the object model specification and being independent of a middleware object access mechanism used to access data within objects corresponding to the object model specification; and

    ii) an implementation of the abstraction interface object model for a particular middleware object access mechanism used to access data within objects corresponding to the object model specification;

    wherein object model specification is defined in an interface description language (IDL) that includes a plurality of IDL types; and

    wherein applying a categorical-based generator that applies at least one morphism to the object model specification comprises;

    visiting each IDL type defined in the IDL once;

    for each IDL type visited applying the at least one morphism to map the IDL type one-to-one and onto into application types by defining at least one corresponding morphism for that type within the abstraction interface object model, the corresponding morphism preserving inheritance among application interfaces defined in the abstraction interface object model and preserving all relationships among the application interfaces; and

    for each type in the object model specification, defining two morphisms, h( ) and hh( ), with common implementations, but each having different return types, the return type of morphism hh( ) being a categorical return type corresponding to a middleware-specific type, the return type of the morphism h( ) anonymizing the middleware-specific type into a language type generic to the application.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×