Classes and uml design problem

The users will provide an input and output file from the command line. Write a program that reads
commands from the input file and prints output to the output file.
The input file contains the basic commands.
The command list;

start_engine;
stop_engine;
absorb_fuel ;
give_back_fuel ;

add_fuel_tank ;
list_fuel_tanks;
remove_fuel_tank <tank_id>;
connect_fuel_tank_to_engine <tank_id>;
disconnect_fuel_tank_from_engine <tank_id>;

open_valve <tank_id>;
close_valve <tank_id>;

break_fuel_tank <tank_id>;
repair_fuel_tank <tank_id>;

stop_simulation;

  • The program needs to run until it takes a “stop_simulation;” command.
  • There is only one engine. The engine’s attributes are;
    o fuel_per_second: double
    o status: boolean
  • The engine has its internal tank to store fuel.
  • There are several fuel tanks. Tank’s attributes are;
    o capacity: double
    o fuel_quantity: double
    o broken: boolean
  • The engine needs a minimum of one connected tank to start; otherwise, the engine can not start.
  • Each tank has a valve to connect the tanks and the engine.
    Task List;
  1. Draw a UML diagram about the system.
  2. Implement the class which will read the input file.
  3. Implement other classes. The classes need to include possible attributes and methods.