掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     クラス図でメンバ変数にビットフィールドを記述する方法


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2008-5-27 13:43

クラス図でメンバ変数にビットフィールドを記述する方法

たびたび、すみません。

同じような質問なんですが、ヘルプファイルやサポートを調べてみたのですが、「ビットフィールド」、「ビット」では記述の方法は見つかりませんでした。
どのように記述したらいいのでしょうか?

16ビットの領域を1ビット、4ビット、3ビット、8ビット、などと記述したいのです。

共用体の場合と、そうでない場合との記述方法をお教えください。
よろしくお願い致します。



tkouno
投稿日時: 2008-5-27 14:15
EA Administrator
投稿: 3939

Re: クラス図でメンバ変数にビットフィールドを記述する方法

こちらの件ですが、調査しましたところ
現在のEnterprise Architectの標準の機能では
対応していないことがわかりました。
(正確には、読み込みでは、ビットフィールドの値は
タグ付き値「bitfield」に読み込むのですが、出力の
テンプレートではこの値を無視しています。)

C++の場合であれば、コード生成テンプレートを
以下のように修正すれば、対応できます。

テンプレート「Attribute Declaration」に対して
最後の1行(セミコロンのみ)の前に以下の3行を挿入

%if attTag:"bitfield" != ""%
:%attTag:"bitfield"%
%endIf%


これで、属性のタグ付き値「bitfield」に1を入れると

short  a:1;

のように生成されます。

コード生成テンプレートについては、ヘルプファイルや
PDFのドキュメントなどをご覧ください。

https://www.sparxsystems.jp/ea_documents.htm
にある「コードテンプレートフレームワーク(CTF) ガイド」が
参考になるかと思います。





未登録ゲスト
投稿日時: 2008-5-27 14:24

Re: クラス図でメンバ変数にビットフィールドを記述する方法

ご回答ありがとうございます。

読んだばかりでどのように対応しようかと悩んでいます。
まずは、試行錯誤してみます。
まずは、コード生成よりもプレゼンテーションを重視していますので
説明が難しくなりそうです。

引き続き、質問するかもしれませんが、よろしくお願い致します。


tkouno
投稿日時: 2008-5-27 14:35
EA Administrator
投稿: 3939

Re: クラス図でメンバ変数にビットフィールドを記述する方法

クラス図での表現を重視ということであれば、
属性のタグ付き値「xUML」に「:1」という値を
入れると、それらしく見えるかもしれません。

このタグは本来は別の用途ですが、属性の情報として
何か表示する場合にも使えます。

ぜひお試しください。
未登録ゲスト
投稿日時: 2008-5-27 14:50

Re: クラス図でメンバ変数にビットフィールドを記述する方法

ありがとうございます。

>属性のタグ付き値「xUML」に「:1」という値を
この属性のタグ付き値というのが、わかりません。
クラス図から該当する属性の設定ダイアログで設定するのでしょうか?

とりあえず、自分と相手にわかるように新しく"bitfield"のデータを定義して
配列と同じコンテナの型にビット数を入れてみました。
そうすると、クラス図には、"bitfield(4)"と表示されました。
まあこれで説明しようかと考えています。

コード生成は、10月頃になるだろうと思いますが、それまでに標準で
サポートされるといいですね。

以上、よろしくお願い致します。

tkouno
投稿日時: 2008-5-27 15:25
EA Administrator
投稿: 3939

Re: クラス図でメンバ変数にビットフィールドを記述する方法

「タグ付き値」については、以下の方法で設定してみてください。

1. メインメニューの「表示」→「タグ付き値」を選択し
 タグ付き値サブウインドウを表示する
2. クラス図から対象のクラスの属性を選択する
(これは慣れが必要な操作かもしれません。クラスを一度選択した後、
さらに対象のクラスをクリックすると、クラスの中の属性が
選択された状態になります。)
3. すると、タグ付き値サブウインドウのツールバーの下に

属性名 (Attribuite)

と表示されますので、ツールバーの左から3番目のボタンを
押してください。

4. 「タグ付き値」ダイアログが表示されますので
「タグ」に「xUML」を、「値」に「:1」を入れます。


この「タグ付き値」は、さまざまな場面で使われますので
ぜひご確認ください。

未登録ゲスト
投稿日時: 2008-5-27 16:47

Re: クラス図でメンバ変数にビットフィールドを記述する方法

タグ付き値の設定方法、ありがとうございました。

確認できました。
これは、本来どんな意味で使用するのか、調べてみます。

tkouno
投稿日時: 2008-7-8 10:54
EA Administrator
投稿: 3939

Re: クラス図でメンバ変数にビットフィールドを記述する方法

こちらの件ですが、ビルド831の既定のコード生成テンプレートにて
出力に対応しました。

最新版もご利用下さい。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ