AdaCore and Ferrous Systems have partnered to develop Ferrocene, a safety-qualified Rust toolchain. The Ferrocene toolsuite includes the compiler, an Integrated Development Environment, debugger, build manager, and a set of libraries and tools. Ferrocene aims to support the long-term needs of high integrity regulated markets, such as automotive, avionics, space, and rail.
The importance of safety-critical software is increasing across a growing range of industries, and the systems requiring certification are more complex than ever before. Ferrocene will arm Rust developers with the right tools and simplify certification, enabling new systems to be safely brought to market faster.
Why Rust?
Rust is a programming language designed for performance and safety, created to help developers build dependable, efficient software. Its syntax is easy to understand for people with a C or C++ background. However, like Ada, it has a greater emphasis on code safety, including areas such as safe concurrency, vulnerability prevention, and memory management.
For over 25 years, AdaCore has been committed to supporting the needs of the safety- and mission-critical industries. AdaCore initially focused on Ada, a state-of-the-art programming language designed specifically for developing long-lived, safety-critical, certified software. Over the years, this focus has extended beyond Ada language to its formally verifiable SPARK subset, C and C++, and Simulink and Stateflow models. Now, AdaCore is partnering with Ferrous Systems to extend its expertise around safety-certified toolchains to the Rust safety community, complementing its long-standing commitment to high integrity languages.
An Integrated Rust Toolchain for Embedded Applications
Ferrocene will be made available to fit the needs of embedded high-integrity or real-time applications. Projects in this industry are using a variety of target platforms and require a toolchain that is portable across generations of hardware and environments. For that reason, Ferrocene will be ported to a variety of processor architectures, running both on top of bare metal environments as well as various RTOSes.
Another aspect of industrial embedded application is that they need a toolchain under control for the duration of the system deployment, which can be counted from years to decades. Ferrocene versions will be maintained over a long period of time, allowing users to receive support, bug fixes as well as information on potential vulnerabilities through the life cycle of their projects.
Rust Certification & Qualification
Developing and certifying embedded software is both increasingly complex and mission critical. Companies must be able to balance speed to market and innovation with achieving safety, reliability, and certification requirements. To help businesses that want to harness the power of Rust in the context of safety-certified applications, AdaCore and Ferrous Systems are leveraging AdaCore’s extensive certification experience serving clients with safety standards requirements including:
AdaCore and Ferrous Systems are working towards bringing Rust into ASIL-D level environments. One of the first outcomes of this work is the publication of a Language Specification document available here.