Introduction

This document serves as a general guide for the ICS Framework (IFW) version 2026, aiming to provide an updated ELT software stack for instrument developers. The framework is intended as a toolkit to assist instrument developers in implementing their control systems. The IFW has been validated with the following ELT packages:

  • ELT Development Environment 7.0.1 (AlmaLinux 10.2)

  • CII MAL 6.1.0

  • CII Services 6.0.0

Note

From version 2024 onward, IFW changed the versioning scheme from a correlative number to a version based on the year.

Scope

This document is the transfer document for the ELT ICS Framework version 2026. The intended audience are ELT users, consortia developers, software quality assurance engineers or general users of this framework.

Acronyms

DB

Database

CCF

Camera Control Framework

CCS

Central Control System

DAQ

Data Acquisition

DDT

Data Display Tool

ELT

Extremely Large Telescope

ETR

Extensible Test Runner

FCF

Function Control Framework

FCS

Function Control System

GUI

Graphical User Interface

HLCC

High Level Coordination and Control

ICS

Instrument Control System

IFW

ICS Framework

ODP

Online Data Processing

OLDB

Online DB

OTTO

The new observing tool: Otto Tackles Telescope Observations

PLC

Programmable Logic Controller

RAD

Rapid Application Development

SEQ

Sequencer

SLM

Secondary Loop Manager

SUP

Supervisor

Overview

The framework components included in version 2026 are listed in the release notes Release Notes.

Components by Layer

The IFW is divided into several RPM packages built from independent Git repositories located under the same group in the ESO GitLab. IFW repositories could be organized by architectural layers. Components may depend on components from the same layers or beneath them.

IFW package dependency diagram showing architectural layers

IFW Git Packages.

Foundation and Infrastructure The base libraries and application frameworks that all other components build upon.

rad

Rapid Application Development framework. Event-driven applications based on callbacks or state machines. This is the base for all C++ servers.

ifw-core

Core shared libraries (ctd, dit, stoo), utility libraries, logger, and core definitions. Central foundation for all IFW components.

ifw-fnd

Fundamental shared definitions. Includes iComm adapter interfaces and the log4cplus bridge used across the framework.

ifw-rtmslib

RTMS Library for LLNETIO communication. Used by ifw-ccf and ifw-fgf.

ddt

Data Display Tool. Libraries and tools for detector data transfer, display, and manipulation. Includes DDT broker and DDT Viewer.

ifw-wdglib

Reusable GUI widget library for representing physical or logical system functions in panels.

uatools

OPC UA wrapper library (ualib) and tools, including the UaExplorer browser. Replaces the old OPC UA base in ifw-core.

Device and Function Control Components for controlling instrument hardware devices via OPC UA communication with PLCs.

ifw-fcf

Function Control Framework core. Device Manager controlling hardware devices.

ifw-fcfif

CII interface definitions for FCF. Separated from ifw-fcf to provide a standalone interface module.

ifw-fcfui

FCF user interfaces and Python client library. Separated from ifw-fcf.

ifw-fcfsim

New device simulator framework for FCF. Replaces the simulator framework in ifw-fcfif.

ifw-ll

PLC libraries code and Visual Studio source projects for TwinCAT 3.1 (4024, 4026).

ifw-resource

PLC libraries and tools (4024, 4026).

Note

The ifw-ll stores mainly PLC Visual Studio projects.

Camera and Detector Control Components for camera data acquisition and detector communication.

ifw-ccf

Camera Control Framework. GenICam/GigE Vision and ENVision OPC UA adapters, ROI control, and DDT publishing.

ifw-ccfui

CCF Engineering GUI (ccfGui). Separated from ifw-ccf.

ifw-fgf

Frame Grabber Framework for detector data acquisition hardware.

camcom

Camera Communication Toolkit. Simplifies implementation of camera communication interfaces.

Observation Coordination High-level coordination of observations, template library and image analysis.

ifw-daq

Data Acquisition component. Includes daqOcmServer, daqDpmServer, data history, and MAL resource management.

ifw-daqif

Interface definitions and libraries for the Data Acquisition component.

ifw-sup

System Supervisor. High-level coordination manager for all ICS subsystems.

ifw-supif

Interface definitions and libraries for the System Supervisor. Separated from ifw-sup.

ifw-slm

Secondary Loop Manager. Eases implementation of slow loops, especially in adaptive optics systems.

ifw-slmif

Interface definitions for Secondary Loop Manager.

ifw-tpl

Template Library. Common interface for instrument templates.

ifw-odp

Online Data Processing for real-time science data processing. Integrates with DDT and CPL.

Scripting, and Tooling General purpose tools and observatory scripting.

seq

Sequencer engine for executing observation blocks and engineering scripts. Includes CLI and GUI (seqtool).

etr

Extensible Test Runner. Supports Robot Framework tests, Jinja2 templating, and Nomad deployment.

ifw-rtmstools

RTMS tools for instrument control and communication utilities.

ifw-calob

Calibration Framework for instrument calibration observation handling.

ifw-iptool

Instrument Package Tool for preparing template signature files and instrument packages.

xarch

Cross-Architecture Archive Facility. Organizes data products and provides web-based retrieval interface.

Warning

Disclaimer: ESO does not warrant that the functions contained in version 2026 of the ICS Framework will meet all requirements or that the operation of their components and libraries will be flawless.

ESO does not ensure that solutions included in version 2026 are not subject to changes in future releases.

While every precaution has been taken in the development of the ICS Framework software and in the preparation of the documentation, ESO assumes no responsibility for errors or omissions, or for damage resulting from the use of the software or of the information contained in the documentation.

Note

Starting with version 2026, the ICS Framework is distributed under the GNU Lesser General Public License v3.0 (LGPL v3.0). A LICENSE file containing the full terms is included in each IFW repository.

The rights of third party products, whose software is for convenience included in the development environment, are ruled by their copyright notice included in their software.