Source code for brom_drake.utils.leaf_systems.network_fsm.errors


from typing import List, Set, Tuple

[docs] class EdgeContainsNoLabelsError(ValueError): """ Description ----------- Raised when an edge in the FSM graph contains no labels. """ def __init__(self, edge: Tuple[int, int]): self.edge = edge self.message = f"Edge {edge} contains no labels (i.e., it is an empty dictionary);\n" self.message += f"Need at least one label (the label should be called \"conditions\")!\n" super().__init__(self.message)
[docs] class EdgeContainsNoConditionsError(ValueError): """ Description ----------- Raised when an edge in the FSM graph contains no conditions. """ def __init__(self, edge: Tuple[int, int]): self.edge = edge self.message = f"Edge {edge} contains 0 conditions; need at least one!\n" super().__init__(self.message)
[docs] class MultipleConnectedComponentsError(ValueError): """ Description ----------- Raised when the FSM graph has multiple connected components. """ def __init__(self, connected_components: List[Set[int]]): self.connected_components = connected_components self.message = f"Found {len(connected_components)} connected components in the FSM graph.\n" self.message += f"Connected components are: {connected_components}.\n" super().__init__(self.message)
[docs] class NumberOfStartNodesError(ValueError): """ Description ----------- Raised when the FSM graph has multiple start nodes. """ def __init__(self, start_nodes: List[int]): self.start_nodes = start_nodes self.message = f"Found {len(start_nodes)} start nodes in the FSM graph.\n" self.message += f"Start nodes are: {start_nodes}.\n" super().__init__(self.message)
[docs] class OutputPortNotInitializedError(ValueError): """ Description ----------- Raised when an output port is not intiialized in the FSM graph. """ def __init__(self, node_index: int, output_port: str, output_ports_initialized: List[str]): self.output_port = output_port self.message = f"Output port \"{output_port}\" for node #{node_index} does not have an initial value in the FSM graph;\n" self.message += f"The ports that were initialized are {output_ports_initialized}!\n" super().__init__(self.message)