組み込みソフトウェアの根本問題~対象物の状態遷移を記述できれば、制御が可能だ
「組み込みソフトウェアでは対象物の状態遷移を記述できれば、制御が可能だ」という文言をネットで2箇所見つけた。
ラフなメモ。
組み込みソフトウェアのモデリングにおける根本問題とは何だろうか?
業務システムのモデリング、ネットワーク設計の根本問題とは異なる。
業務システムのモデリングでは、業務ロジックをいかにER図に落とし込めるか、という点に集約できると思う。
以前書いた。
業務ロジックをデータモデリングはどこまで表現できるか?: プログラマの思索
その考えから、ビジネスの一連の業務フローが表現されて、データのライフサイクルと使われる帳票が導出されて、最終的にERPになるイメージ。
一方、ネットワーク設計の根本問題は、ネットワークの品質をどのように保つか、という点に尽きると思う。
SDNアーキテクチャの本質は巨大な仮想L3スイッチを実現したことではないか: プログラマの思索
なぜInfrastructure as Codeが必要なのか?: プログラマの思索
ネットワークの根本問題は何か~昨今のIT技術と時代の変化についての考察: プログラマの思索
ネットワークの品質は、耐障害性の観点でのL2・L3の冗長化、セキュリティの観点でL2のスプーフィング対策・L3のパケットフィルタリング・認証、L4層以上のファイアーウォールやVPN、音声や動画やデータの通信品質を保つ観点のQoSなどの技術が使われている。
さらに、巨大で複雑なネットワーク構造を構成管理の配下に置くために、SDNやぜInfrastructure as Codeの技術が生まれた、というイメージ。
特に、昨今は、データモデリングやオブジェクト指向設計よりも、ネットワークの仮想化技術が熱いと思う。
その中にクラウドも含まれるわけだが。
では、組み込みソフトウェアのモデリングにおける根本問題とは何だろうか?
(引用開始)
組み込みシステム開発の世界には、大きく2つのモデル<ソフトウェアのモデル>と<制御のモデル>が存在する。
(引用終了)
組込みソフトウェア開発のための オブジェクト指向モデリング (組込みエンジニア教科書)にこんな感想があった。
(引用開始)
殿堂入りNO1レビュアー
kaizen
状態遷移が肝でしょうか。
2008年3月21日に日本でレビュー済み
対象物の状態遷移を記述できれば、制御が可能だという意味で、オブジェクト(対象)指向は有効なのだと思われます。
モデルを作る場合に、対象(オブジェクト)を記述していくのが王道なのだと思われます。
本当に必要な技術と、内容を確かめるために使う技術と、試験のための技術との詳細な説明があるとよいかもしれません。
(引用終了)
勝手な想像では、組み込みソフトウェア設計では、単純に部品をクラス図やブロック図に表現するよりも、そこから、抽象度を上げた対象物の状態遷移を見抜くことが重要ではないだろうか。
対象物の状態遷移を記述できれば、プログラムで実装可能であり、その制御プログラムで機械に作業を指示できる。
しかし、状態遷移は爆発しやすい、という根本問題は以前からある。
だから、状態が爆発的に増えてコントロールできなくなるために、レイヤーごとに分けたり、抽象度を上げ下げしたりして、ソフトウェアの複雑さを制御しようとしているのではないか。
この発想を元に、色々考えてみる。
| 固定リンク
「モデリング」カテゴリの記事
- AIが設計も思考も代替する時代ではエンジニアはモデルを理解するだけの存在なのか?(2026.07.25)
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- すり合わせの優位性は健在か?日本の製造業が直面するPLM活用とMBSEソフトウェア運用の理想と現実(2026.03.29)
- アーキテクチャモダナイゼーションにおけるAMETチームの役割と責任範囲は何か(2026.03.23)
- アーキテクチャモダナイゼーションとはそもそも何なのか?(2026.03.22)
「経済学・ERP・財務会計」カテゴリの記事
- すり合わせの優位性は健在か?日本の製造業が直面するPLM活用とMBSEソフトウェア運用の理想と現実(2026.03.29)
- DX戦略はDX成熟度を考慮して戦略策定すべき(2026.03.20)
- データモデリングではシステムが宿命的に負う複雑性をどのように解決しようとしているのか(2026.02.14)
- データモデリングの手法をあなたは持ってますか? at 関西IT勉強宴会(2026.02.11)
- E-BOMとM-BOMの違いは何か?(2026.02.08)
「astahによるUMLモデリング」カテゴリの記事
- 「System of Systems(SoS)の統合テストは不可能だ」という言説を聞いた(2026.08.16)
- チケット駆動でAIを制御する仕組みのアイデア(2026.08.13)
- AIが設計も思考も代替する時代ではエンジニアはモデルを理解するだけの存在なのか?(2026.07.25)
- 愛憎のUML~なぜ「設計図」は消え、「スケッチ」として生き残ったか(2026.05.03)
- AIエージェントとastahが変える真のモデル駆動開発とは何か(2026.04.12)
「ネットワーク・クラウド」カテゴリの記事
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
- パッケージ設計の原則の意義は変化しているのか(2023.09.30)


コメント