pvAccess server implements a PvProvider to give pvAccess an
pvData structures, etc.'
Can this be sensibly re-written then as "pvAccess connects
terminals to process variables via channels. A pvAccess server
implements a channelProvider, to give pvAccess a interface to
pvData structures. The channel may be instantiated as either a
Channel Access channel (conforming to the Channel Access
protocol), or a pvAccess channel (conforming to the pvAccess
Is this ok? If not, can someone who knows what they're
talking about change it so it does make sense. And
is Matej's assertion that the rename of
"ChannelAccessFactory to ChannelProviderRegistry" is necessary
sufficient to bring both CA and pvAccess implementations in
EPICS V4 into line with this understanding.
Defining Process Variable and Channel
a) Not use capitals for these specific definitions. That
makes them, in English, look like proper nouns, but so
defined they're not proper nouns, they're just common
nouns. And in fact that misspelling leads to a
lot of confusion.
b) process variable is a concept from control theory and
our definition should just refer to that. An EPICS Process
Variable is the instantiation of a process variable in EPICS.
Maybe something like this:
"process variable" - a parameter of a system. Where values
of such parameters can be measured or assigned, such as via a
control system, then process variables are those variables in
the control system which correspond to the parameters of the
system as a whole. Thereby, when a control system assigns the
value of a process variable it is setting a parameter of the
system (such process variables are called "manipulated process
variables"), and when it reads the value of a process variable
it is acquiring the value of a parameter of the system."
We would then define Process Variable (capitalized) in the
context of EPICS. Maybe;
"Process Variable - the instantiation of a process variable
in EPICS. In version 3 of EPICS the computational process of a
Process Variable is defined by a record in the database of an
Input Output Controller (IOC). The record may handle I/O to
hardware that measures and sets quantities in the real world.
In version 4 of EPICS (as of 4.3), a Process Variable may
additionally be defined by a remote procedure call - that is,
the process variable's value may be dependent on arguments
given at the time of asking for the value. In future versions
a Process Variable may be defined by additional computational
devices, such as a new mechanism for the processing database."
c) Define "channel"
channel. In telecommunications and computer networks, a
channel is a managed connection through a multi-point
transmission medium between a terminal and signal source. In
the context of control systems, a channel is the interface
providing connection to a process variable.
d) Define "Channel"
Channel (capital C) is, in EPICS, the instantiation of a
channel in the Channel Access (cf Channel Access)
communications system. So a Channel is the interface provided
by Channel Access to an IOC record, which defines the
processing of an EPICS Process Variable.
For me channel is OK, since it's definition is
"process variable on wire".
The only misleading name is ChannelAccess and
ChannelAccessFactory (singleton implements
ChannelAccess), since we decided that Channel Access is
Currently ChannelAccess/ChannelAccessFactory serve as
registration point where ChannelProviderFactory-ies are
registered. So, I would simply rename
ChannelAccessFactory to ChannelProviderRegistry.
Flow-based real-time traffic analytics software. Cisco
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow
Customize your own dashboards, set traffic alerts and
Network behavioral analysis & security monitoring.