uml - 状态机与微 Controller 的 RTOS

标签 uml state-machine rtos

我偶然发现了一个 free state machine tool .这似乎用于以图形方式对嵌入式系统进行编程。通过这样做,作者声称生成的代码比使用 RTOS 时更易于维护。该工具基于 UML,这很高兴知道,但学习曲线陡峭。

我想知道这里一些更有经验的程序员如何看待这个工具。

我正在为 LM3S5P36 开发嵌入式应用程序微 Controller 。 TI 有一个名为 Code Composer Studio (CCS) 的 IDE。我还没有进入 CCS,但我怀疑它是否具有将所需行为输入状态机图表、转动曲柄并弹出 C 或 C++ 代码的酷炫功能。然后返回编辑图表以生成相应的修改代码。我用 C 编写了微 Controller ,但对 UML 几乎一无所知。过去我维护了两个文件,一个是微 Controller 代码,另一个是流程图。每个代码修订意味着维护两个单独的文件。

所以我的困境是:发现了这个很酷的从图表到代码的一体化文档工具,我很想使用它,但更重要的是,我只想完成我的项目。我是按照旧的方式来做,还是花几周时间学习 UML?

最佳答案

您可能还对 Miro Samek 的书“Practical UML Statecharts in C/C++”感兴趣。请注意,Miro 是 Quantum Leaps 的创始人兼总裁,因此本书与该工具密切相关。

与 RTOS 开发相比,Miro 似乎在状态图开发方面投入了大量资金,撰写了大量关于该主题的书和博客。他在 LinkedIn 的实时嵌入式工程小组中发起了题为“Is an RTOS really the best way to design embedded systems?”的主题——关于该主题的大量意见!

我不确定这两者是否一定是不同的。将单个 RTOS 线程实现为状态机通常很有用(并且经常这样做)。他在他的博客“I Hate RTOSes”中提出了一些很好的观点,但他的推理主要是基于糟糕的应用程序设计而不是 RTOS 技术本身。正如 C 或 C++ 在不明智的情况下使用时可能会很危险一样,RTOS 也是如此。我是什么通常看到的应用程序的线程太少,内聚力差且耦合度低,但我相信 Miro 会因为想到解决方案是更多线程而感到沮丧!

UML 2.2 指定了 14 种图,状态机只是其中一种,因此无需完整学习 UML。在这种情况下使用它是因为它是一个定义明确的模型,具有清晰的语法和语义,适用于定义行为细节。状态机图(或状态图)可能是最容易理解的 UML 行为图,并且在任何 UML 图中具有最明确的定义语义。

关于uml - 状态机与微 Controller 的 RTOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7116881/

相关文章:

linux - 是什么使内核/OS实时?

c++ - 它将是哪种类关系[特定于 C++]?

events - 如何在静态 UML 模型中表示基于事件的架构?

dependencies - 提供/要求表示法中接口(interface)之间的 UML 依赖关系

algorithm - 如何将公用电话建模为状态机?

c - 什么是在 RTOS 中将参数传递给堆栈?

c - VXWORKS RTOS RTP应用程序

uml - 在类图中显示列表中的选择

python - 高尔夫代码: Finite-state machine!

c - 状态机教程