Patent ID: 8010512

Claim:
A system for a model-driven datastore, said system comprising: an object persistence model editor for developing specific object persistence models based on an object persistence metamodel, said object persistence model consists of an object model, object access patterns, user defined functions, and a collection of object definitions, said object definitions support basic type attributes and structure type attributes, said object access patterns define an access path that is used to retrieve object instances, said access path consists of a collection of path-steps, said path-steps comprise a self path-step, a parent path-step, and a children path-step, said user defined functions are declaratively defined, said user defined functions support group operators, a model transformer for generating executable code for supporting said object access patterns and said user defined functions; and an object store manager for executing generated code that allows applications to create, update, retrieve and persist objects, said object store manager comprises a cache manager and a persistent datastore, said cache manager comprises a synchronize manager, said synchronize manager manages a SQL statement queue, said SQL statement queue contains SQL statements used to synchronize object states in cache and data in said persistent datastore; wherein said object store manager further comprises an index manager and a user defined function manager, and said cache manager comprises a group access manager and an instance manager; wherein said index manager creates an index for objects in said cache based on said object access patterns and maintains said index for objects in said cache by executing said executable code generated by said model transformer.