論文:シーケンス図とステートチャート図の相互変換に着目したソフトウェア分析・設計に関する研究

本日はこちらです。

先日まではユースケースと状態遷移の変換的な話でしたが、今度はシーケンス図から、です。UML、形式検証という文脈としては同じです。

まとめると、

・シーケンス図から状態遷移図を生み出す手法

・既往の研究があるが、状態遷移図の修正をシーケンス図に反映するという機構を入れた点が新しい

・シーケンス図としてはMSC(UMLではなく)を使用

ということです。

気になった点を引用します。


シーケンス図とステートチャート図を相互に変換する方法を提案する

お願いします!興味あります!個人的には、シーケンス図って一方通行だからなんだか元に戻るというイメージがないんですよね。単純に最終状態を初期状態と同じに置くのかな。


シーケンス図と呼ばれるものとして、Message Sequence Charts(MSC)やUMLシーケンス図などがある

MSCというものがあるのを知らなかったです。ある程度有名なのでしょうか。

WikipediaではUMLしか書かれていませんが。まぁ大差ないものだと思っておきます。


MSCでは、bMSCとhMSCと呼ばれる2つの図からなる

なるほど!hMSCが上位で、bMSCを呼ぶ形になっているのですね。これは結構わかりやすいかも。逆にUMLってこれどうやって表現するんでしたっけ…。アクティビティ図とシーケンス図の複合でしょうか。MSCはシーケンス図と言っておきながら純粋なシーケンス図だけではないですからね。


ステートチャート図としてUML Version1.5のステートチャート図を用いた

ステートチャートはUML使うんですね。だったらシーケンスもUML使ってほしい気がしますが。やっぱり何かMSCを使う意図があったのでしょう。できればその理由も書いてほしかったなぁ。


Whittleらは、複数の独立したシーケンス図からステートチャートを生成した

これ読みます。こっちの方が大事かもしれない。2000年ICSEのカンファレンスペーパーのようですね。


MSCの矛盾を検出

まずはMSC単体で矛盾チェックをするようです。データフロー解析を行うとのこと。どんなことをやっているんだろう。気になる。ここら辺単体で諸々論文がありそうですね。


1つのオブジェクトにつき1つのステートチャート図を生成する

てことはライフラインごとってことですかね、UMLで言うと。MSCのメッセージ受信終了から次のメッセージの送信開始までを状態とみなす、ということです。各オブジェクトが実際に状態を持つかどうかに関わらず、シーケンス図の特徴からそうみなしてしまうということですね。ふむふむ。


また知らない話がいろいろ出てきましたが、参考にはなりました。

この記事が気に入ったらサポートをしてみませんか?