Design Methods for Reactive Systems: Yourdon, Statemate, and the UML

An elevator controller must ensure that an elevator system collects and delivers passengers from floor to floor as requested. In this example, the controller must control two elevator cages that can move up and down in two shafts that cross 10 floors. There are floor buttons on the floors by which a passenger can summon an elevator to the floor. Floor buttons indicate the direction in which the passenger wants to travel. There are destination buttons in the elevator cages by which a passenger who is inside an elevator cage can request to be carried to a particular floor. Each floor has a direction indicator for each of the two shafts, which shows the direction of movement of the cage in that shaft. Each cage has a location indicator that tells a passenger at which floor the cage is now.
The specification has the following structure.
Desired functionality.
Mission statement
Function refinement tree
Service descriptions
Partial context diagram
Subject domain.
Dictionary
Entities
Assumed behavior
Desired behavior
Alternative requirements-level architectures.
Functional decomposition, Von Neumann style
Data flow diagram
Control process
Subject-oriented decomposition, object-oriented style
Architecture diagrams
Control processes
Static structure diagram fragments