4

私は無料のステートマシンツールに出くわしました。これは、組み込みシステムをグラフィカルにプログラミングするためのもののようです。そうすることで、作成者は、結果として得られるコードは、RTOSが採用されている場合よりも保守しやすいと主張しています。このツールはUMLに基づいています。これは知っておくと便利ですが、学習曲線が急です。

ここで経験豊富なプログラマーがこのツールについてどう思っているか知りたいです。

LM3S5P36マイクロコントローラー用の組み込みアプリケーションを開発しています。TIには、Code Composer Studio(CCS)と呼ばれるIDEがあります。私はまだCCSに参加していませんが、ステートマシンチャートに目的の動作を入力し、クランクを回して、CまたはC++コードをポップアウトできるという優れた機能があるとは思えません。次に、戻ってチャートを編集し、対応する改訂コードを生成します。私はマイクロコントローラーをCでプログラムしましたが、UMLについてはほとんど何も知りません。過去に私は2つのファイルを維持しました。1つはマイクロコントローラーコードで、もう1つはフローチャートです。各コードリビジョンは、2つの別々のファイルを維持することを意味しました。

つまり、私のジレンマは次のとおりです。このクールなチャートからコードへのオールインワンドキュメントが含まれるツールを発見したので、それを使用したいと思いますが、それ以上に、プロジェクトを完了させたいだけです。私はそれを古い方法で行いますか、それとも数週間かけてUMLを学びますか?

4

3 に答える 3

6

MiroSamekの著書「PracticalUMLStatechartsin C /C++」にも興味があるかもしれません。MiroはQuantumLeapsの創設者兼社長であるため、この本はツールと密接に関連していることに注意してください。

Miroは、RTOS開発よりもステートチャート開発に多くの投資をしており、この本を執筆し、このテーマについて広範囲にブログを書いているようです。彼はLinkedInのReal-TimeEmbeddedEngineeringグループで、「RTOSは本当に組み込みシステムを設計するための最良の方法ですか?」 というタイトルのスレッドを開始しました。

この2つが必ずしも異なるかどうかはわかりません。個々のRTOSスレッドをステートマシンとして実装することは、多くの場合便利です(そして頻繁に行われます)。彼はブログでいくつかの良い点を述べています。「私はRTOSが嫌いですが、彼の推論は主にRTOSテクノロジ自体よりも不十分なアプリケーション設計に基づいています。CまたはC ++を不適切に使用すると危険な場合があるのと同様に、RTOSも同様です。通常、スレッドが少なすぎて結合が不十分で、結合が緊密なアプリケーションが見られますが、解決策はスレッドが多いと考えて、ミロは髪を引き裂くと確信しています。

UML 2.2では14種類の図が指定されており、ステートマシンは1つにすぎないため、UML全体を学習する必要はありません。この場合に使用されるのは、明確な構文とセマンティクスを備えた明確に定義されたモデルであり、動作の詳細を定義するのに適しているためです。ステートマシン図(またはステートチャート)は、おそらく最も理解しやすいUML動作図であり、UML図の中で最も明確に定義されたセマンティクスを備えています。

于 2011-08-21T08:46:39.197 に答える
0

私はこのツールを試しませんでしたが、UMLダイアグラムを取得した場合は、プロジェクトのドキュメントに常に適しています。UMLからのコード生成は、クラス図を使用してかなりうまくなりました。他の図でも同じである可能性があります。

于 2011-08-19T08:24:35.943 に答える
0

ニーズを満たす可能性のある1つのアプローチは、http://www.StateSoft.org にあります。UMLの非常に小さいが機能的に完全なサブセットを使用します。StateMachineGalleryでグラフィカルAPIのセットを見ると、数分で直感的にUMLSM表記。組み込みシステムのメモリ使用量を効率化するために、高度に最適化されたテーブルが作成されます。CまたはC++のどちらを使用するかに応じて、コンパクトテーブルエグゼキュータを選択します。

于 2011-09-21T18:30:45.147 に答える