EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Network Accessable Types
From: Ralph Lange <[email protected]>
To: EPICS Core Talk <[email protected]>
Date: Tue, 26 Jul 2005 11:49:11 +0200

Any comments or arguments about placing these requirements on CA?

  1. Each version of the CA protocol SHALL document which data
  types it supports for transporting properties over the wire.

  2. Each version of every implementation of the CA library,
  server or client, whatever language it supports, SHALL
  document which version of the protocol it supports, and how
  the on-the-wire data types from the protocol are mapped to
  the data types provided by that language.

  3. A client application written in any language SHALL be able
  to find out the on-the-wire data type which is used to send
  any specific property being received through the CA transport.

Note that in #3 I'm *not* requiring CA to be able to transport the type of the property as implemented in the language of the server, only the on-the-wire representation it supplies for that property.

Since different languages support different sets of types and may map several different on-the-wire types to the same language-specific type, some language implementations will have to to encode the wire-type into something that can be represented as a *value* in a language-specific data type. It would seem sensible to be able to reuse the same value that is used internally by the network transport, suitably converted.

I have the feeling we are mixing up things that belong to different layers here.

While I generally agree with your requirements and descriptions, I don't think we should make the network layer's on-the-wire types the central type-defining instance. Let me give two reasons: 1. Learning the native type of data is part of the DA interface. The DA interface is purely about data and does not have any notion of network transport. An application may access things within a library or through shared memory using DA without any network involved. Why should a certain network layer define the data types when no network is used? 2. Not only may a language map different on-the-wire types to the same language-specific type, CA (or another network layer) itself might consider to map different language specific-types to the same on-the-wire type. In that case I would like the client to know the real original native type of data on the server side and /not/ what something inbetween chose to use for network transport.

I see the next generation CA as a transparent network transport layer for DA accessible data, so that the DA interface works the same local and via network. A client application should not have to know and should not even care what on-the-wire types CA uses to transport stuff.

I.e., we still need a well-defined extensible set of data types and should continue the discussion how this should be implemented. But: I would rather like to keep that set-of-types definition completely independent from CA.

A CA (or any other network transport) server should be free to choose the on-the-wire representation for any given DA accessible data, based on the native types that it gets from the surveyor. It should transparently forward the original native type info to the client side, so that a client app gets the same results from the surveyor when reading over the network as when reading locally.

Does that make sense?

Ralph


Replies:
Re: Network Accessable Types Kay-Uwe Kasemir
Re: Network Accessable Types Andrew Johnson
References:
RE: Network Accessable Types Jeff Hill
Re: Network Accessable Types Marty Kraimer
Re: Network Accessable Types Andrew Johnson

Navigate by Date:
Prev: Data Interfaces Kay-Uwe Kasemir
Next: Re: Network Accessable Types Kay-Uwe Kasemir
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Network Accessable Types Andrew Johnson
Next: Re: Network Accessable Types Kay-Uwe Kasemir
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·