Data models can be implemented using numerous data representation and storage formats, including arrays, linked lists, stacks, and graphs (e.g hierarchical trees). The hierarchical tree is very efficient in representing repetitive and hierarchical data and is typically associated with routing or switching platform configurations. Therefore it is the most common data model format used for networking platforms.

Model Driven Programming

Information Store Model - Hierarchical Tree of Objects

Tree-based data models are characterized by nodes that can have parents, children, or both. The root of the tree has child nodes but no parent. Leafs have parents but no children, and nodes have both; as illustrated above. In many data model implementations there are potentially one or more trees, each containing information about some major group or important division of information pertaining to a modeled object.

Data models enable data to be easily structured, grouped, and replicated to represent information related to network devices, features, and solutions. The example below represents a data model of network interfaces, where there is:

  • a root node described by the category "interfaces"
  • child-nodes for various interface types and discrete interfaces
  • leafs containing information that pertains to specific object instances (interfaces), including configuration and operational state

Inheritance Relationship between Parent-Child Objects in Object Store

Inheritance Relationship between Parent-Child Objects in Object Store

Data models can be used to enforce data consistency and validity. Rules govern data model structures, including the manner in which information can be inserted, modified, accessed, or deleted, and who is able to manipulate the data model. These rules ensure that data is maintained in a known, valid state.

Since data models represent the complete state of the network platform at any point in time, it is possible to implement and utilize recovery features such as backups and snapshots, allowing configuration changes to be validated and rolled-back if necessary.

Data models are extensible; they can grow and adapt to accommodate additions or changes to features and elements, provided any rules governing the structure of the data model are observed.

Data models are flexible; once a model structure is chosen, it can be used to encode more than one model simultaneously to meet the needs of multiple administrative audiences.