An alarm is a fault or a problem that is triggered by one or more events.
A situation is used to represent a synthetic "master" alarm which is created by the correlation engine. A situation is the root of the alarm causality tree, whereby the situation is caused by one or more "child" alarms which may in turn be caused by other child alarms and so on. Situations should only be created if there are two or more alarms in the tree, otherwise there is a single alarm and there is no point in creating the situation.
An inventory object (IO) is some abstract element to which alarms are related. Alarms can be related to zero or one inventory object. Inventory objects have relations to other inventory objects.