組み込みソフトウェアの根本問題~対象物の状態遷移を記述できれば、制御が可能だ
「組み込みソフトウェアでは対象物の状態遷移を記述できれば、制御が可能だ」という文言をネットで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日に日本でレビュー済み
対象物の状態遷移を記述できれば、制御が可能だという意味で、オブジェクト(対象)指向は有効なのだと思われます。
モデルを作る場合に、対象(オブジェクト)を記述していくのが王道なのだと思われます。
本当に必要な技術と、内容を確かめるために使う技術と、試験のための技術との詳細な説明があるとよいかもしれません。
(引用終了)
勝手な想像では、組み込みソフトウェア設計では、単純に部品をクラス図やブロック図に表現するよりも、そこから、抽象度を上げた対象物の状態遷移を見抜くことが重要ではないだろうか。
対象物の状態遷移を記述できれば、プログラムで実装可能であり、その制御プログラムで機械に作業を指示できる。
しかし、状態遷移は爆発しやすい、という根本問題は以前からある。
だから、状態が爆発的に増えてコントロールできなくなるために、レイヤーごとに分けたり、抽象度を上げ下げしたりして、ソフトウェアの複雑さを制御しようとしているのではないか。
この発想を元に、色々考えてみる。
| 固定リンク
「モデリング」カテゴリの記事
- 「システム開発・刷新のためのデータモデル大全」を読み直した感想~親子頻出アンチパターンは初心者モデラーに多い(2024.08.31)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- アーキテクチャ量子の考え方はソフトウェア工学に物理学アプローチを適用したアイデアではないか(2024.02.12)
「経済学・ERP・財務会計」カテゴリの記事
- ビジネス書の名著はどれ?(2023.09.18)
- 第85回IT勉強宴会の感想~概念データモデルからビジネスモデルを構築すべきという考え方(2023.05.13)
- 令和4年度春期試験のITストラテジスト試験第4問をastahでモデル化してみた(2023.04.15)
- 経営戦略とIT戦略をつなぐ鍵は何なのか(2023.01.04)
- 計量政治学と計量経済学の考え方の違い(2022.10.02)
「astahによるUMLモデリング」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- astahにタイミング図がサポートされた(2024.03.12)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
- パッケージ原則とクラス原則の違いは何なのか(2023.10.14)
「ネットワーク・クラウド」カテゴリの記事
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
- パッケージ設計の原則の意義は変化しているのか(2023.09.30)
- Go言語でできることは何なのか(2022.11.06)
コメント