EPICS Home

Experimental Physics and Industrial Control System


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

Subject: Re: EPICS vs. EPICS Base
From: "Johnson, Andrew N. via Tech-talk" <[email protected]>
To: "[email protected]" <[email protected]>
Date: Tue, 23 Jul 2019 16:50:19 +0000
On 7/22/19 4:01 PM, J. Lewis Muir via Tech-talk wrote:
It seems to me that the terms "EPICS" and "EPICS Base" are often used
interchangeably, yet they're not the same thing.  Are the following
definitions correct?

  EPICS: A specification of control system definitions and protocols.
EPICS isn't a specification, we generally call it a Control System Toolkit, and explain it in Intro talks to have 3 aspects: The collaboration, the distributed architecture, and the collection of software that can be used together.

  EPICS Base: A C/C++ implementation of the EPICS specification.
EPICS used to come as a monolithic software release which contained everything (the IOC, hardware support, sequencer, database development tools and X11-based GUI). When it was split up (around 3.12 IIRC) EPICS Base was the name used for the core IOC and network software, and EPICS Extensions for the collection of GUI and other tools.

If correct, then I'm OK with keeping the name EPICS Base, but I wonder
if a better name might be EPICS-C++?  Then, if desired, you could
have other implementations of the EPICS specification: EPICS-Java,
EPICS-Perl, EPICS-Python, EPICS-Ruby, etc.
There were C++ and Java implementation of some of the PVA modules and for those we included the language in the original module names, although those Java modules that are being used have now been combined into a single GitHub repository and the C++ modules are slowly losing that annotation. The core EPICS Base build system relies on Perl and comes with CA bindings for Perl scripts, but most of the Perl code can't be removed. There have been various re-implementations of the CA client and/or server libraries in other languages (for want of a better place I link to those from the EPICS Extensions page of the APS EPICS website), but I don't think anyone is likely to re-implement the IOC in other languages.

- Andrew
-- 
Complexity comes for free, Simplicity you have to work for.

References:
EPICS vs. EPICS Base J. Lewis Muir via Tech-talk

Navigate by Date:
Prev: Starting XY Graph with tools enabled by default? Tyler Lemon via Tech-talk
Next: Re: EPICS Base bin/<arch>/ca{get,info,monitor,put}.pl scripts Johnson, Andrew N. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: EPICS vs. EPICS Base J. Lewis Muir via Tech-talk
Next: EPICS Base bin/<arch>/ca{get,info,monitor,put}.pl scripts J. Lewis Muir via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024