IAR Visual State Tool
IAR Visual State is a set of fully integrated development tools for designing, testing, and implementing embedded applications based on state machine models.
Our brands

Our brands

Related articles

Spotlight: The QSMP 23 – Edge AI in a Compact Package
We are excited to introduce the QSMP 23, Ka Ro Electronics’ latest low cost, high performance Computer on Module (COM), now available in the compact QSMP family. At its core is the powerful STM32MP235C, featuring...
Read more
Percepio Tracealyzer Summer Offer – Extended Until 1 September
Read more
PRESS RELEASE – Logic Technology Appointed European Distributor for Lattix by CodeClinic
Read more
PRESS RELEASE – Logic Technology Becomes Official SEGGER Distributor in the Benelux
Read more
5 Reasons Why Zephyr RTOS Will Rule the Embedded World
Read more

Purpose of Visual State
The tool's primary purpose is to manage the complexity of reactive systems (where system behavior depends on both input and the current state), such as user interfaces, communication protocols, and control systems.
Key benefits
- Graphical Design: It allows developers to graphically design state machines using a subset of the Unified Modeling Language (UML) state chart notation. This visual approach makes complex application logic easier to create, understand, and communicate across a team.
- Automatic Code Generation: The key function is the automatic generation of high-quality, production-ready source code (C, C++, C#, or Java) directly from the visual state machine model. This code is guaranteed to be 100% consistent with the design.
- Verification and Validation: It includes powerful tools for formal verification and simulation:
- Formal Verification: Analyzes the design model to mathematically detect hard-to-find issues like dead-ends, unreachable states, or unintended blocking conditions that might be missed by traditional testing.
- Simulation: Allows developers to test and validate the state machine's behavior before any hardware is available.
- Compliance: The generated C/C++ code can be made MISRA C/C++ compliant and supports designs for functional safety standards like IEC 61508, further aligning with IAR's core strengths.
Integration with Embedded Workbench
The integration between IAR Visual State and IAR Embedded Workbench provides a high-level, design-centric debugging experience:
- Automatic File Handling: When a project connection file from Visual State is included in the Embedded Workbench IDE, the generated C/C++ source files are automatically managed by the build system.
- Graphical Debugging (C-SPY Link): The C-SPY Link plugin enables direct communication between the Visual State model and the IAR C-SPY Debugger. This allows the developer to:
- Visualize Execution: The state machine diagram is graphically animated in real-time during hardware debugging, instantly showing the active state and the transition that occurred.
- High-Level Breakpoints: Developers can set breakpoints on state machine events or states directly in the graphical model, instead of having to hunt through the generated C-code.
This tight integration allows engineers to debug in the domain of the design logic, rather than struggling with low-level implementation details, significantly accelerating the debugging of complex system behaviors.
System Developer Advantages
Developers can spend their time on what the system should do (the state transitions, events, and actions) rather than how to implement the state machine structure itself (the complex nested if/else or switch structures).
you stay in the high-level domain, focusing on the state machine design, instead of low-level implementation details
Early Error Detection and Guaranteed Correctness
The formal verification engine is a game-changer for complex and safety-critical systems. It finds design flaws that are virtually impossible to uncover with traditional test suites.
Accelerated Debugging and Time-to-Market
The seamless integration with IAR Embedded Workbench's C-SPY debugger eliminates one of the biggest bottlenecks in complex embedded development: correlating a low-level code bug back to a high-level logic error.
Easier Team Collaboration and Scaling
The graphical model serves as the single source of truth and a universal language that can be understood by team members with different skill sets (hardware engineers, software architects, application developers).

André De Ceuninck
Software Quality | Testing | Certification
IAR Visual State has been developed in accordance with the UML notation, but can also be used for designing state/event systems compliant with the Mealy notation. All generated code C/C++ constructs adhere to ISO/ANSI C and can comply with MISRA-C:2004, MISRA-C:2012, and MISRA-C++:2008. C# and Java code follow structured programming principles for maintainability.