EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: CDEV activities
From: Chip Watson <[email protected]>
To: [email protected]
Date: Fri, 04 Dec 1998 10:28:47 -0500
CDEV Frequently Asked Questions (EPICS version)


1) What is CDEV?

CDEV (common device) is a standard application programming interface (API) to one
or more underlying control system interfaces such as EPICS. It provides a generic
abstraction of these various systems, plus a number of features not provided by most
control systems. It is used to provide a portable device oriented and object oriented C++
and Java layer above several major accelerator control systems.

CDEV is also a set of application building components allowing the construction of both
clients and servers in a distributed system.  Building a server is as easy as writing a
routine
to handle messages sent to that server, with multiple client support transparently handled
by
libraries.  These components have been used in a number of interesting ways at sites in
the
US and Europe (e.g. Bessy).


2) Why use CDEV instead of a control system's native API?

A properly configured CDEV system allows an application to treat all the various EPICS
records
used to control a single device as a single super-record, with addressing such as getting
the
value of "magnet7.current" and "magnet7.temperature" without knowing if they are in the
same record or not.  Additionally, CDEV supports query operations such as getting all of
the
devices of class "Magnet", and discovering all of its properties (like current,
temperature, etc.)
without prior knowledge of those names).

Secondly, CDEV applications can be exchanged between EPICS and non-EPICS sites, allowing
a wider range of software sharing and re-use.


3) Does using CDEV hurt performance compared with using the native API?

No (or at least not so that anyone would care).  An application which does 100% control
system I/O
(never uses the data, never displays it, never writes it to disk, etc.) would use 15% more
CPU, but
on modern machines would get just as much I/O done -- it will be limited by the network.
Real
applications typically spend only 10% of their time on control system I/O, and so will
only suffer
at 1-2% CPU load effect, negligible on any machine.


4) Who supports CDEV?

CDEV was mostly written at Jefferson Lab, and is maintained by the 3 original primary
developers.
As Jlab mostly uses HP workstations, bug reports and fixes for other platforms are
contributed
by users from many sites, as is the case for EPICS.  It is fairly stable, and so does not
require
much support.

The Java version is currently being extended by a group at CERN, to be used atop both of
the major
control systems there, and so Java support will be distributed between Jlab and CERN.


5) What platforms are supported?

Jlab supports the HP version, and does basic tests of new releases on Solaris, with both
of these platforms
communicating with EPICS and CDEV servers.

A port to NT is now underway, and will be announced when finished (expected February
1999).

(A rumour that CDEV support was being dropped because the 3 developers are now involved in
a
high performance computing project is simply false.  CDEV is an integral and essential
part of the control
system at Jefferson Lab.)


6) Where can I get CDEV (and more information)?

CDEV is freely available for download, starting at the web site:
    http://www.jlab.org/cdev

At this web site you will find documentation, a subscribable email list, and other related
information.
If you would like to stay informed about CDEV topics, and contribute to its development,
join the
email list (it is a very quiet list, only a handful of postings a month).


Navigate by Date:
Prev: Re: EOFF Benjamin Franksen
Next: Re: enhancements to Andrew Johnson's IPC driver Marty Kraimer
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE:PC Fonts.... schoeneburg
Next: RE: ppc Jeff Hill
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·