JCOP FWWG 8 September 2026: FSM

Europe/Zurich
42/3-002 (CERN)

42/3-002

CERN

24
Show room on map
Zoom Meeting ID
64027281201
Host
Piotr Golonka
Useful links
Join via phone
Zoom URL

JCOP FWWG 8 Sept 2026

 

New fwFSM features

Clara Gaspar presented the new SMI features that get integrated into FwFSM component, notbably

  • functions - used when you have repeated code in many actions; there is a new editor for the list of functions (which are edited per-type), in the same place where one edited the actions (it is a combo box there).
  • passing objects as parameters of methods - as usually done; when an action needs a param, it pops up a window asking for the value
  • FOR loops; note that the order of elements is determined by the order of objects in the FSM tree (so that it is always deterministic, even if currently some devices are excluded and re-included etc).
  • Inheritance of types ("classes" in the SMI terminology); the States and Actions panel now shows not only "Copy from Type" but also "Inherit from Type"'; one may add actions, states, logic; inherited non-modified ones are shown in the list as greyed-out
    • In the past this was already possible in FwFSM to have a kind of "customized" or "derived" type: type names ending with "__&<speciality>" used a lot in LHCb, not known elsewhere.
    • We need a better phrasing for "From the parent perspective..." selector. Consider: "Objects of this type belong to the set of base type" or "...the set of its own type"

Note that the new functionality required the modification of internal DPTypes used by FwFSM. You need to update it (done by the component update).

The functionality has not yet been fully completed and released. Will be announced when ready.

Agreed that the new functionality (such as inheritance) is too complex to be taught at the FSM Training course; some minor elements may be improved and training material screenshots touched up.

A question was asked whether there is a kind of a "wizard" to help developing the SMI code within FwFsm - Clara demonstrated it explaining that this was created much before any AI was available...

 

Trending the FSM states

uaredMariusz demonstrated a proof of concept showing how the new "event curves" of the trending widget could be used to show a "trend" of FSM states;

  • integration into the FSM tree: show the state of the node and its children; the "trend ruler" shows nicely the state names.
  • superimposing the FSM state with a plot of another value (possibly also not directly related

There were some solutions in ALICE and LHCb attempting to plot the states in the past, but the new feature that was demonstrated seems to be much better suited.

Clara stressed that now that we have the way for nice trending of states, it makes sense to start archiving them. 

A question was asked on how one could configure such plots already. Mariusz explained that the API to retrieve the states data is already done, hence configuring such trend in a programatic way should require no more than a few lines of code. However, we agreed that it would make sense to have this integrated into the configuration panel of the Trending Tool, as this is a feature that would very likely be used, and creating pages of such plots would be very useful

Mariusz to report more on the integration of this feature during this autumn.

 

WebUI: prototype of the FSM tree visualization widget

Robin presented a quick overview of the mechanisms behind the new WebUI, and the way one could integrate new WebComponents.

Then he demonstrated a proof of concept of the widget visualizing the FSM tree (or subtree), with rectangles coloured according to FSM states, and auto-discovering the tree structure in a recursive way. A hybrid approach whee the NodeJS calls the CTRL API of FwFSM allows to reuse the existing business logic and easily retrieve necessary data at a high level, with no need to parse the values of datapoints. This functionality, exposed as a REST endpoint via the same NodeJS manager that serves the dashboard/WebUI could be thought about as a generic way to get the FSM data into the Web applications (or, eg. MCP servers, etc) - the idea acknowledged as interesting by the participants

Robin will proceed with further work on this prototype, notably to extend it to visualize the Device Units as well as do some scalability test and demonstrate it scales with ~1000 nodes, etc.

 

FSMverif: formal checking of FSM trees

Filippo updated us on the status of his "FSMverif" project, providing proofing or formal verification of FSM trees and SMI types. Initial version of the tools: static code analyser and fuzzer already demonstrate the approach in which these two work in a loop, potentially employing some AI that would guide the generation of the fuzzing data sets in a "smart" way, based on the outputs of the static-code analysis reports.

The audience acknowledged that the project, even if at its early stage, would be very interesting to proceed with, aiming at being able to test/proof the FSMs prior to the LHC restart.

A related activity of static-code-analysis is also being conducted at ALICE, and could be presented at one of the next FWWG  meetings. It would surely be useful to establish the contact between the two

 

AOB

Next JCOP FWWG: 15 September, with the topics:

  • BE/CSS will present the new Web-based DIP browser
  • Rafal and the NGA team will present the integration of the new NGA features (continuous agregates, hints for selection of queried backend) for the trending tool

 

There are minutes attached to this event. Show them.