WOLFRAM

Технологии ›

WSTP (Протокол символьного обмена Wolfram)

Беспрепятственно передает код, данные и другую информацию между программами

WSTP, давно являющийся основным компонентом систем Wolfram, является собственным протоколом для передачи символьных выражений языка Wolfram между программами.

Протокол WSTP, работающий на одном компьютере или в сети, позволяет программам, написанным как на Wolfram Language, так и на других языках эффективно обмениваться кодом, данными или другими символьными выражениями произвольной структуры.


Языковая поддержка

Многофункциональные библиотеки обеспечивают доступ к WSTP с различных языков.

C/C++

C/Link обеспечивает удобную встроенную поддержку языка C для обмена данными через WSTP, а также для запроса и использования результатов вычислений.

wstp.h: заголовочный файл
libwstp, etc.: 32- и 64-разрядные библиотеки
wsprep : генератор связующего кода на основе шаблонов
wscc : драйвер компилятора WSTP

Java

J/Link обеспечивает высокоуровневую поддержку обмена данными по протоколу WSTP для Java-программ.

С помощью J/Link, классы и методы Java сразу же становятся видимыми через WSTP в программах Wolfram Language.

.NET

.NET/Link обеспечивает высокоуровневую поддержку обмена данными по протоколу WSTP для .NET-программ (на C#, VB.NET и т.д.).

Благодаря .NET/Link типы и методы .NET становятся мгновенно видимыми через WSTP в программах Wolfram Language.

WOLFRAM LANGUAGE

Wolfram Language имеет встроенную поддержку для обмена выражениями и запроса вычислений через WSTP.

Rust

Пакет wstp обеспечивает эргономичную и эффективную поддержку Rust для обмена данными через протокол WSTP.

wstp: эффективные привязки к WSTP
wolfram-library-link: эффективный вызов библиотек Rust из Wolfram Language
wolfram-expr: представление выражений Wolfram Language в Rust

ДРУГИЕ ЯЗЫКИ

Полная поддержка WSTP для других языков находится в стадии разработки.

Одностороннее подключение к Wolfram Language поддерживается через HTTP на многих языках, включая PHP, Python, JavaScript, Visual Basic, Java, C#, C++ и Rust.

Услуги и клиенты WSTP

WSTP — ключ к обеспечению полноценного обмена данными между программными компонентами в технологической вселенной Wolfram.

WOLFRAM ENGINE

WSTP — это собственный протокол связи для Wolfram Engine.

WSTPSERVER

WSTPServer предоставляет доступ к Wolfram Engines, которые взаимодействуют через WSTP.

ИНТЕРФЕЙС БЛОКНОТА WOLFRAM DESKTOP

Интерфейс блокнота Wolfram Desktop взаимодействует с ядрами Wolfram Engine через протокол WSTP как на локальном, так и на удаленном компьютерах.

ФРЕЙМВОРК ПАРАЛЛЕЛИЗМА WOLFRAM LANGUAGE

В Wolfram Language параллельные вычисления поддерживаются посредством WSTP-соединений между ядрами Wolfram Engine.

КОНЕЧНАЯ ТОЧКА WSTP WOLFRAM CLOUD

Wolfram Cloud может предоставлять конечную точку WSTP, которая позволяет осуществлять обмен данными по протоколу WSTP через Интернет. Структура URL-адреса: wstp://www.wolframcloud.com/...

WSTP-УСТАНАВЛИВАЕМЫЕ ПРОГРАММЫ

Используя языковые библиотеки и утилиты WSTP, программы на многих языках могут быть настроены для обмена данными через WSTP.

WOLFRAM LIBRARYLINK

Wolfram LibraryLink позволяет создавать DLL-файлы, которые загружаются непосредственно в работающий Wolfram Engine и могут взаимодействовать с ним по протоколу WSTP.

ОБМЕН СИМВОЛИЧЕСКИМИ ВЫРАЖЕНИЯМИ

WSTP можно использовать для передачи символьных выражений между любой парой программ, даже если ни одна из них не написана на языке Wolfram Language.

Техническая информация

  1. WSTP - это двусторонний протокол (как и XMPP, но в отличие от HTTP).
  2. WSTP в настоящее время поддерживается на Mac, Windows, Linux, iOS и Android.
  3. При необходимости WSTP поддерживается как в 32-разрядных, так и в 64-разрядных системах.
  4. WSTP может работать как локально, так и по сети.
  5. WSTP может использовать различные транспортные протоколы и механизмы межпроцессного взаимодействия, включая TCP/IP, общую память и каналы Unix.

Предпосылки

WSTP — это новое название компонента протокола передачи данных MathLink—стандарта межпрограммного взаимодействия, используемого Mathematica с 1990 года.

C/Link — это новое название компонента API языка C в MathLink.