pymeasure / leco-protocol

Design notes for a generic communication protocol to control experiments and measurement hardware
https://leco-laboratory-experiment-control-protocol.readthedocs.io
MIT License
6 stars 3 forks source link

Current pymeasure architecture v0.11 #26

Open mcdo0486 opened 1 year ago

mcdo0486 commented 1 year ago

This PR outlines the current Pymeasure architecture as of v0.11 in the terms of the current glossary.

It includes component definitions and a diagram of the implementation. Also added is a template to capture current architectures or proposed architectures.

Interfaces are added to glossary and its own file. A component interfaces with other compoenents via an Interface. Examples are queue.py threads and zmq.

Messages are added, but only initial ideas. Messages are the input and output of a Component, via an Interface. They can be thought of as a pub/sub topic.

bilderbuchi commented 1 year ago

Hey!

Thanks for that overview, this will be useful later!

In general, as outlined in the contributions section, it makes more sense to open an issue for discussion before opening a PR. :-)

We can pick stuff from here and later integrate into the specification structure, but this duplicates/collides with some stuff we are currently in the process of formulating -- we are still in the phase of nailing down terms and the rough structure.

I propose we keep this around and integrate it a bit later. What do you think?

mcdo0486 commented 1 year ago

Gotcha, I had been working on this before the contribution doc, and this PR is not meant to be authoritative. Getting an initial "architectures" folder w/ an initial template will be helpful for grounding the discussion. I think it is helpful to view the current pymeasure architecture in the terms that are defined in the glossary, it will help highlight differences of approach of what we have now and where we want to go.