css5 Thermofisher SECS/GEM Log Tool
Project description
The aim of this project is to build a tool that turns raw SECS/GEM logs into clear and useful insight. The tool supports importing and normalizing logs, transforming them into more human-readable output, validating behavior with rules, comparing reference and actual runs, and visualizing results.
Context
Thermo Fisher Scientific develops TEM (Transmission Electron Microscopy) tools used in semiconductor factories and research labs for atomic-scale analysis. In customer factories, these tools need to communicate with the Manufacturing Execution System (MES) to control jobs, exchange data, report results, and support automation. This communication is typically done through the SECS/GEM standard.
Although SECS/GEM is a standard, its practical implementation can differ between tools, customers, and use cases. Because of this, engineers rely heavily on SECS/GEM logs to understand what happened during communication between the factory host and the equipment. These logs are important for troubleshooting issues, checking compatibility, validating test results, and comparing expected behavior with actual behavior.
However, a large amount of SECS/GEM logs can be difficult and time-consuming to analyze manually. They are often verbose, low-level, available in different formats, and not always semantically consistent. This makes it hard for engineers to quickly identify issue causes and validate whether the system behaved correctly.
Results
The group was able to create a proof-of-concept application with limited features.
Currently, the features we have within the application are:
- Importing log files and storing them in a database
- Rejecting duplicate log messages
- Dissect SECS/GEM Data Item/Payload into smaller important data
- Converting the data into a Grafana ready database to look into the time intervals of each message
- Validate messages against a specified rule
- Comparing two log messages to look for differences
This application would help the client and his team in analyzing the log messages, as it saves them time to work on other things than to look at the log messages line by line. It also helps them quickly identify issues within the log messages as it is now stored as data inside of a database as opposed to a Log Message text file.
About the project group
All of the students in the project have a background in the Software profile. The project was carried out using the Agile methodology and over several sprints, where the group planned tasks, divided responsibilities, implemented features, tested work, and reviewed progress together. Daily stand-up meetings were conducted to stay transparent, discuss blockers, and track progress inside the team. Weekly client meetings and Sprint Reviews served as important feedback moments and helped the group present progress to teachers and stakeholders. The project was worked on 4 days a week – 3 on site and 1 online.
One of the main challenge for the group was to understand the SECS/GEM domain. Since this was a new and technical domain for the team, time was spent researching the standard, analyzing example logs, asking questions during client meetings, and gradually translating the domain knowledge into software requirements and features.
Main values in the group were open communication and collaboration. Team members supported each other by sharing knowledge, reviewing pull requests, discussing design choices, and giving feedback. This helped the group improve both the quality of the project and the way the team worked together.