OSI states

The OSI state dictionary is based on the OSI SMF 10164-2 standard defining the primary state of a telecom object as a combination of three states, as well as a number of secondary states. See The OSI state dictionary visuals for more information.
Using cascading style sheets, you can define specific selectors based on OSI primary and secondary states.

OSI primary states

The following selector matches all objects that have the OSI primary state Administrative=Locked defined.
object."ilog.tgo.model.IltObject"["objectState.OSI.State.Administrative"=Locked
] {
...
}
In CSS selectors, primary states are identified by the attribute name (" objectState ") and the primary state information (" OSI.State.Administrative ", " OSI.State.Operational ", or " OSI.State.Usage ").
You can also create selectors which are based on more than one state, as illustrated below:
object."ilog.tgo.model.IltObject"["objectState.OSI.State.Administrative"=Locked
]["objectState.OSI.State.Operational"=Enabled] {
...
}

OSI secondary states

You can create selectors based on secondary state information. Secondary states are identified by the attribute name (" objectState ") and the state information.
In the OSI state dictionary, secondary states are identified by the group to which they belong (for example, Procedural, Availability, Control, Standby and Repair) and by their name.
The following selectors match all objects that contain the state OSI.Procedural.Initializing or OSI.Availability.NotInstalled .
object."ilog.tgo.model.IltObject"["objectState.OSI.Procedural.Initializing"] {
...
}

object."ilog.tgo.model.IltObject"["objectState.OSI.Availability.NotInstalled"] 
{
...
}

How to change the object representation based on OSI states

The following CSS extract customizes the graphic representation of all telecom business objects according to the value of the OSI Administrative State. This example does not take into account the possible presence of alarms in the objects.
object."ilog.tgo.model.IltObject" {
  foreground: '';
}
object."ilog.tgo.model.IltObject"["objectState.OSI.State.Administrative"=Locked
] {  
  foreground: orange;
}
object."ilog.tgo.model.IltObject"["objectState.OSI.State.Administrative"=Unlock
ed] {
  foreground: green;
}
object."ilog.tgo.model.IltObject"["objectState.OSI.State.Administrative"=Shutti
ngDown] {
  foreground: red;
}
The following figure illustrates this configuration on network elements:
osiStyling.gif
OSI state styling example