smia.agents.extensible_smia_agent module¶
- class smia.agents.extensible_smia_agent.ExtensibleSMIAAgent(*args, **kwargs)[source]¶
Bases:
SMIAAgentThis agent offers some extension mechanisms to add own code to the base SMIA agent.
- add_new_agent_capability(behaviour_class)[source]¶
This method adds a new agent capability to SMIA to increase its intelligence and autonomy. The new capability is added as a SPADE behavior instance. If it is not a valid behavior (within the types offered by :term`SPADE`), it cannot be added.
- Parameters:
behaviour_class – SPADE behaviour class instance.
- add_new_agent_service(service_id, service_method)[source]¶
- This method adds a new agent service to SMIA to increase its intelligence and autonomy. The new service is added
as a Python method that will be called when the service is requested.
- Parameters:
service_id (str) – identifier of the new service (id or idShort of the related AAS SubmodelElement).
service_method – Python method that will be called when the service is requested.
- add_new_asset_connection(aas_interface_id_short, asset_connection_class)[source]¶
This method adds a new asset connection to SMIA. The new connection is added by the instance class inherited from the official SMIA generic class named ‘AssetConnection’ and the associated AAS interface element. To correctly perform the addition, make sure that the given instance is inherited from this class and that the idShort represents the valid AAS SubmodelElement of the related interface within the ‘AssetInterfacesDescription’ submodel .
- Parameters:
aas_interface_id_short (str) – identifier of the related AAS interface element in the form of idshort of the SubmodelElement.
asset_connection_class – instance class to be added as a new asset connection (inheriting from ‘AssetConnection’).