EPICS is a set of Open Source software tools for scientific and industrial control systems. This document is a statement of the goals and deliverables of the working group developing the next major version of EPICS, version 4, over the period approximately April 2014 to April 2015.
This year will focus 4 major areas; image processing and direct support for areaDetector plugin pipelines, multicast, a PVA gateway, and to further simplify high level scientific applications programming though leverage of structured PVs to enable PVs which are composites of CA PVs. Can we also do a timing synchronous data acquisition service and API?For more information about the EPICS, please refer to the home page of the Experimental Physics and Industrial Control System.
This version is the first editors draft of the 2014 charter. Following initial review by the working group this draft will be presented to the funding laboratories for approval.
The terms MUST, MUST NOT, SHOULD, SHOULD NOT, REQUIRED, and MAY when highlighted (through style sheets, and in uppercase in the source) are used in accordance with RFC 2119 [RFC2119]. The term NOT REQUIRED (not defined in RFC 2119) indicates exemption.
EPICS is a set of Open Source software tools, libraries and applications developed collaboratively and used worldwide, to create distributed soft real-time control systems for scientific instruments such as a particle accelerators and telescopes, and also for industrial process management.
EPICS Version 4 (V4), is the effort to produce the next major version of EPICS. EPICS Version 4 software modules interoperate with the classic IOC. The EPICS V4 Working Group is a collaborative effort of members invited by Brookhaven Lab, to bring EPICS V4 to its full potential.
This Charter is a statement of the basis for the work of the EPICS V4 working group over the charter lifetime. It includes the intended outcomes for that work, its deliverables and success criteria. It also outlines some administrative matters of the organization of the group, and its working practices.
The EPICS V4 Working Group was chartered 2 ½ years ago to define and publish an open control protocol for control system endpoints, which functionally extended channel access to suitability for both device control and high level services. It included data types suitable for high level services, such as tables and complete image data such as from gated photon detectors.
In that time, EPICS V4 successfully brought a communications protocol for controls, "pvAccess", to advanced public review status, and a software framework suitable for high performance distributed control, message passing, and high level software services, to production release status.
Now the working group will reorient to supporting high performance distributed data processing. The IOC as an interface to hardware will still remain largely unaltered - being changed only in for far as to support aggregate PV data.
This version of the Charter is specifically for the third year of operations of the Working Group, covering approximately the year April 2014 to April 2015.
This year the Mission of the EPICS V4 working group is to support high performance data processing, particularly of area detector data, and to develop several mechanisms to make it easier for high level applications to manage groups of PVs (aggregates). Additionally, we will start development of a gateway, so that aggregate data and data processing may be housed anywhere in classical EPICS networking infrastructures.
The EPICS V4 working group is directly supported by Brookhaven Lab (BNL), and collaborating organizations, subject to their following the mission, goals, and expected deliverables, of this Charter, and following the EPICS V4 Process as the work method. Conformance to and agreement with this Charter is required for participation in the working group.
In the timespan of this charter it is still expected that in an EPICS installation, core control and hardware module support would continue to be done with EPICS V3 IOCs. Very little if any direct changes will be made this year to the core processing of the IOC.
Previous work in V4 created an EPICS "middle layer" for "Service Oriented Architecture" based operations. That work is now largely complete.
In this charter period we will enable easier access to associated PVs, so a client deals with 1 PV which "expands to" a number of others, for instance 1 beam position monitor (BPM) PV may be valued "X,Y,current" to express the horizontal and vertical beam offset, plus the signal strength at the BPMs position.
Scope for this year's charter is specifically extended to the IOC level, where we will complete integration with vxWorks and interoperation with the classic EPICS IOC. How mach effort on vxWorks? Who would that benefit? Need a partner to test pvDatabase and db* modules on IOC, otherwise vxWorks should be best effort..
We intend to improve the EPICS IOC's suitability and performance as a scientific instrument data processing pipeline, specifically for fast detector image data, and to greatly improve facilities for clients to deal with these data.
Note that, as last year, our primary focus is on definition of standard behavior through normative documents of the Working Group, informed by the development of software which implements the behavior. As last year, we shall supply reference implementations for these standards. It is to be expected that in some respects, reference implementations may trail the standard.
The goals of the Working Group over the charter lifetime are to be:
Interoperability of the new communications protocol pvAccess, with the classic IOC has so far been supported very well.
EPICS V4 endpoints must continue to be interoperable with EPICS v3 IOCs. This interoperability must be both interlayer (classic IOC ⇔ pva client) and intralayer (V3 IOC ⇔ "embedded pvDatabase"). PvAccess must run in version 3 IOCs and serve all v3 type structures.
We will add ability to get or put a collection of V3 channels (dbGroup) synchronously (so long as they are all in the same lockset) as a result of 1 V4 channel operation.
This mechanism must satisfy the expected use case of device control including EPICS V4 for the foreseeable future; in which device control will continue to be through EPICS "V3" IOC (or simply "the IOC" since it is also a V4 IOC), with control wire protocols and client sides in EPICS V4. Presently it is still the position of the WG that device control is not in the scope of the WG.
Each normative standard must be demonstrated to be interoperable with adjacent layers in the EPICS v4 protocol stack by production of, and testing, at least one implementation, in each of C++ and Java, from device to client (end to end).
Need more from David
The following minimum performance goals are unchanged from last years charter. Last year we achieved these goals; this year we intend to certify, and documenting their achievement particularly for streams over network connections and in the context of image processing and archiving:
We shall publish the performance measurement data and micro-benchmark test framework for pvAccess, including documentation.
Shall we also write and publish to EPICS community, a performance report, comparing EPICS v3 to EPICS V4 for some common EPICS v3 control and read tasks. What have we learnt from micro-benchmarking?
The following are out of scope for the group specifically:
Derived from the goals above, success criteria are at least:
The outputs of the working group will be delivered as a system of documented standards, plus reference implementation source code where relevant. These documents and source codes will all be available from the EPICS V4 web site, http://epics-pvdata.sourceforge.net/.
The group is expected to produce the following normative deliverables WG to agree:
To be added.
The Working Group should coordinate and align objectives to satisfy the requirements of the following bodies:
Effective participation is expected to consume 20% of one's time; though this may be more during development of a normative product of the group. The Chair shall ensure that the criteria for Good Standing are understood and followed:
The group is expected to have at least 4 active participants to be successful.
A participant who is absent from more than 3 meetings consecutively, or in the opinion of the chairs is not acting on Action Items or their responsibilities for group deliverables, will be deemed out of good standing, and will no longer participate.
The chairs of this Group are Greg White (SLAC) and Andrew Johnson (APS).
The Group will have distributed meetings, one to two hours every week, and face–to–face meetings, every three or four months.
The Working Group will utilize the mailing list, epics-pvdata-devel@lists.sourceforge.net. All except the most trivial messages should be cc'ed to this mailing list. The web archive of it used should be used as backward references in communications.
The proceedings of this Working Group are open to all (not just members of the working group), subject to exceptions made by the Chairs, after consultation with the Working Group. The group's communications on the web archive will be world readable. Posting to epics-pvdata-devel@lists.sourceforge.net will be unrestricted for members, but moderated for non-members.
This Working Group operates under EPICS Open License.