MulTI-Agent communication technology and implementation of intelligent sewage treatment system
Distributed Artificial Intelligence (Distributed ArTIficial Intelligence, DAI) theory mainly studies how logically or physically dispersed intelligent systems can solve problems in parallel and in cooperation with each other [1]. As an important branch and cutting-edge subject of DAI research, distributed intelligent systems based on multi-agent systems (MulTI-Agents System, MAS) have received great attention from researchers in the control field [2] [4]. The basic idea of ​​MAS is to build large and complex systems into small, easily manageable Agents (agents, agents) that can communicate and coordinate with each other. When a single intelligent system does not have enough knowledge, resources, and information to solve a complex problem, it is necessary to study how to coordinate and cooperate with each other in order to solve a large-scale complex problem. In this paper, based on MulTI-Agent theory's strong expressive power for complex systems and its open and intelligent characteristics, a new idea of ​​constructing a universal model for intelligent sewage treatment system is proposed, and MAS theory is used to integrate the scattered distribution in sewage treatment system. Many models and parameters can effectively solve the control problem of sewage treatment, a complex industrial process.
1 Multi-Agent-based distributed intelligent sewage treatment system Multi-Agent-based sewage treatment intelligent system model structure shown in Figure 1. Each agent in the system completes the work undertaken according to the environmental information, and multiple agents divide and cooperate to form an organized and orderly group to complete specific tasks together.
The execution agent is located at the field layer to realize the functions of parameter collection and on-site control; the conflict resolution agent is the core of the intelligent system, and its function is through the task planning information, fault information, system status information and other Agent's collaborative request information, etc. Fusion to resolve conflicts caused by Agent behavior; the function of data service agent is to provide other agents with a unified and flexible interface to access real-time databases; the function of soft-sensing agent is through the mathematics between easy-to-test variables and hard-to-test variables Relationship, to achieve the measurement of difficult variables; Fault Diagnosis Agent is an expert system that can diagnose fault phenomena such as sludge expansion, sludge deflocculation, aeration tank foam, and propose solutions.
The key for agents to exchange information, coordinate or cooperate with each other, solve problems beyond the capabilities or knowledge of a single agent, and be truly social is that agents can communicate. Therefore, Agent communication is one of the important issues in Multi-Agent system research.
2 MAS communication language Agent Communication Language (Agent Communication Language, ACL) provides a tool for the exchange of information and knowledge between Agents, so that the interaction between Agents to achieve the purpose of solving problems. ACL makes Agent communication based on knowledge level (Knowledge Level), so that the communication efficiency between Agents is much higher than that in traditional distributed computing.
At present, there are two main types of ACL, one is KQML (Knowledge Query and Manipulation Language) proposed by the KSE research group of the American ARPA in 1993; Standard FIPA-ACL. The FIPA standard consists of a series of specifications that are used to regulate the interoperation between Agents within an application and between different application agents, and to standardize the corresponding functional modules in the interoperation of multi-agent applications. FIPA-ACL has a strong ability to construct new primitives, and uses SL (Semantic Language) as its content language to describe the state of the agent, so FIPA-ACL has a tendency to gradually replace KQML.
2.1 FIPA-ACL system composition The FIPA standard consists of a series of specifications, each of which standardizes the corresponding functional modules in the interoperation of multi-agent applications. The position of the FIPA-ACL specification set in the entire FIPA specification and its internal functional specification composition structure are shown in Figure 2.
As can be seen from Figure 2, the FIPA-ACL specification set is an extremely important part of the entire FIPA standard. It forms the main part of the FIPA standard with the Agent management specification set and Agent message transmission specification set. The Interaction Protocols specification set defines the interoperability protocols that FIPA-ACL can adopt (such as the request interoperability protocol); the Communicative Acts specification set integrates agents' various language behavior units (such as request, agree, refuse, etc.) is a CAL (Communicative Acts Library) library specification; the Content Languages ​​specification set defines different representations (such as SL) applied to the content of FIPA-ACL messages, and they can provide different standard encoding forms .
2.2 FIPA-ACL communication mechanism The communication between Agents is carried out by constructing, encapsulating and transmitting ACL messages. The main structure of ACL messages is shown in Table 1.
In order to communicate with Agent B, Agent A should first construct ACL messages. If the service provided by B should use the request interoperability protocol, the ACL's Protocol parameter is set to fipa-request. A is the initiator of this interoperability dialogue. The first communication between it and B should be regarded as the first request action of the interoperability agreement. This is described as request behavior in the CAL library specification, so the performative parameter of ACL For request. After encapsulating the entire ACL message, Agent A selects the appropriate encoding method to encode it to form a payload, and then adds an envelope, which contains the protocol address corresponding to the protocol used by A and B to communicate. Finally, A uses this transmission protocol to transfer the information to Agent B. After receiving the message sent by A and judging according to the specific content of the message, Agent B answers A according to the operation flow stipulated in the request interoperability agreement.
3 System Communication Technology and Implementation The sewage treatment Multi-Agent intelligent system based on FIPA-ACL is implemented on the multi-agent platform provided by the open source Java project JADE (Java Agent Development Framework). JADE fully complies with the FIPA standard and provides a powerful development framework for developers of multi-agent systems, enabling developers to develop multi-agent systems that meet FIPA standards without having to implement FIPA specifications from scratch.
3.1 Determination of communication methods There are four main connection methods for MAS communication: blackboard mode, federal mode, broadcast mode, and point-to-point mode. There are two types of communication delivery methods: message delivery and solution delivery. Before communication between the agents in this system, the service query mechanism provided by the agent management platform is used to locate the agent to be communicated, and then the two agents communicate directly; while the information transmitted between the agents is interoperable commands, parameters and operation results, there is no Design to plan delivery. So this system uses point-to-point messaging communication.
3.2 Communication strategy The data service agent, conflict resolution agent, and fault diagnosis agent in this system provide data query and write services, conflict identification and resolution services, and fault diagnosis services for other agents in the entire system, requesting agents for each service. The service provider must be located first, which requires a service registration and positioning mechanism. The FIPA standard defines the DF (Directory Facilitator) Agent that must exist in the Agent system. The above three service providers will register their own services in DF when they start. For example, when an execution agent needs a conflict resolution service, it will query the DF to obtain the communication address of the conflict resolution agent and the interoperability of the service. Protocol and other information, and then communicate with the coordination agent according to the dialogue mode specified in the interoperability agreement.
JADE provides a default DF Agent, service providers (such as data service Agent) want to register their own services, the main code is as follows:
Service Description sd = new Service Description ();
// Create a service description object and describe the service attributes DF Agent Description DFad = new DF Agent Description ();
// Create your own description object and describe your information Codec language = new SLCodec (); // Adopt SL content language specification Ontology ontology = Basic Ontology.getInstance ();
// Use basic ontology language to construct service description object sd.setName (getLocalName ());
sd.setType ("SwageDisposeDataService"); // Name the service, and other agents use this name when querying the service.
// The interoperability protocol adopted by the service sd.addLanguages ​​(language.getName ());
sd.addOntologies (ontology.getName ());
// Build own description object DFad.addProtocols (InteractionProtocol.FIPA_REQUEST);
DFad.addLanguages ​​(language.getName ());
DFad.addOntologies (ontology.getName ());
DFad.setName (getAID ());
// make itself have the service description object DFad.addServices (sd) constructed;
try {
DFService.register (this, DFad); // Register your own service in the default DF provided by the platform} catch (FIPAException e) {
// Handle exceptions}
When the conflict resolution agent needs this service, you can search for DF through the following code and locate the provider of this service, which is the data service agent [6].
...... // Some of the variable declarations are the same as the above code DFAgentDescription dfd []; // used to store // Agent description information that provides this service (the service provider may be more than one)
// Build service description object sd.setType ("SwageDisposeDataService");
sd.addLanguages ​​(language.getName ());
sd.addOntologies (ontology.getName ());
sd.addProtocols (InteractionProtocol.FIPA_REQUEST);
DFad.addServices (sd);
try {
dfd = DFService.search (this, DFad); // Search the service provider in the default DF ... // Communicate with the service provider} catch (FIPAException e) {
// Handle exceptions}
3.3 Communication protocol The communication between Agents in this system adopts the request interoperation protocol, that is, the protocol parameters of ACL messages are fipa-request, and the protocol flow expressed by UML is shown in Figure 3.
The parameters and operation results required by the Agent to provide services are included in the content parameter of the ACL message.
3.4 Communication content In this system, the communication content between Agents is encapsulated in a custom CSO (Communication Seriable Object) class. Through the serialization interface provided by JADE, the CSO object can be used as the content parameter of the ACL message in any Transfer between Agents can achieve very good scalability. The CSO class structure is as follows:
public class CSO implements Serializable {
private String [] arg; // service parameter private float [] value; // service result private String comment; // comment ...
}
The data service agent in the system provides data query and data writing services. It performs real-time database operations according to the parameters transmitted by service users in CSO.arg [], and stores the query results in CSO.value [] to return to the request By. The conflict resolution agent receives the conflict identification request of the execution agent (the request is without parameters), and requests the data query service of the data service agent or the fault diagnosis service of the fault diagnosis agent according to the need of the conflict identification algorithm, and will resolve the result command or the conflict free command Stored in CSO.arg [0], and then transmitted to the execution agent. When the fault diagnosis agent provides the fault diagnosis service to the conflict resolution agent, it also needs to obtain parameters from CSO.arg [] and store the diagnosis result in CSO.value [] to indicate whether the fault requested for diagnosis occurs.
Based on FIPA-ACL, this paper proposes the communication technology of sewage treatment Multi-Agent intelligent system, determines its communication method, communication strategy and communication protocol, and gives the implementation method on JADE 3.1 software development platform.
Zener Diode, the English name Zener diode, also known as Zener diode. By using the reverse breakdown state of the pn junction, the current can be varied over a wide range and the voltage is substantially constant, and the diode that acts as a voltage regulator is fabricated. [1] This diode is a semiconductor device that has a very high resistance until the critical reverse breakdown voltage. At this critical breakdown point, the reverse resistance is reduced to a small value in this low resistance region. The current is increased and the voltage is kept constant. The Zener diode is binned according to the breakdown voltage. Because of this characteristic, the Zener diode is mainly used as a voltage regulator or voltage reference component. Zener diodes can be connected in series for use at higher voltages, resulting in higher regulated voltages in series.
Zener Diode
Power Zener Diode,Zener Diode,Zener Diode Regulator,Zener Diode 56V
Dongguan Agertech Technology Co., Ltd. , https://www.agertechcomponents.com