
产品
IAR Visual State
设计与代码生成
IAR Visual State 是一款状态机建模工具,用于设计、测试和实施基于状态机模型的嵌入式应用程序 。
关键优势
IAR Visual State 支持图形化设计、代码重用、验证以及与目标平台无关代码的集成。

图形状态机使应用逻辑易于创建、理解和修改。图形状态机支持迭代工作流程,其中状态机中的状态与应用程序中的状态相对应,从而确保了自然的开发流程,同时提高了清晰度和交流性。

简化维护和重复使用
专注于设计逻辑而不是编写代码,可提高维护效率。状态机模型可以在类似的应用程序中重复使用(只需最小的工作量),从而缩短开发时间,同时确保具有复杂逻辑的项目之间的一致性。

支持高完整性系统
IAR Visual State 生成的代码符合 MISRA C/C++ 标准,支持功能安全设计,包括符合 IEC 61508 标准。其形式化验证可检测到无法达到的状态、死胡同和未使用的输入,从而更容易发现传统测试套件可能会遗漏的设计缺陷。

与目标平台无关的代码
生成的 C 和 C++ 代码可在任何使用标准编译器的平台上运行。由于它不依赖于编译器的特定功能,因此可确保嵌入式系统的灵活性和可移植性,同时支持 C# 和 Java,从而可以在不同的软件环境中进行跨平台开发。
特点
IAR Visual State 支持 RTOS 集成、代码生成、仿真、验证和变体管理,帮助开发团队提高效率、可靠性和软件设计。
RTOS 友好
生成的代码可与 RTOS 环境无缝集成。您可以使用 IAR Visual State 设计控制逻辑,并将状态机分配给 RTOS 任务,从而在保持效率和模块化的同时,在多个系统中灵活分配任务。
两种代码
您可以选择人类可读代码以实现可追溯性,也可以选择基于表格的紧凑型代码以提高效率。可读格式提供了从状态机到代码的清晰映射,而基于表的方法则优化了大小和执行性能。
运行模拟
模拟器提供动画调试、状态机跟踪和动态/静态分析。它提供逐步的执行洞察,帮助开发人员可视化任务交互和系统行为,以改进调试和设计验证。
内置形式化验证
识别难以测试的问题,如无法达到的状态和阻塞条件。验证引擎可以尽早检测设计中的意外缺陷,确保 C、C++、C# 或 Java 实现更可靠,而传统测试方法很难发现这些缺陷。
产品变体支持
有效定义多个产品变体,同时保持共享的基础设计。IAR Visual State 允许进行条件功能管理,减少了对独立开发轨道的需求,同时确保了不同产品版本之间的一致性和可维护性。
支持的标准

IAR Visual State 是 根据 UML 开发的 ,同时也可用于设计符合 Mealy 的状态/事件系统。

所有生成的 C/C++ 代码结构均符合 ISO/ANSI C 标准,并能遵守 MISRA-C:2004、MISRA-C:2012 和 MISRA-C++:2008。C# 和 Java 代码遵循结构化编程原则,具有可维护性。
第三方集成
与外部工具和开发环境连接,以增强灵活性和互操作性。
控制中心
控制中心为第三方产品提供了一个连接 IAR Visual State 的接口。除次之外,控制中心还可用于状态机模型的远程仿真。
状态机 API
基于 C 语言的开放式API允许通过各种编程语言访问模型。
代码集成
生成的代码与使用 RAD 工具(如 Microsoft® Visual C++® 或其他 GUI 工具链)构建的应用程序无缝集成。
常见问题
我需要修改生成的代码吗?
不需要。IAR Visual State 生成的代码专注于状态机系统的控制逻辑,设计始终是控制逻辑的唯一明确表达。模型与执行代码应保持严格同步,手动修改状态机代码可能会破坏其内部状态管理,增加难以排查的错误风险。
IAR Visual State 可以与现有开发环境集成吗?
可以,IAR Visual State 可以无缝集成到 IAR Embedded Workbench 及其他工具链中,支持嵌入式应用程序的顺畅设计到编码工作流程。
在 IAR Visual State 中使用状态机有何优势?
状态机有助于结构化逻辑,提高系统可靠性,并自动生成代码,确保一致性、可维护性,并减少调试工作量。



