DEBS2010: the EPTS Reference Architecture tutorialについて

恒例になってきましたが、TIBCO社のPaul Vincentさんによるブログポストの紹介です。

  1. DEBS2010: the EPTS Reference Architecture tutorial

Distributed Event-Based Systems (DEBS)というカンファレンスでPaulさんはじめ3名でthe EPTS Event Processing Reference Architecture journey and developmentというTutorialを行われたそうです。 そしてその資料をSlideshareで公開したということです。

  1. Debs2010 tutorial on epts reference architecture

Event処理の参照モデルということですが、これまでもEventは各種アーキテクチャの中に埋め込まれる形で表れていましたので、違和感を感じるようなところは殆どないだろうと思います。良いTutorialだと思います。

DEBS2010: the EPTS Reference Architecture tutorialについて

本の紹介(3)

私は良くAmazonで本を購入するのですが、Amazonの有名なRecommendation機能によりログインするといつも幾つかの書籍を紹介されます。そういう書籍の中で、私のキーワードと合ったのが

  1. システムアークテクチャ構築の原理

という本です。副題が「ITアーキテクトが持つべき3つの思考」というもので、翻訳は2008年、オリジナル(英文)の出版は2005年というものです。まだ最初の部分しか読んでいませんが、RM-ODPから始まった私のソフトウェアアーキテクチャの見方と近く、かなり掘り下げた箇所もあるため、今後機会があるたびに活用させてもらおうと思っています。

内容としては、ステークホルダをしっかり認識する事、ビューポイントとビューの活用により複雑さに対処する事、更にビューポイントに共通するパースペクティブ(アスペクトとほぼ同じ:例としてはセキュリティ)の導入、によりシステム全体を記述するというもので、ビューポイントカタログ・パースペクティブカタログなどの章もあります。

ドメインに依らない話だと思いますので、興味ある方は是非覗き見などしてみてください。

本の紹介(3)

IEEE Software’s On Architecture Podcastについて

以前 handbook of software architectureについて という短いポストを書きましたが、IEEE Software というジャーナルに Booch さんが on architecture というカラムを書かれていて、その内容をご本人が朗読されている Podcast が公開されているのを見つけました。将来もずっとこの URL にあるのか否か分かりませんが、現時点でのその場所をお知らせします。

個人的に、学習の早道があるとすると、それは良く分かっている人から直接分かり易く説明して貰う事、だと思っています。この Podcast(上記 URL から音声データを直接再生したりダウンロードしたり出来ます)はそういう意味で役に立つのではと思います。

IEEE Software’s On Architecture Podcastについて

viewとviewpointについて

viewとviewpointという言葉を聞かれた事があると思います。ソフトウェアやシステムのモデリングでは、viewpointというのは対象のある側面だけに注目(そしてそれ以外は気にしない)したモデル(仕様)を書く場合のその注目した側面のことです。例えば、情報要素だけに注目した情報のviewpoint、機能要素にだけ注目した機能viewpoint、物理的な配置に注目した物理viewpoint、またビジネスアナリストの立場からビジネスプロセスviewpointなどが考えられます。viewpointと言わずにperspectiveという言葉を使う場合もあります。viewというのは、そうやって決めたviewpointから対象を眺めた場合に見えるもの、つまりviewpointに限定したモデルないし仕様ということになります。wikipediaには、view modelというエントリがありますのでご覧ください。

いつ頃からこれらの概念が意識されるようになったのか確かな事は分かりませんが、私はISOのRM-ODP標準化活動に参加するようになってなじみの考え方になりました。RM-ODPではviewのことをviewpoint specificationと言っており、五つの標準viewpointをもうけています。その後、IEEE 1471というview/viewpointを一般的に扱う標準がIEEEで作成され、これがISOに持ち込まれて国際標準にするための作業が行われているところです(ISO/IEC JTC1/SC7というのがその検討の場になっています)。

UMLの世界にも“4+1” view modelというものがあり、UMLの標準文書でModelというPackageを拡張する要素を見ると、属性としてviewpoint(String)を書けるようになっています。つまり、ModelというPackageの中に各viewpointモデル(view)を含めることで、対象を複数の視点・観点から見た場合のモデルを構成する事が出来るようになっています。

分かり易いところでは、論理的なモデル図と物理的な配備図をviewpointの異なる別のモデルとして書く事が出来ます。

ただ気をつけるべきは、viewpointを分けて書いたとしても所詮同じ対象を書いているということです。従って、何らかのつながりがあるはずです。例えば、建築物の図面で正面図と側面図というのあり、前から見えるものと横から見えるもの(明らかに違います)を別々の図面で書きますが、正面図の長方形の屋根部分は、側面図で30度の傾きを持っているといったつながりがあります。ソフトウェアやシステムのモデルでも同じことが起きる筈です。RM-ODPではcorrespondence(相関関係)と言いますが、対応付けやマッピングと言う言葉で済む場合もあります。各viewモデルに加え、相関関係も併せて書く事で、モデルや仕様として完成度の高いものになり、うまく行けばモデル駆動開発(MDD)における高品質な入力情報になると思います。

viewとviewpointについて