RAILS Use Cases

The UML use case diagram shows the actors, subsystems and use cases involved in RAILS at a high level.

Human Actors

The following humans interact with RAILS and have the assigned responsibilities:

  • Dispatcher – The person responsible to develop an operating session plan in which rolling stock is assigned to consists and those consists are routed and scheduled.
  • Model Railroad Manager – The person responsible to establish and maintain: railroad network; rolling stock inventory; defining DCC parameters for appropriate rolling stock; industries and their cargo types; schedule rolling stock and railroad network components for maintenance; initial operating states for all turnouts, signals and DCC components.
  • Model Railroad Modeler – The person responsible to acquire, create, modify, and dispose of model railroad assets. This person is also responsible to operate the model railroad.
  • Session Supervisor – The person responsible to oversee all session operators to ensure the smooth execution of aspects of the operating session plan.
  • Session Operator – The person responsible to execute part or all of an operating session plan, outside of the rail yard.
  • Yard Master – The person responsible to execute part of an operating session plan, by assembling the consists inside the rail yard.

Note: All of the actors, except the Model Railroad Modeler, inherit from the Model Railroad Modeler as shown by the red lines.

Subsystems

The following subsystems interact with RAILS and have the assigned responsibilities:

  • DCC Subsystem – The subsystem responsible to transmit messages to rolling stock equipped with DCC receiver/controller, as commanded by RAILS and to warn RAILS of possible malfunctions.
  • Sensor Subsystem – The subsystem responsible to detect the presence of rolling stock in a railroad network block/segment and provide notification to.
    RAILS.
  • Signal Subsystem – The subsystem responsible to change the state of specified signals located on the rail network as commanded by RAILS.
  • Turnout Subsystem – The subsystem responsible to: indicate the state of turnouts on the rail network; change the state of turnouts as commanded by RAILS; and indicate operators action to change the state of turnouts.

Use Cases

The use cases are divided into two groups, one associated with the set up and configuration of the model railroad assets, shown in light blue and the other for the operation of the railroads that have assets, shown in mauve. The scope of each use case is defined below:

Configure Use Cases

  • Configure Layout – This use case is responsible to establish and maintain the railroad network database, allowing the manager to add, modify or delete railroad network components, and to initialize the Signal and Turnout Subsystems automatically at startup and as requested by the manager.
  • Configure Rolling Stock – This use case is responsible to establish and maintain the rolling stock database, allowing the manager to add, modify or delete rolling stock and inform the dispatcher of the rolling stock attributes.
  • Track Model Railroad Assets – This use case is responsible to establish and maintain the model railroad asset database, allowing the modeler to add, or modify assets and manage projects.
  • Configure Industries – This use case is responsible to establish and maintain the Industry database, allowing the manager to add, modify or delete industries, simulate production/consumption of goods as cargo, and inform the dispatcher of industry cargo requirements.
  • Configure Maintenance – This use case is responsible to establish and maintain the maintenance database, allowing the manager to schedule rolling stock or railroad network components maintenance, simulate component failures, and warn the dispatcher of needed maintenance.

Operate Use Cases

  • Initiate MR – This use case is responsible to start RAILS either a distributed environment or stand alone mode.
  • Develop Operating Session Plan – This use case is responsible to assist the dispatcher in developing an operating session plan.
  • Dispatch Trains Automatically – This use case is responsible to automatically execute the parts of an operating session plan selected by the operator for regular scheduled trains by commanding the Signal, Turnout and DCC subsystems.
  • Dispatch Trains Manually – This use case is responsible to assist the operator executing parts of an operating session plan by commanding the Signal, Turnout and DCC
  • Shutdown MR – This use case is responsible to gracefully end RAILS.