Modelling a discrete event-driven system

This page is published under the terms of the licence summarized in the footnote.

All free-to-read materials at http://avancier.website are paid for out of income from Avancier’s training courses and methods licences.

If you find them helpful, please spread the word and link to the site in whichever social media you use.

                                                                 

This is the first of three papers on discrete event-driven dynamics, continuous-variable dynamics, and how they are related.

Contents

Deterministic responses to discrete events. 1

Modelling a business as an event-driven system.. 2

Modelling a business as a continuously varying system.. 2

Conclusions and remarks. 3

 

Deterministic responses to discrete events

The term analogue is used to describe signals or data that vary continuously, as the hands on a clock face do.

The term digital used to describe signals that are chunked into discrete units, as you read from a clock that displays discrete numbers. 

It is now common practice to convert continuous analogue signals into discrete digital signals, and vice versa.

 

Wherever this paper says an actor or system is event-driven, it means the actor or system responds to discrete signals that represent discrete events.

A presumption in most system theory is that you can predict how an actor or system will respond to an event.

For more on this topic, read Determinism and hysteresis.

 

A discrete event dynamic system (DEDS) is a discrete-state, event-driven system (abbreviated hereafter to event-driven system).

It consists of discrete state spaces and event-driven state transition mechanisms.

State changes (aka state evolution) depend on the occurrence of discrete events over time.

 

Humans have found it very helpful to model the continuous processes of the real world in terms of discrete entities and events.

An event-driven system is a collection of discrete actors/components that respond to discrete events.

Here is an example from a computer game design, where the enemy is modelled as a state machine.

·         If the enemy is in their patrolling state, and catches sight of you, they’ll move into a shooting-in-your-direction state.

·         If the enemy is in their shooting-in-your-direction state, cannot see you, and 5 seconds elapse, they’ll return to their patrolling state.

 

Event-driven business systems are similarly orderly or deterministic.

Here is an example from a business system, in which the customer accounts and orders are modelled as state machines.

·         If the customer has not enough credit and orders an item, the system will move the customer account into a debt state.

·         If the customer is already in debt and orders another item, the system will place the order into a pending state and refer it for approval.

·         If the customer stays in a debt state for 9 months, the system will freeze the customer account and send a message to a debt collector.

 

Some view all human behaviour as deterministic.

Ross Ashby (in “Design for a Brain”) treated the brain as a deterministic machine.

Boulding wrote that humans act according to input messages and remembered mental images.

In other words, a person’s actions are deterministic, based on their current state and their memory of past events.

Whether humans and human activity systems are necessarily deterministic is discussed in other papers.

Modelling a business as an event-driven system

Earlier papers outlined how business systems evolved out of social systems.

In the operation of a business system, events trigger actors to play roles and perform behaviours.

Enterprise architecture is built on the premise that a business can be modelled in terms of actors and event-driven behaviours.

This premise is made explicit in the UML 2.1 standard

·          “all behavior in a modeled system is ultimately caused by actions executed by so-called “active objects

·         “behavioral semantics only deal with event-driven, or discrete, behaviors” 

 

Formalising a social system as a business system typically follows this sequence:

·         Define discrete events (including service requests) to be recognised and processed.

·         Define the necessary behaviours and group them into roles.

·         Hire, buy or build actors (active objects) and deploy them to act in the defined roles.

 

EA frameworks include viewpoints (data models, state charts, interaction diagrams) for modelling event-driven systems.

True, enterprise architects produce only sketchy models, but the roles and rules must be detailed before the systems can be implemented.

Modelling a business as a continuously varying system

While the event-driven behaviour of individual actors may be deterministic, the behaviour of a whole population of actors may appear not to be.

Multiple simultaneous actions and interactions between actors may lead to unpredictable outcomes.

Agent-based modeling or system dynamics might be used to model such a system.

 

The second paper discusses Forrester’s system dynamics models of continuously varying systems.

System dynamics is used to model analogue or continuously varying systems and unpredictably chaotic systems.

(Though when run to simulate reality, the model actually runs as a discrete time event-driven system.)

 

The third paper describes converting a model of event-driven dynamics to a model of continuous-variable dynamics.

But remember, enterprise architecture will always depend on the richer semantics of event-driven system models.

Conclusions and remarks

Enterprise architecture is built on the premise that a business can be modelled in terms of actors and event-driven behaviours.

There are several reasons why the behaviour of an actor or a system may be, or appear, unpredictable

 

·         Unpredictability from ignorance of rules or state

·         Unpredictability from using probabilities in rules

·         Unpredictability from using fuzzy logic

·         Unpredictability of external entities and events

·         Chaotic long-term outcomes

 

For an explanation of each point, read Unpredictability and Probability.

But still, the system may be modelled as a deterministic event-driven system.

 

 

Footnote: Creative Commons Attribution-No Derivative Works Licence 2.0     23/12/2015 19:31

Attribution: You may copy, distribute and display this copyrighted work only if you clearly credit “Avancier Limited: http://avancier.co.uk” before the start and include this footnote at the end.

No Derivative Works: You may copy, distribute, display only complete and verbatim copies of this page, not derivative works based upon it.

For more information about the licence, see http://creativecommons.org