ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
前々から言っていますがCMakeとビルドが必要なのであれば、マニュアルとかに手順を書いていないと不親切だと思います。
誰に使ってほしいのでしょうか?作品を見に来る人が上級者ばかりとは限りません。僕みたいな初心者が見る事もあります。
実行ファイルを配布するのであれば必要なdllを同梱するか、入手方法をマニュアルに記載してください。ただ実行ファイルを配布する場合、既にインストールしているdllと違うバージョンのdllに依存していると非常に面倒ですね。
それはさておき、今回はコンポーネント図の話をします。
astah* communityを起動して図→コンポーネント図を選択してください。
とりあえず適当にコンポーネントを追加して、提供インターフェース、要求インターフェースを追加してください。
左が提供インターフェース、右が要求インターフェースを表しています。
提供インターフェースは機能を外部に提供、要求インターフェースは外部の機能を要求しているようです。
次にパートを追加します。
パートはコンポーネントの内部要素を表現するとかそうではないとからしいです。
以下のようにポートボタンを選択後、コンポーネントを選択するとポートを追加できます。
ポートは内部と外部の境界を表現しているとからしいです。
提供インターフェースと要求インターフェースを接続する方法がよくわらなかったのですが、使用依存ボタンを選択後コンポーネントと提供インターフェースを選択すると接続されたので、そうしてください。
依存を表現したい場合は以下のようにしてください。
提供インターフェースに依存を設定することもできるようです。
ここからは僕の個人的な考えを書きます。
SysMLとOpenRTM-aistを連携させるツール等が最近開発されているようです。
このページのソフトウェアもそうなのでしょうかね?
コンポーネント図の表現方法は確かにRTシステムの設計には相性はよさそうに見えます。
ただ、慎重に設計しないと粒度を細かくしすぎるのではないかと思います。
そもそもコンポーネント図のコンポーネントは「ファイル、ヘッダ、ライブラリ、モジュール、実行可能ファイルやパッケージなど」という定義らしいのですが、コンポーネント図のコンポーネントを全てRTコンポーネント、もしくは複合コンポーネントに当てはめてしまっても良いのかがよくわかりません。
ファイル等に分割する場合に比べて、RTコンポーネントを細かく分割するのはデメリットが大きいのはこのブログで何度も言っていることです。
再利用性の低いコンポーネントをRTコンポーネントとして分割する事は、複数人で開発している場合は分担できるメリットがあるかもしれないですけど、実装が完了してしまえばオーバーヘッドが大きい等デメリットしか残りません。
なのでコンポーネント図を作成した際、再利用性の低いコンポーネントはファイル、ライブラリとして、再利用性の高いコンポーネントはRTコンポーネントとすれば実用的なシステムができると思うのですけど、どうでしょうか?
まあ素人の考えなので、詳しい人は教えてください。
今日はこのぐらいにしておきます。
明日はステートマシン図をやります。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
誰に使ってほしいのでしょうか?作品を見に来る人が上級者ばかりとは限りません。僕みたいな初心者が見る事もあります。
実行ファイルを配布するのであれば必要なdllを同梱するか、入手方法をマニュアルに記載してください。ただ実行ファイルを配布する場合、既にインストールしているdllと違うバージョンのdllに依存していると非常に面倒ですね。
それはさておき、今回はコンポーネント図の話をします。
astah* communityを起動して図→コンポーネント図を選択してください。
とりあえず適当にコンポーネントを追加して、提供インターフェース、要求インターフェースを追加してください。
左が提供インターフェース、右が要求インターフェースを表しています。
提供インターフェースは機能を外部に提供、要求インターフェースは外部の機能を要求しているようです。
次にパートを追加します。
パートはコンポーネントの内部要素を表現するとかそうではないとからしいです。
以下のようにポートボタンを選択後、コンポーネントを選択するとポートを追加できます。
ポートは内部と外部の境界を表現しているとからしいです。
提供インターフェースと要求インターフェースを接続する方法がよくわらなかったのですが、使用依存ボタンを選択後コンポーネントと提供インターフェースを選択すると接続されたので、そうしてください。
依存を表現したい場合は以下のようにしてください。
提供インターフェースに依存を設定することもできるようです。
ここからは僕の個人的な考えを書きます。
SysMLとOpenRTM-aistを連携させるツール等が最近開発されているようです。
このページのソフトウェアもそうなのでしょうかね?
コンポーネント図の表現方法は確かにRTシステムの設計には相性はよさそうに見えます。
ただ、慎重に設計しないと粒度を細かくしすぎるのではないかと思います。
そもそもコンポーネント図のコンポーネントは「ファイル、ヘッダ、ライブラリ、モジュール、実行可能ファイルやパッケージなど」という定義らしいのですが、コンポーネント図のコンポーネントを全てRTコンポーネント、もしくは複合コンポーネントに当てはめてしまっても良いのかがよくわかりません。
ファイル等に分割する場合に比べて、RTコンポーネントを細かく分割するのはデメリットが大きいのはこのブログで何度も言っていることです。
再利用性の低いコンポーネントをRTコンポーネントとして分割する事は、複数人で開発している場合は分担できるメリットがあるかもしれないですけど、実装が完了してしまえばオーバーヘッドが大きい等デメリットしか残りません。
なのでコンポーネント図を作成した際、再利用性の低いコンポーネントはファイル、ライブラリとして、再利用性の高いコンポーネントはRTコンポーネントとすれば実用的なシステムができると思うのですけど、どうでしょうか?
まあ素人の考えなので、詳しい人は教えてください。
今日はこのぐらいにしておきます。
明日はステートマシン図をやります。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
PR
この記事にコメントする