Design Decision 6: Rationale/Impact
DoorStatus is an Oven object data member.
Each Oven must maintain its own Door state because the OC controls more than one Oven. [Ref: S& M:OLC Fig. 3.2.2]
The Oven Controller must check an Oven Door’s current state because ‘DoorIsClosed’ is a ‘guard condition’ for turning on the power after a PushButton event.
An alternative is for each Oven to contain a Door (DR) Active Instance, which responds to external Open and Close events from OP and relays these events to the OC.
This alternative was rejected because it requires another State Model. It is more appropriate when a separate OC is integrated with each OV.