With Safety+, B&R, a division of ABB, offers an innovative, open approach to programming safety functions. It enables developers to use the latest software engineering tools and techniques for security applications. Innovative data structures with digital fingerprints allow free access to source code while at the same time meeting the special requirements of functional safety. In this way, B&R is overcoming the hurdles that stood in the way of innovation in security programming.
Programming security in an agile and transparent way
“With Safety+, we are for the first time offering an open programming system that enables our customers to use the advanced tools and methods they are familiar with in standard programming,” explains Franz Kaufleitner, safety product manager at B&R, ABB’s machine automation division. “It enables more efficient and flexible development of security applications.”
Three key features enable increased productivity when programming safety-related applications: an innovative data architecture, a flexible choice of languages and data types, and the use of standard programming tools and processes.
Every file has a digital fingerprint
A key new feature of Safety+ is its innovative data architecture. Data is stored in a freely accessible format and every change is documented. Source files are stored in an open, text-based code repository in formats such as XML and JSON. To ensure the integrity of the program code despite its openness, each file receives a digital fingerprint that indicates when something has been changed. Complemented by detailed metadata, it is completely transparent what was changed, when and by whom.
What is new in the Security Programming System is that this metadata does not only refer to the entire security application. Engineers can now trace every change down to the level of function blocks and parameter sets, enabling more targeted code optimization. This makes the development of security features more agile and easier to adapt to changing user needs.
Standards increase programming productivity
In addition to the new data architecture, the new openness of Safety+ allows engineers to build and manage safety applications using third-party tools and platforms. “Integrating security programming into common tools such as GitHub and Jenkins gives developers more flexibility,” says Kaufleitner. “This simplifies the development process and also promotes collaboration and interaction within the developer community.”
A command line interface (CLI) can be used for automatic build generation and continuous integration, allowing developers to interact directly with the software in headless mode and work efficiently with program code.
More programming options and data types
As a third major innovation, Safety+ also offers new freedom in the choice of programming language and application-specific fine-tuning when programming with data types. Until now, developers of functional safety applications were limited in their choice of programming language and data types, which negatively affected development time and flexibility.
Safety+ offers engineers a wide range of programming options, including function blocks, ladder diagrams, and structured text. Safety+ removes previous limitations on data types and supports elements such as arrays, structures and real data types that are standard in non-safety programming. “Safety+ gives developers the freedom they need to create innovative and efficient safety solutions,” Kaufleitner emphasizes. “I think it’s fair to say that we’re talking about a small revolution in programming safety functions.”
Previously, systems used to develop functional safety applications used proprietary encrypted file systems. These protected applications from unauthorized modifications, but also prevented the use of common software tools and techniques that improve productivity.