IAR Visual State
Design And Code Generation Is Part Of IAR's Platform
IAR Visual State is a set of fully integrated development tools for designing, testing and implementing embedded applications based on state machine models.
Key Benefits
IAR Visual State enables graphical design, code reuse, verification, and target-independent integration.
Intuitive Development
Graphical state machine make application logic easy to create, understand, and modify. They enable an iterative workflow where states in the machine correspond to states in the application, ensuring a natural development process while improving clarity and communication
Simplified Maintenance and Reuse
Focusing on design logic instead of writing code makes maintenance more efficient. State machine models can be reused in similar applications with minimal effort, reducing development time while ensuring consistency across projects with complex logic
Support for High-Integrity Systems
IAR Visual State's generated code can be made MISRA C/C++ compliant and supports functional safety designs, including IEC-61508 compliance. Its formal verification detects unreachable states, dead-ends, and unconsumed inputs, making it easier to identify design flaws that traditional test suites might miss
Target-Independent Code
The generated C and C++ code runs on any platform with a standard compiler. Since it doesn't rely on compiler-specific features, it ensures flexibility and portability across embedded systems, while C# and Java support enables cross-platform development in diverse software environments
Features
IAR Visual State supports RTOS integration, code generation, simulation, verification, and variant management, helping development teams enhance efficiency, reliability, and software design.
RTOS Friendly
The generated code integrates seamlessly with RTOS environments. Customers can design control logic using IAR Visual State and assign state machines to RTOS tasks, allowing flexible distribution of tasks across multiple systems while maintaining efficiency and modularity
Two Code APIs
Choose between human-readable code for traceability or compact table-based code for efficiency. The readable format provides a clear mapping from state machine to code, while the table-based approach optimizes size and execution performance
Product Variant Support
Define multiple product variants efficiently while maintaining a shared base design. IAR Visual State allows conditional feature management, reducing the need for separate development tracks while ensuring consistency and maintainability across different product versions
Built-In Formal Verification
Identify hard-to-test issues like unreachable states and blocking conditions. The verification engine detects unintended design flaws early, ensuring more reliable C, C++, C#, or Java implementations that would be difficult to uncover through traditional testing methods
Execution Simulation
The Visual State Simulator provides animated debugging, state machine tracing, and dynamic/static analysis. It offers step-by-step execution insights, helping developers visualize task interactions and system behavior for improved debugging and design validation
IAR Supported Standards

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
Third Party Integration
Connect with external tools and development environments to enhance flexibility and interoperability.
Code Integration
Generated code integrates seamlessly with applications built using RAD tools like Microsoft Visual C++ or other GUI toolchains
State Machine API
An open C-based API allows access to models from various programming languages
Control Center
Visual State Control Center provides third-party products with an interface to IAR Visual State. Among other things, the Control Center can be used for remote simulation of your state machine model