Derivations

Scope

Derivation rules are used to create symbolic representations using other symbolic representations. As such they do not reflect business objects or activities, only their representations, and can therefore be managed at will.

Divination rules make use of symbolic objects

Derivation mechanisms can be applied to any symbolic representation:

  • Derived attributes, whose values are computed using native values.
  • Derived connections, which are built as shortcuts of native ones.
  • Derived objects, which are views defined on native objects.
  • Derived activities, which analyze native representations.
  • Derived states, which reflect native states.
  • Derived events, aka cascade, which are instant replicas of actual ones.

Relevancy

Since their footprint is circumscribed to symbolic representations (i.e system objects), derivation rules have no direct impact on couplings between systems and contexts. As a consequence, their implementation can be singled out and dealt with independently of the architecture. That may be especially useful for business rules managed according business opportunities.

2 Responses to “Derivations”

  1. Ashley McNeile Says:

    It’s nice to see that you recognise “derived states” as well as (the usual) “derived attributes”. But how do you distinguish between an attribute and a state.

    For instance, suppose I define a boolean “married” that is calculated as follows: “If there exists a valid Marriage Contract naming x, and x is alive, and the partner of x named in the Marriage Contract is also alive, then x is married.”

    Is “married” a state or an attribute of x?

    • caminao Says:

      Derived attributes or states should never be directly associated to business objects or processes, only to their symbolic representation. In the Marriage exemple changes on actual civil status may be represented by (native) attributes or states depending on requirements. Then, derived attributes can be computed on native ones, and derived states on native ones. In other words derived states should never depend on domain events like change in contracts or person death. So “married” may be a derived attribute computed from Contracts and Persons; but it may also be a derived state shadowing the (native) state of Civil_Status.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

Join 305 other followers

%d bloggers like this: