Meta-model Construct Extensions
Publication Date: 2012-Aug-23
The IP.com Prior Art Database
Disclosed is a method that can be applied to application models to isolate the complexities of supporting multiple development teams internally from the consumers of the application model. Meta-model extensions are introduced into the meta-model to allow model developers to define extensions that add to the semantics of previously defined model constructs without requiring changes to the original definitions, maximizing flexibility for the development teams. The application model and the extensions are processed to form the version of the application model that is used by the consumers.
Page 01 of 5
Meta-model Construct Extensions
Application models frequently contain constructs that serve multiple purposes. Common examples include an object container class (e.g., folder) in a repository: instances of the class organize child objects (e.g., children property), and support presentation capabilities (e.g., display icon property, description property). Furthermore, these constructs exist to provide functionality for a number of development teams.
Another common example arises when one considers vertical applications. The use of certain concepts (e.g., "Customer") may occur in multiple vertical applications (e.g., "Financial", "Shipping"). Sharing the definition of these concepts across vertical applications has value, particularly if clients own two or more of these vertical applications.
Commonly used modeling languages such as Unified Modeling Language (UML) provide a limited set of solutions to deal with these situations such as inheritance and composition. These solutions complicate the data models that must address these problems, both for the model authors and consumers. In addition, the resulting model exposes the internal concerns of the author's organization, rather than presenting a simplified façade for user consumption.
This document describes meta-model extensions that can be used to provide a simpler resulting data model while handling the challenges of supporting multiple development teams internally.
The technique can also be used to sandbox prototype model changes, work in progress, and experimental work without the necessity of disrupting other work streams or requiring the team doing the work to take a copy of the model. In addition, once the work is complete a minimal amount of work is required to "go to production" when compared to the work required to merge model definitions, etc.
Summary of Invention
In its simplest form, a data model can be thought of as a tree of objects (i.e., entities, attributes, etc.) and relationships between them. (Figure 1)
Figure 1: The objects and their containment structure
Page 02 of 5
The invention defines construct extensions that are used to add new model semantics to an existing model construct. The construct extensions are defined in one or more separate models that can be merged with the original model to produce a unified model for consumers without requiring the complexity of existing techniques.
This technique can also be used to maintain documentation (reference material as well as narrative, and release notes) for various audiences separately from the primary model constructs.
Figure 2: The original model and an extension that adds a new package C, a new entity N to Package A, and a new attribute F1 to entity F
Figure 3: Model seen by consumers using this technique
Page 03 of 5
This perspective could then be used to build web service Application Protocol Interface (API) logic, documentation, etc. without the necessity of exposing internal organizati...