The System Software team consists of Laura King, Jesse Bellister, Doug Murray, and Nolan Stelter.

Our Responsibilities

PyDM

PyDM is a PyQt-based framework for building user interfaces for control systems. The goal is to provide a no-code, drag-and-drop system to make simple screens, as well as a straightforward Python framework to build complex applications.

https://github.com/slaclab/pydm


Alarms

NALMS is an alarm system application designed for availability, integrability, and extensibility. The NALMS development was driven by SLAC's efforts to replace the Alarm Handler, due for deprecation as a Motif-based application, and to introduce process improvements addressing hierarchy implementation overhead, limited operator engagement, and operator display integration.


https://github.com/slaclab/nalms


SLAC Alarm Manager is a user interface for monitoring and managing alarms written in Python. It is a frontend display for NALMS and requires a running NALMS deployment to interact with. 

https://github.com/slaclab/slac-alarm-manager


The alarm system is deployed into a Kubernetes vcluster running in S3DF. The manifest files for deployment are available here:

https://github.com/slaclab/nalms-deployment


Message Logging System

Currently in-progress, we are updating the message logging system at SLAC to move away from oracle/java on the accelerator side, to a promtail/loki based solution where all log data will end up in a loki instance within S3DF. The experiment side will also move to this system.

https://docs.google.com/document/d/1FZ5ayzbWw6qLwd5kOxurLNnHwgji3fQSzzVXPGl3738/


Machine Protection System Server/DB

Accelerator side:

https://github.com/slaclab/mps_history

https://github.com/slaclab/mps_database

Photon side:

https://github.com/pcdshub/pmps-db

EPICS Base

Maintenance and upgrades on both accelerator and experiment sides. Currently afs repos with many (100+) SLAC specific changes on top of the community releases. PCDS is moving to using github as the primary workflow for updates (https://github.com/slac-epics/epics-base)

EPICS Extensions

Maintenance as well as pulling in updates from the community. Also push fixes for issues back to the community.

https://confluence.slac.stanford.edu/display/ppareg/EPICS+Extensions

EPICS Gateways

Support EPICS gateway installation including upgrade to new EPICS 7 PVA gateways using p4p.

EPICS Gateways

EPICS Training

In collaboration with Tasha Summers. Training provided should be dependent on the role of the person receiving the training.

EPICS Training Material

Accelerator Side Conda Environments

Manage the conda environments provided for users on the accelerator side of the lab. Intended to be "one size fits all" environments that work well no matter the role of the end user (IOC developer, HLA developer, physicist, machine learning researcher, etc..). Fits into the turnkey philosophy of our environment setups where things should just work upon login. Not intended to be completely restrictive however, users are of course free to make their own specialized ones as needed.

https://github.com/slaclab/lcls-python3.8-env

LCLS Python Environments (needs updating)


K2EG

Currently in an advising role, will eventually take over.

A c++ implementation of a two way gateway from kafka and EPICS Control Systems, that aims to be a central processing unit for specific daq needs for high level algorithms.


Lume

Support deployment of workflows for "digital twin" into S3DF.

Team Meetings

Thursday, March 9, 2023Click Here for Meeting Minutes
  • No labels