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

Reply via email to