The customer is one of the world’s largest manufacturers of embedded systems for industrial buildings, delivering state-of-the-art security and safety solutions all over the globe. The customer planned to develop a cutting-edge life safety system that would meet European and American industrial safety standards. A fully automated fire security system for Smart Building would further strengthen the customer’s position in the fire and life safety industry.
The customer had the objective of developing a flexible, modular, and highly reliable system, which would be easy to use for the end users. The system itself should be a kind of constructor of various purposes operating modules. The modules are controlled by the main logical node, but also have their own standalone logic for extreme situations.
Orion had to develop the firmware and software for one of the very first modules in the planned production lineup. The development team had to design the software architecture of the module, including interaction with other system parts, and then implement it in code. It included interaction with OS, communication with the main logical node, handling of externally connected devices, and a few more auxiliary tasks. Since the customer planned to reuse the solution in other modules later, it was necessary to create a flexible generic solution that could be adapted when needed.
We developed the solution within the object-oriented paradigm involving widely used design patterns. After discussing the proposed solution with the customer and making corrections, the engineering team implemented the first version of the software. Leveraging the full potential of modern C++, our experts carried out the development in a very short time. The resulting solution was reusable, and the customer could easily expand it in the future.
After the demonstration of the first working version, the development team received a list of modifications. They were aimed to extend the existing functionality and make the operating module more smart and reliable.
In addition to developing software for the module, our experts proposed their vision of how testing of these modules could be fully automated. The team members designed the devices, which simulate the operation of real external equipment. Using a simple protocol for interacting with these simulators, we could develop a test framework that would eliminate the need for human participation in the system testing process. The customer appreciated this idea, so an additional task was the full-stack development of tools for testing the modules and the entire fire security system.
We provided the solution meeting all customer’s initial requirements and allowing to solve new incoming challenges. The customer was satisfied with the high quality of the solution and entrusted our engineers with developing another module within the same life-safety system. During the implementation of the interaction with the main logical node, the developers showed their competencies and provided the customer with a detailed analysis of the existing solution’s shortcomings, as well as the parts to be optimized and improved.
The first module was successfully tested using the testing framework developed by our team of engineers. Our specialists continue to work to improve and expand the functionality of the testing system.
Functions – Module
- Control of external input/output devices
- External device fault detection
- Communication with the main logical node
- Serial and Ethernet working interface
Functions – Testing Framework
- Simulations of the main logical node
- Simulations of external input/output devices
- High-level test scenario
- Integration with existing CI system
- Detailed reports and statistics
- Python (Testing)
- Robot Framework