mbdlyb_ui.functional.hardware ============================= .. py:module:: mbdlyb_ui.functional.hardware .. autoapi-nested-parse:: Copyright (c) 2023 - 2026 TNO-ESI All rights reserved. Classes ------- .. autoapisummary:: mbdlyb_ui.functional.hardware.AffectsRelationCreatePage mbdlyb_ui.functional.hardware.AffectsRelationUpdatePage mbdlyb_ui.functional.hardware.Fault mbdlyb_ui.functional.hardware.HardwareCreatePage mbdlyb_ui.functional.hardware.HardwareDetailsPage mbdlyb_ui.functional.hardware.HardwareUpdatePage mbdlyb_ui.functional.hardware.ObservesRelationCreatePage mbdlyb_ui.functional.hardware.ObservesRelationUpdatePage mbdlyb_ui.functional.hardware.RealizesRelationCreatePage mbdlyb_ui.functional.hardware.RealizesRelationUpdatePage mbdlyb_ui.functional.hardware.TestsRelationCreatePage mbdlyb_ui.functional.hardware.TestsRelationUpdatePage Functions --------- .. autoapisummary:: mbdlyb_ui.functional.hardware.add_fault mbdlyb_ui.functional.hardware.affects_relation_form mbdlyb_ui.functional.hardware.drop_fault mbdlyb_ui.functional.hardware.fault_table mbdlyb_ui.functional.hardware.hardware_form mbdlyb_ui.functional.hardware.observes_relation_form mbdlyb_ui.functional.hardware.realizes_relation_form mbdlyb_ui.functional.hardware.tests_relation_form Module Contents --------------- .. py:class:: AffectsRelationCreatePage(hardware_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the affects relation create editing page. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:attribute:: relation :type: mbdlyb_ui.functional.helpers.AffectsRelation .. py:class:: AffectsRelationUpdatePage(hardware_id: str, function_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the affects relation update editing page. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:attribute:: relation :type: mbdlyb_ui.functional.helpers.AffectsRelation .. py:class:: Fault(name: str, prior: float) Represent an editable hardware fault. .. py:method:: from_list(l: list[Fault]) :classmethod: Convert editable fault entries to stored prior probabilities. :param l: Editable cost or fault entries to convert into a stored mapping. :returns: Mapping of entry names to their configured numeric values. .. py:method:: to_list(d: dict[str, float]) -> list[Fault] :classmethod: Convert stored fault rates to editable fault entries. :param d: Stored name-to-value pairs to convert into editable entries. :returns: Editable entries created from the stored name-to-value mapping. .. py:attribute:: name .. py:attribute:: prior .. py:class:: HardwareCreatePage(cluster_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the hardware create editing page. .. py:attribute:: fault_rates .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:class:: HardwareDetailsPage(hardware_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the hardware details properties and relations. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:class:: HardwareUpdatePage(hardware_id) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the hardware update editing page. .. py:attribute:: fault_rates :type: list[Fault] .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:class:: ObservesRelationCreatePage(hardware_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the observes relation create editing page. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:attribute:: relation :type: mbdlyb_ui.functional.helpers.ObservesRelation .. py:class:: ObservesRelationUpdatePage(hardware_id: str, observable_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the observes relation update editing page. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:attribute:: relation :type: mbdlyb_ui.functional.helpers.ObservesRelation .. py:class:: RealizesRelationCreatePage(hardware_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the realizes relation create editing page. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:attribute:: relation :type: mbdlyb_ui.functional.helpers.RealizesRelation .. py:class:: RealizesRelationUpdatePage(hardware_id: str, function_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the realizes relation update editing page. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:attribute:: relation :type: mbdlyb_ui.functional.helpers.RealizesRelation .. py:class:: TestsRelationCreatePage(hardware_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the tests relation create editing page. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:attribute:: relation :type: mbdlyb_ui.functional.helpers.TestsRelation .. py:class:: TestsRelationUpdatePage(hardware_id: str, test_id: str) Bases: :py:obj:`mbdlyb_ui.functional.base.FunctionalPage` Display the tests relation update editing page. .. py:attribute:: hardware :type: mbdlyb.functional.gdb.GHardware .. py:attribute:: relation :type: mbdlyb_ui.functional.helpers.TestsRelation .. py:function:: add_fault(fault_rates: list[Fault]) Append a hardware fault and refresh the fault table. :param fault_rates: Editable hardware faults and their rates. .. py:function:: affects_relation_form(relation: mbdlyb_ui.functional.helpers.AffectsRelation, root: mbdlyb.functional.gdb.GCluster) Render the affected node and relation weight controls. :param relation: Relation whose endpoints and weight are edited. :param root: Root cluster used to list eligible relation targets. .. py:function:: drop_fault(fault_rates: list[Fault], fault: Fault) Remove a hardware fault and refresh the fault table. :param fault_rates: Editable hardware faults and their rates. :param fault: Fault or cost entry selected for removal. .. py:function:: fault_table(fault_rates: list[Fault]) Render editable hardware fault rows. :param fault_rates: Editable hardware faults and their rates. .. py:function:: hardware_form(hardware: mbdlyb.functional.gdb.GHardware, fault_rates: list[Fault], cluster: mbdlyb.functional.gdb.GCluster, update: bool = True) Render the hardware name, states, and fault controls. :param hardware: Hardware node whose properties are edited. :param fault_rates: Editable hardware faults and their rates. :param cluster: Parent cluster used to validate the hardware name. :param update: Whether the hardware already exists for name validation. .. py:function:: observes_relation_form(o_relation: mbdlyb_ui.functional.helpers.ObservesRelation) Render the observed node and relation weight controls. :param o_relation: Observes relation being edited. .. py:function:: realizes_relation_form(relation: mbdlyb_ui.functional.helpers.RealizesRelation) Render the realized function and relation weight controls. :param relation: Relation whose endpoints and weight are edited. .. py:function:: tests_relation_form(t_relation: mbdlyb_ui.functional.helpers.TestsRelation) Render the tested node and relation weight controls. :param t_relation: Tests relation being edited.