Draw on the right, write (Umple) model code on the left. Analyse models and generate code. This tool stores your data in cookies and on a server. I understand. Click to learn about privacy. Download Donate For help: User manual Ask questions Report issue
// UML state diagram representing an airport runway, written in Umple class Runway { Boolean noPlaneOnRunway = false; Boolean inspectionSuccess = false; runwayStateMachine { Open { alarm -> Emergency; Free { entry / {turnOnGreenLight();} exit / {turnOffGreenLight();} planeLanding -> Occupied; planeTakingOff -> Occupied; repair -> Restoration; } Occupied { planeTakesOff -> Free; landingComplete -> Free; } } Closed { entry / {closeRunway();} Emergency { emergencyOver -> ReadyToOpen; } ReadyToOpen { open [noPlaneOnRunway] -> Open; } Restoration { Restoration_1 { Repair { repairCompleted -> InspectRepairs; } InspectRepairs { check [inspectionSuccess] -> ReadyToOpen; check [!inspectionSuccess] -> Repair; } } || Restoration_2 { // Do other maintenhance while repair is going on Maintenance { do { performMaintenanceWork();} } } } } } void closeRunway() {} void turnOffGreenLight() {} void turnOnGreenLight() {} void performMaintenanceWork() {} }