Real-Time Java AOCS Framework v1.0 API Specification

Package RtjAocsFramework.AocsEvent

This package defines the event classes for the AOCS Framework.

See:
          Description

Interface Summary
ChangeListener Interface characterizing listeners to change events.
ConfigurationListener Interface characterizing listeners to configuration events.
FailureListener Interface characterizing listeners to failure events.
ManoeuvreListener Interface characterizing listeners to manoeuvre events.
ModeListener Interface characterizing listeners to mode events.
ReconfigurationListener Interface characterizing listeners to reconfiguration events.
RecoveryListener Interface characterizing listeners to recovery events.
SystemListener Interface characterizing listeners to system events.
TelecommandListener Interface characterizing listeners to telecommand events.
 

Class Summary
AocsEvent Base class from which all AOCS event classes are derived.
ChangeEvent This class encapsulates a change event.
ChangeEventRepository Event repository for change events.
ConfigurationEvent Encapsulation of a configuration event.
ConfigurationEventRepository Event repository for configuration events.
EventRepository Base class from which event repository classes are derived.
EventTypeId Defines the event type identifiers for the framework events.
FailureEvent This class encapsulates a failure event.
FailureEventRepository Event repository for failure events.
ManoeuvreEvent This class encapsulates a manoeuvre event.
ManoeuvreEventRepository Event repository manoeuvre events.
ModeEvent This class encapsulates a mode event.
ModeEventRepository Event repository mode events.
ReconfigurationEvent This class encapsulates a reconfiguration event.
ReconfigurationEventRepository Event repository for reconfiguration events.
RecoveryEvent This class encapsulates a recovery event.
RecoveryEventRepository Event repository for recovery events.
SystemEvent Encapsulation of a system event.
SystemEventRepository Event repository for system events.
TelecommandEvent This class encapsulates a telecommand event.
TelecommandEventRepository Event repository for Telecommand events.
TestCaseAocsEvent_1 Test case for AocsEvent Class: check event initialization.
TestCaseAocsEvent_2 Test case for AocsEvent Class: check repository size setting.
TestCaseAocsEvent_3 Test case for AocsEvent Class: check event recording service.
TestCaseAocsEvent_4 Test case for AocsEvent Class: check iterator services.
TestCaseAocsEvent_5 Test case for AocsEvent Class: verify consistency checking service.
 

Package RtjAocsFramework.AocsEvent Description

This package defines the event classes for the AOCS Framework. The Framework recognizes several types of events which are all derived from the AocsEvent class. This class is itself derived from the EventObject class. Each category of events has its own dedicated event class. The framework predefines several types of event classes. Others may be defined by specific applications. The framework event model complies with the JavaBeans event model. There are however some differences in the way the events are used due to the fact the framework does not allow dynamic creation of objects during normal operation.

 
Consider for instance the case of an event source that needs to fire an event of type
EventType to its event listeners. The source component maintains a statically defined instance of EventType. Just before firing the event, rather than creating a new event representing the event to be fired (as is the case in ordinary JavaBeans applications), the source components loads the statically defined event with the parameters defining the event to be fired and passes this event to the fireEvent method. The event listeners will then copy the parameters of the fired event into some internal storage and will then release the fired event. In this way, the source component can use the same EventType instance for all event firings without needing to create new instances dynamically.

 
As a consequence of the above, the parameters of the framework events must be settable. This is why the source field in
EventObject is not used and is assigned to a dummy instance of Object at event creation.

 
Event handling is described in the Intercomponent Communication Framelet document but note that this document was originally written for the C++ version of the framework and hence it is not applicable in its entirety.


Real-Time Java AOCS Framework v1.0 API Specification

Real-Time Java AOCS Framework project home page

Automatic Control Laboratory, ETH Zuerich
Physikstrasse 3
CH-8092 Zuerich, Switzerland