Viewpoint: the making of 動画の紹介

EclipseCon NA 2015 の報告で PolarSys のことを書きましたが、PolarSys 関連の聴講セッションのなかでも特に感心したのがこのビューポイントを作成してモデルに反映するデモです。二人の人が前に出てマネージャとデベロッパーの役を演じ、マネージャからの無理難題をデベロッパーが Capella/Kitalpha を使い軽く実現してしまうというプレゼンテーションです。

自由に Viewpoint を定義して Model Work Bench をカスタマイズしながらモデルを発展させてゆくというアプローチがとてもうまく実現されており、使い方を工夫すれば別の世界(例えば、エンタプライズ系)にも適用できるでしょう。このプロジェクトには Obeo 社が参画しており、そのためか Sirius が大活躍しています。

いろいろな意味で参考になるプロジェクトですので、是非最後までご覧ください。

Viewpoint: the making of 動画の紹介

InfoQ: Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectivesについて

ビューポイントという言葉が入っているので見過ごせない記事だと思い紹介します。

  1. InfoQ: Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

インタビュー記事ですが、なかなかしっかりした内容の本のようです。 部分的に Google books で立ち読み可能です(書名で検索してください)。 私が長年つきあっている RM-ODP とはまた違うビューポイントを導入しているようですが、大きな考え方レベルの話は類似していると思います。 最近この分野は流行りではありませんが、不要になった訳ではないはずです。 全体像の整理がつかないと感じた時に、ここにあるようなアーキテクチャの整理方法・手法部分が参考になるかもしれません。

InfoQ: Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectivesについて

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について

Meta-Levels and the Integration of Modelsについて

The Next Big Thing への Fred Cummins さんの投稿です。

  1. Meta-Levels and the Integration of Models

以前も書きましたが Fred  さんは OMG の BMI (Business Modeling and Integration) DTF の共同議長を長年務めている方で、この BMI DTF で標準化を担当している各種仕様をどのように組み合わせ利用出来るかという観点でコメントされています。 ここで扱われているのは以下の仕様です。

  1. BMM (Business Motivation Metamodel)
  2. OSM (Organization Structure Metamodel)
  3. BPMN (Business Process Model and Notation)
  4. CMPM (Case Management Process Modeling) 現時点ではOMGメンバのみアクセス可
  5. SBVR (Semantics of Business Vocabulary and Rules)

これらを、4階層のメタレベルと単純に組み合わせてしまうとモデル統合が困難になりかねません。 関心を持たれた方は原文をご覧ください。

Meta-Levels and the Integration of Modelsについて

IEEE 1471 Websiteについて

ビューポイントを主題とした標準にIEEE 1471があります。 タイトルは

  • “Recommended Practice for Architectural Description of Software-intensive Systems”

で viewpoint という単語は含まれていません。viewpoint を用いたアーキテクチャ設計を行う場合、viewpoint をどのように決めれば良いかを検討確認する場合に役に立ちます。この標準は ISO に提案され国際標準への道を歩んでいます。

この IEEE 1471 の Website があります。

  1. ANSI/IEEE Standard 1471 :: ISO/IEC 42010

現在 ISO/IEC JTC1/SC7 で国際標準に向けての作業が行われており、本家の IEEE でも検討グループが設けられています。

IEEE 1471 Websiteについて

本の紹介(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について