Tuesday, January 20, 2009

What is a Model?

An information model is an abstraction of reality with a particular scope and focus.

In this blog, I will create an information model to talk about information modeling with the following scope and focus:
  • Scope: Three different levels of abstraction:
    • Metamodel: A pre-defined set of graphical notations and rules of composition for representing models, referred to as a "Construct" in my first model (M1) shown below.
    • Model: An explicit representation of information with a shared focus using the pre-defined graphical notations and rules of composition.
    • Model Instance: Items of interest for which information is being modeled, referred to as a "Object" in M1 below.
  • Focus: Basic semantic constructs in information models, e.g.:
    • Entity: A type of information, represented as a rectangle with the name of the Entity as text within the rectangle
    • Relationship: An association that may exist between instances of Entities, represented as an arrow, with the description text of the relationship read from the source Entity (at the arrow tail) to the destination Entity (at the arrow head).
    • Subtype Partition: A partitioning of an Entity into subtypes, represented as a hierarchical upside-down tree structure, where each partition has its own name and is represented by a separate rectangle, with the constraint that every instance of the child entity (Subtype) is also an instance of the parent entity (Supertype).
Figure 1a represents my first model for information models. 


Figure 1a Model One (M1) for Information Models

Here are some basic Model Constructs:
The subtype partition construct can be used to explicitly identify these constructs in the updated model shown in Figure 1b:

Figure 1b Model Two (M2) with Construct having a subtype partition

Note that M2 has a Scope and Focus that is self referencing. It is a model of its constructs (i.e., it is its own metamodel).  The objects in this model provide the scope for models that can be represented by this model.

M2 has six entities:
  • Construct
  • Model
  • Object
  • Entity
  • Relationship
  • Subtype Partition
M2 has six relationships:
  • Provides Focus For
  • Provides Scope For
  • Has Source
  • Has Destination
  • Has Whole
  • Has Part
M2 has one subtype partitioning:
  • Construct = Entity + Relationship + Subtype Partition
When M2 is viewed as the model of its metamodel, the three lists above become instances of the “Entity” entity, the “Relationship” entity, and the “Subtype Partition” entity respectively. These are all instances of the “Construct” entity. These objects provide the focus for the M2 model.

M2 is only one of many possible instances of the Model entity in the M2 model. However, all instances of the Model entity in M2 share the same focus (i.e., share the same constructs used in constructing M2).

The scope (instances of the “Object” entity in M2) is open-ended.  M2 can be used to model information for any collection of objects of interest.

No comments:

Post a Comment