A system and method directed to capturing the structure of data models
using entity patterns is provided wherein an entity pattern is an
abstraction, for example in the MICROSOFT BUSINESS FRAMEWORK.RTM.(MBF),
that surfaces in the model editor of the framework at the root level and
consists of one or more entity roles that together define a structural
pattern of a model. The entity pattern may be considered as an
uber-model, or a model template for a model. Prescriptive rules are added
to the design of entities, required properties and relations to other
entities (entity roles). Applications of the entity patterns are
validated at design time. The runtime framework supports any applied
pattern and invokes the pattern specific code. It is a general advantage
that the runtime operation is model driven and interprets the model data
at runtime. The application and usage of a pattern is part of the model
of the application/software program.