Object and Class Specification

Class: Floor Arrival Panel

1.0 Precise and Concise Description

  1. Conceptually, a floor arrival panel is a panel containing a number of lamps (typically one lamp for each destination (floor)). The floor arrival panel also contains some computer processing capability. This computer processing capability allows the floor arrival panel to turn a particular lamp on, based on a request, and to automatically ensure that all other lamps are off.

  2. At any one time, only one lamp in the floor arrival panel may be lit (i.e., on). A given lamp in the floor arrival panel becomes lit (i.e., is turned on) based on an invocation of the Turn_On_Lamp operation. Once a lamp becomes lit, it stays lit until the floor arrival panel receives a request to turn another lamp on. Once a particular lamp is lit, any additional requests for the lamp to be lit are ignored. No facility is provided to determine the state of individual lamps contained in the floor arrival panel.

  3. Obviously, any request to turn a given lamp on must contain some way of uniquely identifying the specific lamp. If the lamp identified in the request is not contained in the floor arrival panel, the exception Lamp_Not_Found will be raised.

  4. The suffered operation for the floor arrival panel is "Turn_On_Lamp" (for a given destination).

  5. Users of the Floor_Arrival_Panel class must also supply:

  6. The state for a floor arrival panel may be defined as which particular lamp is on.

  7. The exception Lamp_Not_Found is associated with a floor arrival panel.

2.0 Graphical Representations

2.1 Static Representations

2.1.1 Semantic Networks

2.1.2 Notes On the Semantic Networks

  1. From the outside view, there is no discernible structure or attributes for a floor arrival panel.

  2. Though it seems obvious that the floor arrival panel deals with lamps, these objects can neither be detected or affected directly from the "outside". It is for that reason that these objects do not appear on the semantic net.

2.2 Dynamic Representations

2.2.1 State Transition Diagrams

2.2.1.1 State Transition Diagrams for Non-Spontaneous State Changes

2.2.1.1.1 Notes on State Transition Diagrams for Non-Spontaneous State Changes

  1. The states shown in the diagram cannot be interrogated. Specifically, there are no operations provided that will allow a client of the abstraction to determine if a particular floor arrival panel lamp is on or off.

  2. A client may not interact directly with a specific floor arrival panel lamp. Clients deliver a request to turn a particular floor arrival panel lamp on or off via the Turn_On_Lamp operation. It is the computer circuitry in the floor arrival panel which will actually turn a lamp on or off, or leave a lamp in its particular state.

  3. Since a given lamp will only be turned on or off based on a specific request, a floor arrival panel with any given lamp lit, and all others not lit, represents a persistent state.

  4. Assign: This constructor operation copies the state of one floor arrival panel object to another instance of the same class. Since the Assign operation produces an exact copy of an existing floor arrival panel, the resulting copy may be in any one of the states shown in the STD. The Petri Net Graph representation of the Assign operation is:

3.0 Operations

3.1 Required Operations

  1. There are no required operations for this class.

3.2 Suffered Operations

Operation Method
Turn_On_Lamp Turns on the lamp corresponding to the given destination. If the lamp is already on, then there is no effect. This operation also turns off any other lamp which may be lit.
Assign The state of one instance of this class to another instance of the same class.

4.0 State Information

  1. The state for a floor arrival panel may be defined as which a single lamp (indicating a particular destination (floor)) is on, i.e., all other lamps must, by definition, be off. (Obviously, you cannot be at two different destinations simultaneously.) Note that there is no way for the client of the floor arrival panel to interrogate this state.

5.0 Constants and Exceptions

5.1 Constants

  1. This class will not provide any constants.

5.2 Exceptions

  1. The exception Lamp_Not_Found will be raised if there is a request to turn a specific lamp on, and there is no lamp in the panel which corresponds to the specific lamp referred to in the request.

[TOA Home Page] [HTML
Documents] [Contact TOA]