网络分布式控制系统

来源:互联网 发布:哪个软件专门看腐剧 编辑:程序博客网 时间:2024/04/29 02:48

FIPA agent based network distributed control system

以法国国际电视节代理为基础的网络分布式控制系统

D. Abbott, V. Gyurjyan, G. Heyes, E. Jastrzembski, C. Timmer, E. Wolin

Abstract 摘要

A control system with the capabilities to combine heterogeneous control systems or processes into a uniform homogeneous environment is discussed. This dynamically extensible system is an example of the software system at the agent level of abstraction. This level of abstraction considers agents as atomic entities that communicate to implement the functionality of the control system. Agents’ engineering aspects are addressed by adopting the domain independent software standard, formulated by. Jade core Java classes are used as a FIPA specification implementation.A special, lightweight, XML RDFS based, control oriented, ontology markup language is developed to standardize the description of the arbitrary control system data processor. Control processes, described in this language, are integrated into the global system at runtime, without actual programming. Fault tolerance and recovery issues are also addressed.

我们讨论的控制系统具有联合各种复杂控制系统或处理有相同异构性控制系统的能力。它是一种动态可扩展的系统,同时也是软件系统在抽象代理方面的例证。这种抽象级别的系统把代理视为原子实体之间的沟通,从而实现了控制系统的控制功能。在代理处理工程方面,它采用由FIPA软件标准制定的独立的域名。以Java代理开发框架为核心的FIFA的执行规范是这种软件的设计标准。执行规范是一种特殊的、无重量的、基于XMLRDFS控制导向的、以实体标准语言规范开发的随意控制系统的数据处理器的技术。这种实体语言技术融入全球体系的控制系统的运行,不用实际的编程,容错和恢复的问题也能自动解决。

1. Introduction 引言

Over time controls in high energy and nuclear physics experiments are inevitably becoming more heterogeneous and diverse. Industrial process control software and hardware growth should not be underestimated. More and more we see that industrial proprietary control systems with their specific hardware are being used in physics experiments, and that systems are robust and reliable. The use of PC’s in control systems is widely supported since they are inexpensive and extensible. Even PC based control systems developed in the Microsoft windows environment are used. We think that the control and data acquisition systems for future experiments will face problems in areas such as interoperability, scalability, and standard user interface. A central concern of this research work is to address those issues by developing an open architecture control system. An open architecture design will add flexibility by shifting the focus of the control systems from being hardware-centric to more software-centric.

在过去高能量实验和核物理实验中,反应时间的控制往往不可避免地变得更加复杂多样。工业控制过程中软件和硬件的结合应用不应该被低估。我们越来越多地看到,在工业上具有特定硬件的专用控制系统正在应用于前面提到的实验中,而且这些专有系统在实验室的运行是比较稳定和可靠的。PC因为其价格低廉,可扩展性能好被广泛的应用到控制系统中。基于PC的控制系统,即使在Microsoft Windows开发环境下其兼容性也很好。我们认为,将来在自动控制和实验数据采集领域中会面临的诸如交互操作性、可扩展性和标准用户界面等问题。为解决这些问题,我们所做研究工作的核心是要解决如何开发开放型结构的控制系统。采用开放式架构设计将重点从硬件设计转向以控制系统为中心的系统设计,同时也增加了软件设计的灵活性。

The goal of this project is to develop a multi-agent control system containing distributed control and application entities that collaborate dynamically to satisfy control objectives of physics experiment. Agents are capable of addressing both knowledge processing and control specific actions simultaneously in a real-time distributed environment. The proposed system will integrate data acquisition and the slow control components of the experiment in the homogeneous multi-agent environment. The system is required to cope also with the dynamic reconfiguration of the control environment in real time by auto-generating or specializing specific control agents whenever new controls are added, or control relationships are changed. In this paper we present the work in progress to design and develop an agent-based network-distributed control system.

该项目的目标是建立一个包含分布式控制和应用与实体结合的,以满足动态物理实验控制目标的多智能体的控制系统。代理控制系统都能够同时选择知识库处理和实时分布式环境下控制系统的具体行为和时间。模拟控制系统将整合采集数据,同时在多代理控制环境下进行控制组件速度测试。每当新控制元件增加或者控制关系发生变化时,模拟控制系统在代理实时控制环境下将自动生成新控制系统或重构专业的新的动态控制关系。本文中,我们目前正在进行的工作是设计和开发一个基于控制代理的网络分布式控制系统。

The following section will introduce agent technologies and agent specification standards used in this project. Sections three and four will describe control agent platform architecture and specialized agents’ descriptions and behaviors. Section five will discuss the developed metadata used to describe control systems and processes planned to be integrated into the global control environment. Finally, we conclude with a brief discussion of our future plans.

下面的部分将介绍控制代理和控制代理技术在这个项目中使用的规范。3节和第4节将介绍控制代理平台的架构和专用控制代理的行为。第5节将讨论开发元数据在融入全球控制环境下的情形和过程控制系统的设计计划。最后,我们总结了我们未来计划的论文。

2. Software agents 软件代理

An agent is a software entity capable of acting intelligently on behalf of a user, in order to accomplish a given task. Agents, like humans, co-operate so that a society of agents can combine their efforts to achieve a desired goal. The characteristic properties of the agents are:

A. autonomy,

B. proactive intelligence (agents do not simply to act in response to their environment, but are able to take initiative),

C. temporal continuity (they are continuously running processes),

D. mobility,

E. rationality/benevolence (agents don’t have conflicting goals),
and

F. adaptive intelligence (agents have the ability to learn).

软件代理是一种软件实体能够代表用户完成指定的任务的行为。软件代理和人类代理一样,人们往往通过与社会中各种代理人的种种合作并结合自己的努力以便实现预期目标。软件代理的特征特性是:

A.自主性

B.积极的情报(代理不是简单地对环境采取行动的,而且要主动反应)

C.时间的连续性(他们不断运行的程序)

D.流水性

E.合理性(软件代理没有冲突的目标)

F.自适应智能(软件代理学习能力)

Compared to OO objects, software agents have their own thread of control, localizing not only code and state but their invocations as well. In other words, agents themselves define when and how to act. 

与面向对象的软件程序相比,软件代理有自身控制线程的能力,这些线程可本地调用和非本地调用。换句话说,软件代理自己能确定何时以及如何采取行动。

In an open and distributed, agent-based, integrated control environment, the need of standard mechanisms and specifications are vital for ensuring interoperability of the autonomous agents. At the very minimum we need:

  1. a common agreed means by which agents can communicate with each other so that they can exchange information, delegate control tasks, etc.
  2. facilities whereby agents can locate each other.
  3. a unique way of agent identification.
  4. a means of interacting with users.
  5. a means of migrating from one platform to another.

对于一个基于代理的集成控制环境下的开放式和分布式的控制系统,确保其自身代理交互性的控制机制和规范的标准性是至关重要的。我们最起码需要:

A. 一个可以使软件代理互相沟通、交换信息、委托管理任务等协议方式。

B. 软件代理可以找到彼此的设备

  1. 对代理识别独特的方式。
  2. 对与用户交互的方式。
  3. 从一个平台移植到另一平台的方式

Foundation for Intelligent Physical Agents (FIPA) is the most promising standardization effort in the software agent world [1]. The FIPA agent reference model was chosen to provide the normative framework within which agents can be deployed and operate. FIPA specification establishes the logical reference model for the creation, registration, location, communication, migration and retirement of agents.

智能控制物理代理(FIPA)基地是世界软件代理最有前途的标准化的工作地点。FIFA代理选择参考模型的标准是软件代理在规范框架内都可以安装和运行的。FIFA代理的参考模型的规范标准是基于建立、登记、地点、通讯、移民和退休人员逻辑的参考模型。

The FIPA standard do not attempt to prescribe the internal architecture of agents nor how they should be implemented, but it specifies the interface necessary to support interoperability between agent systems. THE FIPA agent platform (AP) suggests the following mandatory components or normative agents.

FIFA的模型标准并不试图规定软件代理的内部结构和软件究竟如何实现,但它规定接口并要求辅助代理系统之间有良好的交互操作性。FIPA代理平台(美联社)提出下列几点软件代理必需组件的技术规范。

  1. Directory facilitator (DF), provides “yellow pages” services to other agents. Agents may register their services with the DF or query the DF for information on other agents. An agent platform can have multiple DF’s thus providing the possibility of creating communities or domains of agents. DF’s can register with each other forming a federation of domains.
  2. An agent management system (AMS), provides agent name services (“white pages”), and maintains an index of all agents which currently are registered with an AP. AMS exerts supervisory control over access to and the use of an AP. This normative agent is responsible for creation, deletion, and migration of the agents.
  3.  An agent communication channel (ACC) is the message transport system which, controls all the exchanges of messages within the platform, as well as messages to/from remote platforms.

A.    项目调解公司(DF公司),为其他代理提供黄页服务,其他代理登记后可查询DF公司的其他信息代理服务。一个代理平台可使用多种DF公司代理服务,从而为创建社区代理或域名代理提供可能。DF公司允许注册每个领域的代理服务形成了一个联邦域名。

B.     代理管理系统(AMS)提供代理服务的名称(白页),并保持着目前所有与美联社注册的代理所需指标。医疗辅助队实施监督控制获得并可以使用的一个AP。这一规范代理负责创建、删除以及代理机构或人的转移。

C.     代理沟通渠道(ACC)是信息传输系统,控制一定范围内的所有信息交流平台以及远程平台的信息。

From the variety of the FIPA specification implementations (ZEUS, GRASSHOPPER, MOLE, RETSINA, FIPA-OS, etc.) we chose JADE (Java Agent Development Framework). JADE simplifies agent-based application development while ensuring standard compliance through a comprehensive set of FIPA services and FIPA agents .

FIPA的各种规格的实现(如宙斯,草蜢,摩尔,雷齐纳,法国国际电视节,操作系统等)来看,我们选择了JAVA代理开发框架JAVA代理开发构架不但简化了基于代理的应用程序开发,而且能确保软件代理通过FIPAFIPA代理服务一整套标准的规定。

3. Design criteria for the system 控制代理设计标准

The overall goal is to create a real time, auto-extensible system, where completely heterogeneous processes can coexist and communicate with one another as peers, simplifying organization of the algorithmic controls and feedback mechanisms to achieve safe and efficient control of the experiment. To achieve this goal we should be able to describe individual control processes within the system, which will in turn encapsulate non-agent software components and allow already existing agents to communicate with those foreign processes as familiar agents. Figure 1 shows the main components of the design architecture.

我们总的目标是建立一个实时的、可自动扩展代理控制系统。该系统能完全与另一个相同性质的异构控制系统共存和沟通,从而简化了软件控制算法的设计和反馈机制的设计,以便能够有效组织并安全的实现控制实验。为了实现上述的目标,我们需要在控制体制内封装非代理软件相关的组件,同时允许与现有的软件代理进行沟通并较好的描述外部控制过程。图1显示的设计架构的主要组成部分。

 Special control specific meta-data were developed using RDFS (Resource Definition Framework Schema). Meta-data then were imported into the Protégé-2000. Protégé-2000 is an integrated software tool able to develop and construct a knowledge base, and was developed at Stanford University [3]. The fact that Protégé-2000 is highly customizable makes it a perfect editing environment for new, imported semantic languages. So, created control semantic language meta-classes, available in Protégé-2000 are used to describe the semantics of the particular control process. The Protégé-2000 user will construct a control specific knowledge base. The created control knowledge base, saved in the RDF format or Protégé-2000 text output (pins), will be picked up by the specialized high-level mediator agents to generate wrapper agents for the described processes.

我们在控制特定数据元时使用了RDFS(资源定义框架架构)。数据元随后被导入到门徒—2000。门徒—2000是一种由斯坦福大学研发的能够开发和构建基础知识库的集成软件工具。事实上,门徒—2000是具有很高可定制性,从而使它成为新的、有完善非本体语言编辑环境的集成软件工具。因此,要建立控制语义的数据语言元,可在门徒—2000上用描述特定控制过程的数据元进行。在门徒—2000上用户将构建控制系统的具体基础知识库。创建所需的控制基础知识库,以RDF格式保存或在门徒—2000输出(引脚)查看相关文本。我们将选责专门的高级别调解软件代理为你提供软件开发及运行过程中所需各种组件。

4. Agent platform architecture 代理平台结构           

The control agent platform includes FIPA specified mandatory agents (ACC, AMS and DF), provided byJade. All agent communication is performed through message transfer. Message representation is based on the Agent Communication Language (ACL) formulated by FIPA [4]. ACL is a language with well-defined syntax, semantics and pragmatics, based on speech act theory, containing two distinct parts: the communicative act and the content of the message. Communicative acts have a precise, declarative meaning independent of the content of a massage, and will extend any intrinsic meaning that the message content itself may have. The software architecture of the system is based on the coexistence of several Java Virtual Machines (JVM), communicating with each other through Java RMI (Remote Method  Invocation). Software agents are grouped into virtual clusters or domains with their specialized functionalities. Control agents in the same domain share the single JVM, which plays a role of a basic agent container. An agent container provides a complete run time environment for agent execution and allows agents to concurrently execute on the same host. Each agent container is a multithreaded execution environment composed of one thread for every agent. Control agents are active objects, having more then one behavior and can engage in multiple, simultaneous activities. In order to minimize the number of threads required to run the agent platform, each control agent implements a scheduler by extending the base Jade Agent class, which carries out a round-robin non-preemptive policy among all behaviors registered with the agent. Agent behaviors can be added and removed at run time.

JADE提供的控制代理平台包括FIPA指定的代理人(如行政,医疗辅助队和DF公司)。所有代理都可进行通信,通过邮件传输消息,这些基于Agent通信语言(ACL)是符合FIPA制定的通信语言规范的。ACL是一种以语义和语言行为理论为基础并有良好语法定义的应用语言学。其语言包含两个不同的部分:在交际中行为和通信的内容。交际行为具有精确的、内容独立的声明意义,并尽可能提供与通信内容本身相符合任何内在的意思。该代理通信平台系统的软件体系结构是基于几个共享的JAVA虚拟机(JVM),每一个平台通过JAVARMI(远程调用方法)相互通信。软件代理分为虚拟群集代理以及与它们的专业功能相一致的各领域代理控制。代理控制在同一个域内共享一直扮演着基本代理黑箱作用的单个JVM。基本代理黑箱提供了一个完整的运行环境,这种环境允许代理黑箱同时在相同的主机上执行。每个代理黑箱是一个由代理控制单元组成,可以多线程的执行控制代理对象的多个行为,并且可以多次同时进行代理控制。为了尽量减少代理平台运行所需要的线程数量、实现各控制代理、扩展基于JADE代理类型,代理黑箱复制了循环注册执行代理的所有行为,采取先发制人的策略进行调度。代理黑箱的控制行为可以在运行时添加和删除。

The architectural structure of the system is based on hierarchies of the agent containers dispersed over the network. Control specific agents are dynamically created and grouped into virtual clusters. Control agents, virtual clusters as well as agent containers, can be created and destroyed as needed within the control platform. The Front-End is a special container running the FIPA normative agents and developed high level mediator agents, taking care of control agents’ management and overall coordination of the system. The Front-End container also maintains an RMI registry internally, used by other agent containers to register them with Front-End and to join the control agent platform. The Hepatic high level mediator agent is responsible for the agent platform management and recovery processes. This agent is in charge of creation, recovery and removal of the agents, agent clusters or entire containers. The Hepatic agent will also resurrect any crashed agents or containers, thus achieving agent platform stability and fault tolerance.

该系统的构架是根据代理黑箱分散在网络上层次进行的。代理特定的控制系统并动态创建分组的虚拟群集。控制代理、虚拟集群以及控制黑箱,在控制平台允许的范围内可以创建和清除。前端一般是运行FIPA代理和开发高级别调解代理特殊黑箱,充分考虑了控制代理的管理和体系的总体协调。前端黑箱内部还保留着一个注册的RMI,由其他代理黑箱末加入控制代理平台前做注册用。高层次的中介代理负责代理平台的管理和修复过程。高层代理还负责收取构建代理、修复和转移代理集群或整个黑箱费用。高级代理也将修复任何损坏的代理集群或黑箱,从而实现代理平台的稳定性和容错性。

Overall coordination of the data acquisition agent cluster is accomplished by the Thalamus agent, which ensures that partial, local solutions to control problems are integrated into the global framework. The Cortex agent is the interface between a specific control system designer and the global control system. It enables the integration of the controls provided by non-agent software into a multi-agent control community. The Cortex will auto-generate a wrapper agent, as well as all necessary ontology classes by parsing the specific control system description written in the developed Control Oriented Ontology Language (COOL). Agents on the control platform can relay messages to the wrapper agent and have them invoke action on the underlying proprietary hardware or software system.

数据采集代理集群的全面协调是通过高级代理控制,它们确保局部控制方案的解决和融入全球代理框架中的各种问题。在下级控制代理之间是一个特定的控制系统设计计划和全球控制系统的接口。它可以由非政府组织提供的控制代理组成一个多代理控制社会,控制代理软件集群在下级代理中将自动生成包装代理,以及对发达国家控制代理进行特殊控制系统的分析,分析需要实体的面向本体语言(COOL)。控制平台上的代理可以传送包装的信息,并让他们代理调用底层专有的硬件或软件来控制系统的行为。

5. Control oriented ontology language and control process description 面向本体控制语言和控制过程的描述

In order to embrace the heterogeneous nature of the control systems and information resources, we need to develop a language which will enable agents to understand domain specific services and devices. Using this language we can express information in the control system in a precise, machine-interpretable form, so the agents participating in the conversation will understand what the terms describing the specific control mean. Light, extensible, control oriented ontology language (COOL) was developed to assist agents in sharing and annotating control specific information. COOL uses RDFS (Resource Definition Framework Schema) developed by the WWW Consortium (W3C) [5] to define hierarchical descriptions of concepts (classes) in a control specific domain. COOL is extensible via XML-namespace and RDF based modularization. Properties of each class describe various features and attributes of the control concept. Logical statements describe relations among concepts. COOL also presents a set of predefined instances (for example instances for common used data types) to simplify knowledge base development. A node and arc diagram of the process description part of the COOL is illustrated in the Figure 3. Figure 3.  COOL schema and taxonomy.

为了协调控制系统和信息资源的异构性,我们需要开发一种语言,使控制代理了解特定领域的代理服务和设备。使用这种语言,我们可以表达的控制系统准确性和机器理解信息的形式,因此代理机制在进行条款清晰的会话后会说明具体控制代理的意思。无重量可扩展的面向本体的控制语言(COOL)的研制,很大程度上协助了控制代理分享和注释的具体资料。COOL语言是由万维网联盟(W3C)开发的概念界定在控制类并使用分层描述特定领域资源框架模式的语言。COOL是通过可扩展的空间XML命名并基于模块化RDF存储。每个类的属性描述了各种特性和控制的概念。逻辑语句描述了概念间的关系。COOL还介绍了预定义情况下软件群集(例如共同使用的数据类型的实例),简化了知识库发展的基础。

A set of the classes to define graphical user interface components and their relations were also designed. Some of the Java swing classes are mirrored in COOL to simplify the design of the actual graphical interface for the specific control process. Protégé-2000 was used to create a specific knowledge base (control system), by defining individual instances of the COOL classes, filling in specified slot value information and slot restrictions.   

一类以确定用户和图形界面及它们的关系的组件也被设计。Java类语言的在COOL中简化了实际的具体控制程序的图形界面设计。门徒—2000是用来创建一个由的COOL语言界定的个别特定的知识库(控制系统)并指定各时段信息的价值和限制黑箱插槽的数量。

6. Conclusions   结论

We proposed a new control system design based on software agent technology. It has been tested in a prototype based on FIPA compliant Jade agent platform. 

我们提出了新的控制系统设计技术的软件代理。据测试为基于FIPA标准JADE代理平台的原型。

Control process abstraction has been implemented through the newly developed control oriented ontology language, allowing description and integration into the general control environment not only of control processes but also of any processes in general.

抽象的控制过程通过新开发的面向本体语言的控制设计,允许描述的并不仅控制流程总体控制环境整合,而且也允许描述在一般的任何控制过程。

High-level mediator agents specialized in agent platform management and system coordination were developed, increasing the entire control system reliability, robustness and fault tolerance.

为提高整个控制系统的可靠性,稳定性和容错性,专门人员会对高级别调解代理平台系统的协调和开发进行管理。

External software or systems integration was accomplished by the special mediator agent, responsible for auto-generating wrapper agents on the platform, based on COOL or CLIPS (Protégé-2000 pins) description files.

调解代理负责外部软件系统集成的同时还特别负责在汽车平台上生成包装代理,在此基础上生成或剪辑(门徒—2000引脚)描述文件。

We are still in the development stage of an integrated JLAB data acquisition run control system. Further improvements, enhancements, and implementations have already been planned, including the implementation of the agent reasoning engine based on JESS.

我们仍然处在发展综合JLAB数据采集控制系统的运行阶段。进一步的改进,提高和实践已经付诸计划,同时代理推理尔杰斯的引擎的执行情况也成为议事日程。

Acknowledgments 致谢

The authors would like to acknowledge the prompt and responsive help provided by the Jade and Protégé-2000 development teams and communities.

作者在此感谢JADE和门徒—2000的开发团队和大众支持。

References 参考文献

[1] Foundation for Intelligent Physical Agents.
[2] Java Agent DEvelopment Framework.
[3] The Protégé Project.
[4] FIPA ACL Message Structure Specification.
[5] K. Ahmed, D. Ayers, M. Birbeck, J. Cousins, D. Dodds, J. Lubell, M. Nic, D. Rivers-Moor, A. Watt, R. Worden, A. Wrightson. “Professional XML Meta Data”.Wrox  Press Ltd.

 

 

 

原创粉丝点击