WOLFRAM

テクノロジー ›

WSTP (Wolfram Symbolic Transfer Protocol)

プログラム間でコード,データ等とシームレスに通信

長年に渡ってWolframシステムを可能にしてきた中核的なコンポーネントであるWSTPは,プログラム間でWolfram言語の記号式を転送するためのネイティブプロトコルです.

単一のコンピュータ上でもネットワーク上でも動作するWSTPを使うと,Wolfram言語で書かれたプログラムと他の言語で書かれたプログラムの間で,任意の構造を持つコード,データ,その他の記号式が効率的に交換できます.


言語のサポート

豊かな機能を持つライブラリによって,さまざまな言語からWSTPへアクセスすることが可能になります.

C/C++

C/Link は,WSTPを介した通信や,計算結果の要求および取得を行うための,便利なネイティブのCサポートを提供します.

wstp.h:ヘッダファイル
libwstp等:32ビットおよび64ビットのライブラリ
wsprep:テンプレート駆動型のグルーコードジェネレータ
wscc:WSTPコンパイラドライバ

Java

J/Link はJavaプログラムのためのWSTP通信の高レベルサポートを提供します.

J/Link を使うと,JavaのクラスとメソッドがWolfram言語のプログラムのWSTPを介してすぐに見えるようになります.

.NET

.NET/Link はC#,VB.NET等の中の.NETプログラムのためのWSTP通信の高レベルサポートを提供します.

.NET/Link を使うと,.NETのタイプとメソッドがWolfram言語のプログラムのWSTPを介してすぐに見えるようになります.

WOLFRAM言語

Wolfram言語にはWSTPを介して式を交換したり計算を要求したりするための組込みサポートが装備されています.

Rust

wstp クレートは,WSTPを介して通信するための,人間工学に基づいた効率的なRustサポートを提供します.

wstp:WSTPへの効率的なバインディング
wolfram-library-link:Wolfram言語からRustライブラリを効率的に呼び出す
wolfram-expr:Wolfram言語式をRustで表す

その他の言語

他の言語での完全なWSTPサポートも現在開発中です.

Wolfram言語への片方向接続は,PHP,Python,JavaScript,Visual Basic,Java,C#,C++,Rustを含む多数の言語においてHTTPを介してサポートされています.

WSTPサービスとクライアント

WSTPはWolframテクノロジーのソフトウェアコンポーネント間での豊かな交流を可能にする鍵です.

WOLFRAM ENGINE

WSTPはWolfram Engineのネイティブ通信プロトコルです.

WSTPSERVER

WSTPServerはWSTPを介して通信するWolfram Engineを利用可能にします.

WOLFRAMデスクトップノートブックインターフェース

WOLFRAMデスクトップノートブックインターフェースはローカルコンピュータ上,リモートコンピュータ上のどちらでもWSTPを介してWolfram Engineカーネルと通信します.

WOLFRAM言語並列フレームワーク

並列計算はWolfram言語内で,Wolfram Engineカーネル間のWSTP接続を介してサポートされます.

WOLFRAM CLOUD WSTPエンドポイント

Wolfram Cloudは,インターネット経由でWSTPによる通信を可能にするWSTPエンドポイントを公開することができます.URL構造:wstp://www.wolframcloud.com/...

WSTPインストール可能プログラム

WSTP言語のライブラリやユーティリティを使うことで,多数の言語のプログラムをWSTP経由で通信するように設定することができます.

WOLFRAM LIBRARYLINK

Wolfram LibraryLink を使うと,実行中のWolfram Engineに直接ロードするDLLを作成し,そのエンジンを使ってWSTPを介して通信できるようになります.

記号式の交換

WSTPは一対のプログラム間で記号式を転送するために使うことができます.プログラムはどちらもWolfram言語で書かれたものでなくても構いません.

技術情報

  1. WSTPは双方向プロトコルです.XMPPに似ていますが,HTTPとは異なります.
  2. WSTPは現在Mac,Windows,Linux,iOS,Androidでサポートされています.
  3. WSTPは32ビットシステムと64ビットシステムがある場合には,その両方でサポートされます.
  4. WSTPはローカルでもネットワーク上でも実行できます.
  5. WSTPはTCP/IP,共有メモリ,Unixパイプを含むさまざまな転送プロトコルおよびプロセス間通信メカニズムを利用することができます.

背景

WSTPは1990年からMathematicaで使われているプログラム間通信のための標準である MathLink の転送プロトコルコンポーネントの新名称です.

C/LinkMathLink のC言語APIコンポーネントの新名称です.