| 命令 |
説明 |
| output
|
シーケンス図を出力する、シート名を指定する。
書式:output
"シート名";
|
| obj |
オブジェクト宣言する。 書式:obj
宣言名 = "表示名";
|
| async |
非同期メッセージを作成する。
書式:obj/ref宣言名.async("説明","戻り値説明"[,定数]){・・・};
「定数」はメッセージを表示するかを表し、省略時は0となる。
0:表示、2:復帰のみ非表示、3:全非表示
|
| sync |
同期メッセージを作成する。
書式:obj/ref宣言名.sync("説明","戻り値説明"[,定数]){・・・};
「定数」はメッセージを表示するかを表し、省略時は0となる。
0:表示、2:復帰のみ非表示、3:全非表示
|
| create |
createメッセージを作成する。 書式:obj/ref宣言名.create("説明","戻り値説明"[,定数]){・・・ };
「定数」はメッセージを表示するかを表し、省略時は0となる。
0:表示、2:復帰のみ非表示、3:全非表示
|
| destroy |
destroyメッセージを作成する。
書式:obj/ref宣言名.destroy("説明","戻り値説明"[,定数]){・・・ };
「定数」はメッセージを表示するかを表し、省略時は0となる。
0:表示、2:復帰のみ非表示、3:全非表示
|
| space |
説明文を作成する 書式:obj/ref宣言名.space("文字列");
|
| message.startnumber |
メッセージにシーケンス番号を付けることを始める。
書式:message.startnumber();
|
| message.color |
メッセージに色をつける。
書式:message.color(色番号);
|
| sd |
sd(sequence diagram)を使う。
書式:sd(名前,インデント){ ・・・
};
名前(文字列):sdの表示名
インデント(正整数):sdをインデントする
※省略可能
・・・:シーケンス図作成の文を書く(sd以外)
|
| cf |
複合フラグメントを使う。
書式:cf(名前,ガード条件){・・・};
名前(文字列):複合フラグメントの名前。例:alt,opt
ガード条件(文字列):ガード条件。
・・・:シーケンス図作成の文を書く(sd以外)
|
| elcf |
複合フラグメントのelse部分
書式:elcf(ガード条件);
ガード条件(文字列):ガード条件。
※cfのブロックの中で使う。
・・・:シーケンス図作成の文を書く(sd以外)
|
| ref |
相互作用オカレンスを使う。
書式:ref ref宣言名 (表示名);
ref宣言名(英数文字列):コード上で使う宣言名
表示名(文字列):ref内に表示される文字列
|
| 処理 ; |
C++のようにセミコロン「;」で処理を区切ります。 |
|
文字列 |
文字列を使う
書式:"文字列"
文字列:"で文字列を囲うと文字列として扱う。
例:「obj phone = "電話";」の「"電話"」の部分
|
|
定数 |
定数を使う
書式:整数
例:「a.sync("","",3);」の「3」の部分
|
|
\n |
"で囲われた\nは改行となります。
書式:"文字列\n文字列"
|
| \" |
"で囲われた\"は"文字となります。
書式:"文字列\"文字列"
|
| エラーメッセージ |
エラーメッセージはメッセージボックスで表示します。
「描画」ボタンをクリックしたときに、コードに間違いあると表示されます。
■表示例
「obj宣言で「;」がありません。エラー文字列:message」
注意:「エラー文字列」はエラーのあった箇所の次の単語を表示します、
エラー文字列で検索してその文字の前にエラーがあります。
|
| 補足 |
字句解析、構文解析
※オブジェクト名の命名規則などを参考にしてください。
|
//組み合わせて使う
sd("電話帳から発信")
{
output "出力シート";
obj adrbook = "電話帳";
obj phone = "電話";
obj phonesub = "電話サブ";
adrbook.sync("ユーザー操作 発信","成功"){
cf("alt","電話!=NULL"){
phone.create("<<create>>","true");
elcf("else");
phone.create("<<create>>","!NULL or NULL");
cf("opt","create=NULL"){
phone.space("フェータル処理");
};
};
ref ref1("発信処理",phone,phonesub);
ref1.sync("発信要求","true"){
};
};
adrbook.sync("ユーザー操作 終了","成功"){
phone.destroy("<<destroy>>","");
};
};
sd("発信処理",1)
{
output "出力シート";
obj phone = "電話";
obj phonesub = "電話サブ";
phone.sync("発信要求","true"){
phonesub.sync("発信サブ機能","成功"){
};
};
};