Abstract Behaviors

An abstract behavior delivers a narrow slice of functionality, it is associated with a design pattern that implements this functionality, and can be combined with other compatible such patterns to deliver more complex behavior. As a typical example, one can add "time versioning" and "hierarchical" behaviors to a dimension to derive a versioned hierarchical dimension. The design pattern of each of these behaviors not only defines the structural extensions required, but also maintenance functionality, the appropriate hooks to properly associate them with base and aggregate facts, as well as appropriate extensions to access view definitions and other mechanisms. For every such behavior there is one or more corresponding design patterns, i.e. implementations, each of which exhibits some or all of the following aspects:

  • Structural

    Base Facts

    Aggregates

    Dimensions

    Reference Information

  • Data Provisioning/ETL
  • Access
  • Operational
  • Interaction
  • Semantic and Operational Metadata
  • Platform

Here are some abstract behaviors addressed in VDM:

VDM Access: