The AgendaManager:
Class Hierarchy |

|
Synopsis: This page describes the Smalltalk class hierarchy of the AgendaManager.
Keywords: Smalltalk, class hierarchy, Agenda Management, AgendaManager, software architecture.
Last update: 26 Jun 97
Overview
Architecture Diagram
Class Hierarchy
Architecture Diagram

Class Hierarchy
All major AgendaManager classes are subclasses of the base class Model, which is a subclass of Object. Object class is the superclass of all Smalltalk objects and provide the basic functionality. Model class modifies the Object dependency mechanism making the notification of object changes to the object's dependent objects (objects which depend on its behavior) more efficient. The AgendaManager class hierarchy is described below.
Agent Abstract class that is the superclass of all Agents. Has a name and maintains a reference to its superordinate Agent (such as the AgendaManager instance).
- SystemAgent Acts as representative of a system model in the simulator. Monitors, maintains a history of, and predicts state and makes that in formation available to other Agents. Some subclasses can infer and declare goals, so it maintains a list of active GoalAgents.
- AircraftAgent Represents the aircraft. Monitors and predicts aircraft position, heading, track, altitude, airspeed , vertical speed, and flight path angle.
- SubsystemAgent Represents a subsystem. Monitors appropriate state variables. Recognizes subsystem abnormalities, infers goals to correct them, and instantiates GoalAgents for those goals.
- AdverseWeatherSystemAgent
Represents the aircraft's adverse weather system, which includes fuel heaters and airframe anti-ice components. Monitors temperature. Recognizes icing conditions.
- ElectricalSystemAgent
Represents the electrical system, including an AC and two DC systems. Monitors voltages and currents. Recognizes bus faults and other electrical system abnormalities. Has the following subclasses for those systems.
- ACElectricalSystemAgent
- DC270ElectricalSystemAgent
- DC28ElectricalSystemAgent
- FuelSystemAgent Represents the aircraft's fuel system, which includes two fuel tanks, pumps, and valves for delivering fuel to engines and crossfeeding fuel between the tanks when an imbalance occurs. Monitors fuel amounts, flow, and pressure. Recognizes fuel imbalance conditions, low fuel pressure, and potential fuel icing.
- HydraulicSystemAgent
Represents's the hydraulic system, which includes hydraulic lines and pumps. Monitors pressure and component condition. Recognizes low pressures and pump problems.
- PowerPlantSystemAgent
Represents one of two engines. Monitors engine speed and other state variables. Recognizes engine failures and engine fires.
- ActorAgent Represents an actor -- an entity (human or automation) capable of controlling the aircraft. Recognizes the actor's altitude, speed, heading, and waypoint goals and instantiates GoalAgents for them.
- FlightcrewAgent
Recognizes the human pilot's goals by means of the Verbex VAT31automatic speech recognition system. Has the capability to infer goals from control actions, but this feature was not used in the final implementation.
- FlightdeckAutomationAgent
Represents an automation device, such as the autoflight system or the Flight Management System. Currently only one subclass.
- AutoflightAgent
Represents the autoflight system directly and the Flight Management System (FMS) indirectly, through autoflight LNAV and VNAV modes. Recognizes the autoflight system's goals by monitoring its mode and target altitude, speed, heading, vertical speed, and flight path angle values. Recognizes FMS goals by monitoring current programmed flightpath (series of waypoint designators) and current fly-to waypoint designator.
- GoalAgent Represents an actor's goal. Maintains a dynamic name string (which can change with changing conditions). Checks for compatibility of its goal with goals of other GoalAgents. Recognizes when goal's conditions are satisfied. Instantiates a FunctionAgent to monitor status of function to achieve goal.
- AircraftGoalAgent
Abstract superclass of all aircraft-related GoalAgents. Maintains a reference to AircraftAgent for easy access.
- AviateGoalAgent
Abstract class of all GoalAgents for goal's to control aircraft's altitude, heading, speed, etc.
- AltitudeGoalAgent
Superclass of all GoalAgents for goals to control altitude. Remembers altitude at which the goal became active, target altitude, and acceptable positive and negative tolerances. Its subclasses exist to represent goals to attain and/or maintain altitude by several means.
- AttainThenMaintainAltitudeByVNAVGoalAgent
For altitude control by FMS.
- ChangeAltitudeByFPAGoalAgent
To change altitude at specified flight path angle.
- ChangeAltitudeByVSPDGoalAgent
To change altitude at specified vertical speed (feet/minute).
- MaintainAltitudeGoalAgent
To simply maintain current altitude.
- HeadingGoalAgent
Superclass of all GoalAgents for goals to control heading. Remembers target altitude, and acceptable left and right tolerances. Its subclasses exist to represent goals to attain and/or maintain heading by different means.
- MaintainHeadingGoalAgent
To maintain current heading.
- MaintainHeadingByLNAVGoalAgent
To attain and maintain a heading under FMS control.
- SpeedGoalAgent
Superclass of all GoalAgents for goals to control airspeed. Remembers target speed and acceptable positive and negative tolerances. Its subclasses exist to represent goals to attain and/or maintain speed by several means.
- AccelerateGoalAgent
To increase speed.
- DecelerateGoalAgent
To reduce speed.
- MaintainSpeedByPitchGoalAgent
To to attain then maintain speed by controlling aircraft pitch.
- MaintainSpeedByThrustGoalAgent
To attain then maintain speed by controlling engine thrust.
- MaintainSpeedByVNAVGoalAgent
To attain then maintain speed under FMS control.
- MaintainSpeedGoalAgent
To maintain current speed.
- NavigateGoalAgent
Abstract superclass of all GoalAgents for goals to perform navigation functions.
- WaypointGoalAgent
Abstract superclass of
- GoToWaypointGoalAgent
Represents a goal to fly to a named waypoint.
- ProgramFMSGoalAgent
Represents a goal to change the flightpath currently programmed in to the FMS.
- SubsystemGoalAgent
Abstract superclass of all GoalAgents representing goals to correct subsystem faults.
- AdverseWeatherSystemGoalAgent
For goals related to the adverse weather system.
- EngageEngineHeaterGoalAgent
To activate the heater to provide heat to engine fuel.
- ElectricalSystemGoalAgent
For goals related to the electrical system.
- ACElectricalSystemGoalAgent
To restore proper AC bus voltage.
- DC270ElectricalSystemGoalAgent
To restore proper 270 V DC bus voltage.
- DC28ElectricalSystemGoalAgent
To restore proper 28 V DC bus voltage.
- FuelSystemGoalAgent
For goals related to the fuel system.
- BalanceFuelGoalAgent
To correct an imbalance between the left and right fuel tanks.
- EngageFueltankHeaterGoalAgent
To provide heat to remove or prevent fuel icing.
- RestoreFuelPressureGoalAgent
To restore adequate fuel pressure to an engine.
- ShutDownFuelPumpGoalAgent
To take off-line a failed fuel pump.
- HydraulicSystemGoalAgent
For goals related to the hydraulic system.
- RestoreHYDSystemPressureGoalAgent
To restore adequate hydraulic system pressure.
- ShutDownHYDPumpGoalAgent
To shut down a failed hydraulic pump.
- PowerPlantSystemGoalAgent
For goals related to engine abnormalities.
- ExtinguishFireGoalAgent
To extinguish an engine fire.
- RestartEngineGoalAgent
To restart a failed engine.
- FunctionAgent Monitors SystemAgents to determine how well the function is being performed to achieve its goal. Assesses current function status to determine if the goal is satisfied and projects future status (using SystemAgent state prediction feature) to determine if the goal is likely to be satisfied. By default, merely checks to see if its GoalAgent is satisfied to assess current status. Generates a comment string to prpovide a brief explanation of its determinations.
- AircraftFunctionAgent
For functions related to controlling aircraft.
- AviateFunctionAgent
Determines if target value is acquired or if the current trajectory indicates that it will be in a reasonable time. Following subclasses are each general enough to handle more specific subgoals.
- AltitudeFunctionAgent
- MaintainAltitudeFunctionAgent
- HeadingFunctionAgent
- SpeedFunctionAgent
- MaintainSpeedFunctionAgent
- NavigateFunctionAgent For functions related to navigation.
- WaypointFunctionAgent
Provides major functionality for its single (to date) subclass. Determines if aircraft is headed towars waypoint.
- GoToWaypointFunctionAgent
- ProgramFMSFunctionAgent Determines if pilot has reprogrammed the FMS for the flightpath specified in his/her goal.
- SubsystemFunctionAgent
Represents function to correct a subsystem fault
- AdverseWeatherSystemFunctionAgent
For functions to correct adverse weather system problems.
- EngageEngineHeaterFunctionAgent
Recognizes whether or not pilot has engaged the engine heater.
- ElectricalSystemFunctionAgent
Recognizes if actions have been taken to restore bus power.
- FuelSystemFunctionAgent
For functions to correc fuel system problems.
- BalanceFuelFunctionAgent
Recognizes if fuel is being crossfed to the proper tank. Recognizes if pilot fails to secure crossfeeding after balance has been achieved.
- EngageFueltankHeaterFunctionAgent
Recognizes if pilot has turned on fuel tank heater.
- RestoreFuelPressureFunctionAgent
Recognizes if pilot has taken action to restore fuel pressure to an engine.
- HydraulicSystemFunctionAgent
Recognizes if pilot has taken action to correct a hydraulic system fault
- PowerPlantSystemFunctionAgent
Recognizes if pilot has taken action to restart an engine or extinguish an engine fire.
- AgendaManager The executive agent. Maintains Collections of System, Goal, and Function Agents. Introduces new GoalAgents to GoalAgent Collection and initiates process to determine goal compatibility. Removes GoalAgents and FunctionAgents whose goals are achieved or concelled.
- AgendaManagerInterface classes (subclasses of ApplicationModel) Several versions. Each provides a different way to display Agenda Management information to the pilot. A dependent of instances of GoalAgent, FunctionAgent, and AgendaManager so that when changes occur in those objects, those changes are reflected on display.