产品

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 中使用状态机有何优势?

状态机有助于结构化逻辑,提高系统可靠性,并自动生成代码,确保一致性、可维护性,并减少调试工作量。