Showing posts with label metamodel. Show all posts
Showing posts with label metamodel. Show all posts

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: