Bali Alarm system to be migrated into Qi4j
------------------------------------------
Key: QI-342
URL: http://issues.ops4j.org/browse/QI-342
Project: Qi4j
Issue Type: New Feature
Reporter: Niclas Hedhman
Fix For: 1.4
Many, many years ago, I wrote an Alarm system which was used in a industrial
automation system known as Bali Control.
Alarms are small finite state machines with the FSM defined in a model separate
to the alarm itself, and can therefor be changed on the fly.
Alarms are 'triggered' which causes a state change and an event. The model
defines the triggers, transitions and events possible.
For instance, the simplest case are (model = 'simple');
On 'normal' state, the 'activate' trigger causes 'activated' state and an
'activation' event.
On 'activated' state, the 'deactivate' trigger causes 'normal' state and a
'deactivation' event.
For the model 'extended' the same sequence would become;
On 'normal' state, the 'activate' trigger causes 'activated' state and an
'activation' event.
On 'activated' state, the 'deactivate' trigger causes 'deactivated' state and
a 'deactivation' event.
On 'deactivated' state, the 'acknowledge' trigger causes 'normal' state and an
'acknowledgement' event.
On 'activated' state, the 'acknowledge' trigger causes 'acknowledged' state
and a 'acknowledgement' event.
On 'acknowledged' state, the 'deactivate' trigger causes 'normal' state and a
'deactivation' event.
On 'acknowledged' state, the 'activate' trigger causes no state change and no
event.
Such alarm system is extremely useful to track 'health' of systems, and there
is a well-defined model for how aggregation of alarms occur, so that operators
can be given simple overviews and get a good hold of the health of the system,
as well as drill-down to the actual issue.
With the event of JMX support in Qi4j, together with the application structure
in Qi4j, we can integrate the Alarm system extremely well with the application,
layer and module view of the system, and alarm states should be aggregated
accordingly. And 'acknowledge', 'block', 'unblock', 'enable', 'disable'
triggers should be exposed as a JMX operations.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.ops4j.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev