graph TD
Description["AN AUTONOMOUS ROBOT IS TASKED WITH PERFORMING REGULAR INSPECTIONS OF A NUCLEAR ROOM, WITH THE PRIMARY OBJECTIVE BEING THE CAPTURE OF HIGH-QUALITY IMAGES OF FIVE SPECIFIC LOCATIONS FOR SUBSEQUENT ANALYSIS AND ASSESSMENT. "];
H1(("H1 Collisions with physical obstacles
damaging the robot, equipment, and
dispersing radioactive material."));
SF1{"SF1 PREVENT COLLISION."};
R1("R1 The robot shall avoid
physical obstacles.");
R1.1("R1.1 The robot shall maintain
a safe distance from obstacles.");
R1.1.1("R1.1.1 The robot shall have an
emergency stop mechanism that
activates when an obstacle is
detected within a critical range
of distance.");
R1.1.2("R1.1.2 The robot shall return
to the initial position when an
obstacle is detected within a
defined range of distance.");
R1.2("R1.2 Initial robot position
shall be obstacle-free.");
R1.3("R1.3 Current robot position
shall be accurate.");
R1.4("R1.4 The vision subsystem shall confirm
that the robot's initial recognised
position matches the predefined
starting position.");
R1.5("R1.5 The vision subsystem shall report
that the current position is not a
position with an obstacle.");
R1.6("R1.6 The path to the next destination
shall be calculated from the current
robot position that the robot believes
its location to be.");
R1.7("R1.7 All obstacles shall be correctly
identified.");
R1.8("R1.8 An obstacle shall not be in the same
location as an inspection point.");
R1.9("R1.9 The calculated path to the destination
shall not include a location with an
obstacle.");
R1.10("R1.10 The robot shall not go faster than X
kmph.");
H2(("H2 Running out of battery could
leave the robot stranded in
a hazardous area, posing risks
to retrieval personnel and
causing environmental radiation
exposure."));
H3(("H3 Power supply issues may
result in reduced operational
time, potentially stranding the
robot in hazardous areas."));
SF2{"SF2 PREVENT RUNING
OUT OF POWER."};
R2("R2 The robot shall maintain
a sufficient power level
throughout the mission.");
R2.1("R2.1 The robot shall monitor
its battery level and
activate a recharge process
when it falls below a
predefined threshold.");
R2.2("R2.2 The robot shall update
its estimated battery
charge every m minutes
based on both the
current battery sensor
and the robot's history
of activity.");
R2.3("R2.3 The robot shall return to
the initial position if
battery levels become
critically low.");
R2.4("R2.4 The charging station shall
be selected as the next
destination whenever the recharge
flag is set to true.");
R2.5("R2.5 The battery monitor shall
show the battery charge 5%
lower than currently estimated.");
R2.6("R2.6 The interface recharge output
shall be set to true
when the current battery
charge is lower than the
battery needed to reach the
charging station from the
current position plus 5%
battery charge.");
R2.7("R2.7 Once at the charging station,
the robot shall remain
there until the battery reaches
full charge.");
R2.8("R2.8 Each step in the plan
shall not use more than
1/n amounts of battery.");
H4(("H4 Radioactive contamination from
particles adhering to surfaces,
equipment,and personnel, leading to
contamination spread and an increased
risk of radiation exposure."));
H5(("H5 Contaminated equipment and
personnel due to robot manual
retrieval in hazardous environments."));
SF3{"SF3 PREVENT THE ROBOT FROM
BEING EXPOSED TO EXCESSIVELY
HIGH LEVELS OF RADIATION."};
R3("R3 The robot and personnel
shall be protected from
harmful radiation exposure.");
R3.1("R3.1 The robot shall continually
monitor radiation levels
in its environment.");
R3.2("R3.2 Initial robot position shall
not be a location with
out-of-range radiation levels.");
R3.3("R3.3 The radiation monitor subsystem
shall ensure that the initial
robot measurement is equal
to the manual set level.");
R3.4("R3.4 The radiation monitor subsystem
shall ensure that the current
position is not a position
with out-of-range radiation
levels.");
R3.4.1("R3.4.1 If radiation levels have
exceeded, the robot shall
go tothe exit immediately.");
R3.5("R3.5 Room radiation levels shall
be correctly identified.");
R3.6("R3.6 The radiation level at
the inspection points
shall be within acceptable
ranges.");
R3.7("R3.7 The calculated path to
the destination shall not
include a location with
out-of-range radiation
levels.");
R3.8("R3.8 Radiation levels
shall be under R.");
R3.9("R3.9 The robot shall perform
regular checks on its
equipment's performance and
return to the initial
position if anomalies
are detected.");
R3.10("R3.10 The robot shall undergo
thorough decontamination
procedures before and
after each mission.");
H6(("H6 Operational failure in the
robot's navigation and inspection
tasks could result in wrong
navigation, and equipment damage."));
SF4{"SF4 ENSURE ALL REACHABLE
INSPECTION POINTS ARE VISITED."};
R4("R4 The robot shall visit
all reachable inspection points.");
R4.1("R4.1 All inspection points shall
be correctly identified.");
R4.2("R4.2 A valid inspection point shall
not be at the same location
as a valid obstacle.");
R4.3("R4.3 Visited inspection points shall
be removed from the list of
destinations to visit.");
R4.4("R4.4 The closest inspection point
that was not visited before shall
be the current goal when the
recharge flag is false.");
R4.5("R4.5 The shortest path to the
current goal shall be selected.");
R4.6("R4.6 The interface subsystem shall
set the Goal flag to true only
when the current robot position
is equal to the current goal
position.");
Description --> H1;
H1 --> SF1;
SF1 --> R1;
R1 --> R1.1;
R1.1 --> R1.1.1;
R1.1 --> R1.1.2;
R1 --> R1.2;
R1 --> R1.3;
R1 --> R1.4;
R1 --> R1.5;
R1 --> R1.6;
R1 --> R1.7;
R1 --> R1.8;
R1 --> R1.9;
R1 --> R1.10;
Description --> H2;
Description --> H3;
H2 --> SF2;
H3 --> SF2;
SF2 --> R2;
R2 --> R2.1;
R2 --> R2.2;
R2 --> R2.3;
R2 --> R2.4;
R2 --> R2.5;
R2 --> R2.6;
R2 --> R2.7;
R2 --> R2.8;
Description --> H4;
Description --> H5;
H4 --> SF3;
H5 --> SF3;
SF3 --> R3;
R3 --> R3.1;
R3 --> R3.2;
R3 --> R3.3;
R3 --> R3.4;
R3.4 --> R3.4.1;
R3 --> R3.5;
R3 --> R3.6;
R3 --> R3.7;
R3 --> R3.8;
R3 --> R3.9;
R3 --> R3.10;
Description --> H6;
H6 --> SF4;
SF4 --> R4;
R4 --> R4.1;
R4 --> R4.2;
R4 --> R4.3;
R4 --> R4.4;
R4 --> R4.5;
R4 --> R4.6;