Smart-M3は、ソフトウェアエンティティとデバイス間でセマンティックWeb情報共有インフラストラクチャを提供することを目的としたオープンソースソフトウェアプロジェクトの名前です。分散ネットワークシステムとセマンティックWebのアイデアを組み合わせたものです。究極の目標は、スマート環境を実現し、現実世界と仮想世界をリンクすることです。[ 1 ] [ 2 ]
Smart-M3の重要なアイデアは、デバイスとソフトウェアエンティティが、シンプルな共有情報ブローカーを介して、他のデバイスとソフトウェアエンティティに組み込み情報を公開できるという点です。これは、特定のパブリッシュ/サブスクライブではなく、プッシュ型の情報共有モデルです。情報の理解可能性は、共通のオントロジーモデルと共通のデータ形式に基づいています。もう1つの重要なアイデアは、Smart-M3がデバイス、ドメイン、ベンダーに依存しないということです。これは、BSDライセンスで利用可能な、無料で使用できるオープンソースソリューションです。したがって、Smart-M3とは、ソフトウェア技術、このソフトウェア技術をエンコードした複数のソフトウェア製品、ソフトウェア製品が提供するコンピューティングプラットフォーム、およびこのコンピューティングプラットフォームを使用して開発および展開されたすべてのコンピューティングシステムを指します。
Smart-M3ソフトウェア技術[ 3 ]は、いくつかの特殊な特性を備えたセマンティックWebの進化する開発です。 [ 4 ] [ 5 ] Smart-M3ソフトウェア製品はオープンソースソフトウェアです。これらはSourceForgeで入手できます。[ 6 ] Smart-M3ソフトウェア製品により、Smart-M3コンピューティングプラットフォームを実装できます。Smart-M3コンピューティングプラットフォームは、タプル空間メカニズムに基づいて情報を保存および取得できます。Linda (調整言語)と同様に、意味論に基づいたインタラクション機能の小さな定義済みセットが存在します。プログラマは、これらのインタラクション機能を利用するソフトウェアを開発できます。このようなソフトウェア開発をサポートするSmart-M3ソフトウェア製品が多数あります。このようなソフトウェアはすべて、Smart-M3コンピューティングプラットフォームの定義済みインターフェース、定義済み通信プロトコル、および一般的な設計原則に準拠する必要があります。このようなソフトウェアがSmart-M3コンピューティングプラットフォームとともに構築および展開されると、Smart-M3システム[ 7 ]が存在します。
Smart-M3は、ソフィアのArtemis JUプログラム(インテリジェントアプリケーションのためのスマートオブジェクト)内のNokia Research Centerと、フィンランドの国家DIEM(デバイス相互運用性エコシステム)研究プロジェクトで開発されています。[ 8 ] [ 9 ]
Smart-M3 は、マルチベンダー、マルチデバイス、マルチパーツの問題[ 10 ] [ 11 ] [ 12 ] (M3 という用語の由来) をターゲットにしています。この M3 の問題は、携帯電話、テレビ、ノートパソコンなど、多くの種類のデバイスが相互にやり取りする必要があることを意味します。デバイスは、他のデバイスとのやり取りのための個別のパートナーと見なされるパーツで構成されている場合があります。たとえば、ユーザーはデスクトップ コンピュータのキーボードを使用して携帯電話に入力を入力します。さらに、ユーザーはメーカーを自由に選択できます。この M3 の問題に取り組むソフトウェアは、少なくともこれらの問題によって制約された環境で適切に動作する必要があります。さらに、Smart-M3 テクノロジーは、このような環境が提供する機会を活用できるソフトウェアを構築することを可能にします。[ 13 ] [ 14 ]
人間がウェブを利用する際、人間が読める情報を生成・消費し、「永続的に公開し、実際に読む」というパラダイムに基づいてこの情報を交換します。人間が使用するデバイスで実行されるソフトウェアは、その人間が読める情報を変換、レンダリング、分析、インデックス化することはできますが、このソフトウェアは情報を理解しません。[ 15 ]また、Smart-M3 アプローチの技術も、このような人間同士のコミュニケーションを機械が理解できるようにするものではありません。代わりに、Smart-M3 は、機械が理解できる情報はソフトウェアの推論のために明示的に準備する必要があるというセマンティック ウェブの原則に従います。 [ 16 ]しかし、データを生成するソフトウェアと、そのデータをインターネット経由でそのデータを使用するソフトウェアとの間の相互作用手段を明示的に指定する代わりに、Smart-M3 は、ソフトウェアがインターネット経由でソフトウェアと相互作用する場合にも、「永続的に公開し、実際に読む」という人間同士の相互作用パラダイムに正確に従います。[ 17 ]
セマンティックWebの概念は、機械が理解できる情報の単一の普遍的なWebというビジョンを体現していますが、Smart-M3はWeb上に多数の異なる情報交換スポットを設定することで、機械間の通信を組織化します。各スポットでは、潜在的に多くの種類のデバイスで実行される多数のソフトウェアが情報を公開および読み取りできます。この情報は、機械可読形式で明示的に準備されているだけでなく、各スポットごとに明示的に準備されています。各情報交換スポットには、特定の目的または焦点があります。特定の情報交換スポットが提供するすべての情報は、そのスポットの特定の目的または焦点に特化しています。したがって、特定のスポットで情報を交換するソフトウェアの数は、この特化を共有するものに限定されます。
M3問題の核心は相互運用性の問題です。Smart-M3のアプローチは、Web上の情報交換専用スポットで「公開と読み取り」メカニズムを適用するため、直接的なポイントツーポイントの相互運用性とは異なります。公開主体は読み取り主体と相互運用可能である必要はありません。実際、両者は互いの存在を知る必要すらありません。Smart-M3は、公開主体が選択された情報交換スポットで公開でき、読み取り主体がそこで読み取れるという単純な仕組みを採用しています。
図1は、Smart-M3アプローチのソフトウェア技術に基づいた単一システムの上面図を示しています。システムの中核となるのはコーパスM3であり、これはさらにセマンティック情報ブローカー(SIB)と実際の物理データストレージに分解されます。もちろん、このコーパスM3はデバイス上でホストされる必要があります。複数のデバイスが多数のM3エージェントをホストし、オプションとしてコーパスM3を既にホストしているデバイスも含まれます。

SIBは、保存される情報を受信したり、保存された情報を取得したりするためのアクセスポイントです。データストレージでは、これらの情報はすべて、リソース記述フレームワーク(RDF)の規則に準拠したグラフとして保存されます。
M3エージェントとは、SIBと通信し、そこで情報を公開または読み取る目的で作成および展開されたソフトウェアです。特定のM3エージェントが特定のSIBの範囲内にあるとは、そのM3エージェントが、SIBが対応可能な複数の通信手段のいずれかを使用して物理的にそのSIBと通信でき、かつ、そのM3エージェントがそのSIBで情報を公開または読み取るために明示的に作成および展開されている場合を指します。特定のM3エージェントが特定のSIBに関連付けられているとは、そのM3エージェントが特定のSIBの範囲内にあり、かつ、そのM3エージェントが最初の通信試行時に実行された交渉の結果が良好であったために、そのSIBが情報の公開または読み取りのためにそのM3エージェントを受け入れた場合を指します。
さまざまなドメインやアプリケーション領域では、多種多様なデバイスが使用され、これらのデバイスは異なる通信機能を持つ場合があります。このような異種混在の状況で相互運用性を実現するために、SIBはTCP/IP、HTTP、Bluetooth、NoTAなどの複数のトランスポートメカニズムをサポートしています。[ 18 ]実際の動作環境に応じて、最も適切なトランスポート技術が選択されます。
アプリケーションはモノリシックな方法で構築されるのではなく、情報共有を通じて連携するエージェントのセット(M3エージェント)から構築されます。このエージェントのセットは、ユーザーがその時点で経験している、または必要としている特定の状況とコンテキストに依存します。エージェントはモノリシックなスタイルのユーザーインターフェイスを提供する場合がありますが、これは純粋にユーザーインターフェイスであり、機能の概念ではありません。プログラミングモデルはアクターモデルに類似しています。[ 19 ]
Smart-M3 アプローチは、従来のモノリシックなアプリケーションプログラムを超えたコンピューティングを構想しています。[ 20 ]代わりに、さまざまなデバイスで実行される一連の M3 エージェントが、特定の SIB に保存および取得する情報をマッシュアップするシナリオが想定されています。この M3 エージェントのコラボレーションがアプリケーションを形成します。どのようなコラボレーションと情報のマッシュアップが行われるかは、利用可能なデータに依存し、事前にわかりません。[ 21 ]
Smart-M3システムは、空間内で利用可能なデータに基づいて、M3エージェントを実行する一連のデバイスによってカバーされる環境の最新のデジタル表現を維持することを可能にします。周囲の環境に関する情報が容易に入手できる場合、この情報を活用する無数のマッシュアップシナリオを想像することができます。[ 22 ]
スマートスペースにおける知識プロセッサのための匿名エージェント協調技術が提案され、文書化されている。[ 23 ]
この技術の応用例として、いわゆるスマートホーム環境[ 24 ] 、スマートルーム環境[ 25 ]、ソーシャルネットワーキング環境[ 26 ]の3つが実証されている。

この技術は、フィンランドとロシアの大学間通信協力(FRUCT)における主要な重点分野の一つである。
サンクトペテルブルク国立航空宇宙計測大学(ロシア、サンクトペテルブルク)のモバイルソフトウェアおよびサービス研究所(MSSLab)では、共通の技術と概念に関する集中的な研究開発が行われています。主な研究テーマは、分散型スマートスペースにおける情報検索とアクセス制御です。博士論文研究といくつかの修士論文研究が進行中です。開発活動には、会議やその他のイベント中に情報サポート、コミュニケーション、専門家検索サービスを提供することを目的としたCoffeeBreak Assistantアプリケーションが含まれます。[ 27 ]
ペトロザヴォーツク州立大学[ 29 ] (ロシア、ペトロザヴォーツク)の無線およびモバイル技術研究所のプロジェクトSmartSlog [ 28 ]は、ANSI C のオントロジーライブラリジェネレータを開発しています。これは、Web オントロジー言語(OWL) 記述を ANSI C コード (オントロジーライブラリ) にマッピングします。このライブラリは、低レベルのトリプレットベースの用語ではなく、オントロジーエンティティの高レベルの用語で M3 エージェントをプログラミングするための API を提供します。オントロジーライブラリは、エージェントアプリケーションと低レベル (メディエーター) ライブラリの間に位置します。現在、SmartSlog は、SIB とのトリプレットベースの通信に KPI_low インターフェース[ 30 ] (小型組み込みデバイス向け) を使用しています。
SmartConferenceプロジェクト[ 31 ]は、会議中のプロセスを自動化するためのインテリジェントシステムです。会議参加者は、モバイルデバイスを使用してプレゼンテーションを制御できるほか、自動スケジュールシステムやその他の便利なサービスを利用できます。
ペトロザヴォーツク州立大学[ 29 ](ロシア、ペトロザヴォーツク)の無線およびモバイル技術研究所のプロジェクトSmartScribo [ 32 ]は、マルチブログ用のANSI C、C#、Pythonモバイル分散システムを開発しています。