SimpleAttribute TriState { name = "TriState" } SimpleAttribute String { name = "String" } SimpleAttribute Boolean { name = "Boolean" } Class State { name = "State" name : String isInitial : Boolean } Class ErrorState : State { name = "ErrorState" } Class NormalState : State { name = "NormalState" } Association Transition (State, State) { name = "Transition" objPresent : TriState } Association OnUp : Transition (State, State) { name = "OnUp" } Association OnDown : Transition (State, State) { name = "OnDown" } Association OnNeutral : Transition (State, State) { name = "OnNeutral" }