CMW CORBA-based Controls Middleware at CERN - PowerPoint PPT Presentation

About This Presentation
Title:

CMW CORBA-based Controls Middleware at CERN

Description:

CMW CORBA-based Controls Middleware at CERN CMW team, CERN Kris Kostro, Nikolai Trofimov, Steen Jensen, Jens Andersson, Francesco Calderini, Vito Baggiolini, Francois ... – PowerPoint PPT presentation

Number of Views:138
Avg rating:3.0/5.0
Slides: 26
Provided by: kkostro
Category:

less

Transcript and Presenter's Notes

Title: CMW CORBA-based Controls Middleware at CERN


1
CMWCORBA-based Controls Middleware at CERN
  • CMW team, CERN
  • Kris Kostro, Nikolai Trofimov, Steen Jensen, Jens
    Andersson, Francesco Calderini, Vito Baggiolini,
    Francois Chevrier, Slawek Maludzinski

2
Layout
  • CMW motivation
  • Architecture
  • Remote Device Access (RDA)
  • CMW servers and clients
  • Administration services
  • Naming and configuration services
  • Current status
  • Experience

3
Motivation for the new middleware
  • Support for OO programming, in particular Java.
  • Support for publish/subscribe paradigm and
    event-driven programming
  • Support for industrial standards in controls
    (OPC, SCADA, Windows)
  • New middleware for the LHC era

4
CMW Architecture
Java Control Programs
RAD programs (VB, Excel)
C programs
Clients
Middleware Client API Device/Property Model

Topic Model
Naming Service
CMW Infrastructure RDA, CORBA, JMS
Configu- ration Service
Server Framework API (C, Java)
Servers
Virtual Devices (Java, C)
SL-Equip Server
PS-GM Server
OPC Gateway
New Servers
Physical Devices (RF, BT, BI, Powering)
5
Device Model
  • Control system consists of named devices
    (position monitor, beam line)
  • Devices are composed of properties (position,
    current)
  • Operations on properties set, get, subscribe,
    unsubscribe
  • Devices are organized into device classes

6
RDARemote Device Access
  • RDA implements the device model
  • Properties are represented by name, the API is a
    narrow one
  • get() set() operations implemented as blocking
    CORBA calls.
  • Subscription updates implemented as CORBA
    callbacks in user code.
  • Update operations implemented as one-way calls
  • Data objects similar to CDEV data

7
(No Transcript)
8
CMW servers
  • CMW servers are normally written in C and run
    on LynxOS VME front-ends
  • Windows servers for OPC, Linux for gateways
  • Server framework to support polling and
    synchronize with timing system
  • They are often generic servers configured from
    Oracle DB

9
CMW server framework
10
Server Example SL-Equip
LynxOS Front-End
CMW Equip Server
Hardware
MIL1553 driver
RDA
CORBA
SFW
OPC Server
eqsrv Servers
Hardware
Server Classes
Timing events from network
SVMQ
Configurationfrom Database
11
Server Example OPC
Windows (NT, 2000)
CMW OPC Server
Hardware
OPC server
RDA
CORBA
Server Classes
Configurationfrom Database
Mapping between OPC items And device/properties
12
CMW clients
  • Java clients are the main category
  • C clients to connect to SCADA systems (PVSS
    driver)
  • C clients for legacy Motif applications
  • VB and Excel applications behind a Java or C
    front-end

13
(No Transcript)
14
Narrow API
  • DeviceBase device new DeviceBase("BPM1)
  • cs new DefaultCycleSelector("211e0101")
  • Data result device.getData("Pos", cs)

15
System Administration
  • Administration facilities have been described as
    CORBA interface. All CMW servers implement this
    interface RDA servers and also directory and
    database servers.

16
System Administration (cont.)
17
System Administration (cont.)
  • The CMW management console allows browsing the
    server namespace and displaying server state
  • The general state of the server (OK, BAD,
    WARNING) is requested periodically
  • More details about server as well as server and
    client statistics can be obtained through
    separate methods.
  • Servers can be shut-down or restarted remotely
    and log levels can be set.

18
(No Transcript)
19
Naming and configuration
  • Device names are resolved to server names via
    CORBA directory server connected to Oracle
    database
  • Server names are resolved to CORBA RDA
    DeviceServerBase objects via the OMG Naming
    Service (ORBacus Names)
  • Servers register their names with Naming Service
    on startup
  • Servers can auto configure via a CORBA database
    server (no Oracle for LynxOS)

20
Naming and configuration
CMW Directory server (Java)
Device name resolution
Java Control Programs
JDBC
Device access
ORACLE
OMG Naming Service
CMW DB server (Java)
Server configuration from SQL query
JDBC
ORACLE
21
CMW current state
  • All CERN equipment can be accessed via CMW
  • Operational in PS since March 2002
  • Naming and configuration services are operational
  • Main use is in Java, C client recently
    developed
  • Currently working on consolidation and
    improvements (version 2.0)

22
Supported platforms
  • Java
  • Client and server APIs
  • Administration tools, CMW Explorer, directory and
    configuration servers are in Java
  • C Server framework supported on
  • PowerPC LynxOS 3.1.0
  • Linux Intel
  • Windows 2000
  • C/C Client API on
  • Linux
  • Windows 2000

23
Actual CORBA implementations
  • In use
  • ORBacus OBE 1.0.1 for C
  • LynxOS 3.1.0
  • Linux (i686)
  • ORBacus JOB 3.3.4, JOB 4.0.4
  • Have also been used
  • OrbExpress
  • Omniorb (not in CMW)

24
Experience with CORBA
  • CORBA simplifies middleware development
  • Fits well in OO development
  • but
  • Actual ORB implementations require several MB of
    memory. This restricts use of Middleware.
  • Quality ORBs are rare birds
  • Can we stick with ORBacus?

25
Some hick-ups
  • The first commercial ORB which we acquired for
    LynxOS was unusable
  • We had to improve performance of subscription
    updates (batch update)
  • Any is inefficient, we switched to use variants
    instead
  • Strategy to deal with misbehaving subscription
    clients unreachable, slow etc.
  • Mostly TCP, not CORBA phenomena

26
References
  • The Web page of the Controls Middleware project
    http//proj-cmw.web.cern.ch/proj-cmw
  • K. Kostro, N Trofimov, V. Baggiolini, F.
    Calderini, F. Chevrier, S. Jensen, R. Swoboda
    Controls Middleware - The New Generation, EPAC
    2002, Paris, 2-7 June 2002
  • N. Trofimow, V. Baggiolini, S. Jensen, K. Kostro,
    F. Di Maio, A. Risso, Remote Device Access in
    the New Accelerator Controls, ICALEPCS 01, San
    Jose, USA, 27-30 Nov. 2001.
Write a Comment
User Comments (0)
About PowerShow.com