Skip to main content
QUICK REVIEW

[论文解读] On the Use of CORBA in High Level Software Applications at the SLS

M. Boege, J. Chrin|arXiv (Cornell University)|Nov 2, 2001
Distributed and Parallel Computing Systems被引用 3
一句话总结

本文提出了一种基于 CORBA 的中间件框架,用于瑞士光源(SLS)的高级束流动力学应用,实现了对加速器物理、控制系统、数据库和日志服务的分布式、互操作性及持久化访问。该框架利用 CORBA 的可移植对象适配器(POA)、实现仓库(IMR)和事件服务,提供可扩展、可靠且与语言和平台无关的通信机制,在 SLS 的调试和首次运行期间表现出高度稳定性,且几乎无需操作员干预。

ABSTRACT

Beam dynamics applications at the Swiss Light Source (SLS) have benefitted from a distributed computing environment in which the Common Object Request Broker Architecture (CORBA) forms the middleware layer and access point to several different software components.A suite of remote CORBA server objects provides the client with a convenient and uniform interface to the CDEV (Common DEVice) controls library, the TRACY accelerator physics package, the Oracle database, and en event logging facility. Use is made of methods provided by the CORBA Portable Object Adaptor for accessing ORB functions, such as object activation and object persistence, the Implementation Repository for the automatic reactivation of servers, and the CORBA Event Service for the propagation of controls and physics data. An account of the CORBA framework, as used by applications in the commissioning and first operation of the SLS, is presented.

研究动机与目标

  • 为 SLS 的高级束流动力学(BD)应用开发一个可扩展的分布式计算环境。
  • 实现使用不同编程语言编写、运行在不同平台上的软件组件之间的无缝互操作性。
  • 为加速器建模、设备控制、数据库和事件日志等服务提供持久、远程可访问的系统支持。
  • 通过 CORBA 的标准化接口层抽象底层通信协议和 API,降低客户端复杂性。
  • 在 SLS 调试和运行期间确保系统可靠性,并将操作员干预降至最低。

提出的方法

  • 采用 CORBA 的对象请求代理(ORB)作为核心通信中间件,实现跨分布式组件的远程方法调用。
  • 使用 CORBA 接口定义语言(IDL)定义类型安全的接口,并编译为 C++ 和 Java 客户端与服务器的存根和骨架。
  • 利用可移植对象适配器(POA)管理对象激活、持久化和请求分发,并支持可配置策略。
  • 利用实现仓库(IMR)在需要时自动重新激活 CORBA 服务器,确保服务的持续可用性。
  • 通过事件通道实现 CORBA 事件服务,支持异步、基于推送的方式将控制和物理数据传播至客户端。
  • 通过 CORBA 桥接服务器集成遗留系统(EPICS、Oracle),利用 ORB 的封送机制实现数据传输。

实验结果

研究问题

  • RQ1标准化的、与平台和语言无关的中间件在多大程度上能改善 SLS 上异构束流动力学软件组件的集成?
  • RQ2CORBA 的 POA 和 IMR 特性在实时加速器环境中,能在多大程度上确保服务器的持久性、可扩展性和自恢复能力?
  • RQ3基于 CORBA 的远程方法调用和事件驱动通信是否能降低客户端复杂性,同时保持性能和可靠性?
  • RQ4在数据库操作方面,CORBA 基于的数据访问与原生 API(如 JDBC)相比,性能如何?
  • RQ5CORBA 事件服务在支持加速器控制系统实时监控和数据分发方面发挥什么作用?

主要发现

  • CORBA 框架在 SLS 调试和首次运行期间成功实现了多个束流动力学应用的可靠、低干预运行。
  • 结合 POA 的服务端管理机制使用实现仓库(IMR)确保了服务器的自动重新激活,显著提升了系统的鲁棒性和可用性。
  • 通过 CORBA 封送机制进行数据库访问的性能比使用 JDBC API 快约 50%,表明 CORBA 的优化数据传输具有性能优势。
  • CORBA 事件服务有效实现了校准数据和设备监控事件的异步传播,支持推送和拉取两种通信模式。
  • 该框架抽象了底层通信和 API 差异,使开发人员能够专注于应用逻辑和用户界面设计,而非系统级集成。
  • 整个系统表现出高度稳定性和可扩展性,成功支持了如 3 Hz 全局束流轨道反馈系统等复杂实时应用。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。