WOLFRAM

Technologien ›

WSTP (Wolfram Symbolic Transfer Protocol)

Nahtlose Kommunikation von Code, Daten und mehr zwischen Programmen

WSTP ist seit langem eine zentrale Basiskomponente der Wolfram-Systeme und das native Protokoll zur Übertragung symbolischer Ausdrücke der Wolfram Language zwischen Programmen.

Ob auf einem einzelnen Rechner oder über ein Netzwerk hinweg: WSTP ermöglicht es Programmen, die in Wolfram Language oder in anderen Programmiersprachen geschrieben sind, Code, Daten oder andere symbolische Ausdrücke mit beliebiger Struktur effizient auszutauschen.


Unterstützung von Programmiersprachen

Funktionsreiche Bibliotheken ermöglichen den Zugriff auf WSTP aus einer Vielzahl von Programmiersprachen.

C/C++

C/Link stellt eine komfortable native C-Unterstützung für die Kommunikation über WSTP bereit sowie für das Anfordern und Weiterverarbeiten von Berechnungsergebnissen.

wstp.h: Kopfdatei
libwstp usw.: 32- und 64-bit-Libraries
wsprep : vorlagenbasierter „Glue-Code“-Generator
wscc : WSTP Compiler-Treiber

Java

J/Link bietet hochgradige Unterstützung für WSTP-Kommunikation in Java-Programmen.

Mit J/Link werden Java-Klassen und -Methoden sofort über WSTP in Wolfram Language-Programmen sichtbar.

.NET

.NET/Link bietet hochgradige Unterstützung für WSTP-Kommunikation in .NET-Programmen (in C#, VB.NET usw.).

Mit .NET/Link-Typen und -Methoden sofort über WSTP in Wolfram-Language-Programmen verfügbar.

WOLFRAM LANGUAGE

Wolfram Language unterstützt von Haus aus den Austausch von Ausdrücken und das Anfordern von Berechnungen über WSTP.

Rust

Die wstp-Crate bietet ergonomische und effiziente Unterstützung für die Kommunikation über WSTP.

wstp: effiziente Bindings zu WSTP
wolfram-library-link: effizientes Aufrufen von Rust-Bibliotheken aus der Wolfram Language
wolfram-expr: Darstellung von Wolfram-Language-Ausdrücken in Rust

ANDERE SPRACHEN

Die vollständige WSTP-Unterstützung für weitere Sprachen ist in Entwicklung.

Eine Einwegverbindung zur Wolfram Language wird über HTTP in vielen Sprachen unterstützt, darunter PHP, Python, JavaScript, Visual Basic, Java, C#, C++ und Rust.

WSTP-Dienste & Clients

WSTP ist der Schlüssel für einen umfangreichen und leistungsfähigen Austausch zwischen Softwarekomponenten im Wolfram-Technologie-Ökosystem.

WOLFRAM ENGINE

WSTP ist das native Kommunikationsprotokoll der Wolfram Engine.

WSTPSERVER

WSTPServer stellt Wolfram Engines bereit, die über WSTP kommunizieren.

WOLFRAM DESKTOP NOTEBOOK-SCHNITTSTELLE

Das Wolfram Desktop Notebook Interface kommuniziert über WSTP mit Wolfram-Engine-Kernels – sowohl auf lokalen als auch auf entfernten Rechnern.

WOLFRAM LANGUAGE PARALLELISM FRAMEWORK

Innerhalb der Wolfram Language wird paralleles Rechnen durch WSTP-Verbindungen zwischen Wolfram-Engine-Kernels unterstützt.

WOLFRAM CLOUD WSTP-ENDPUNKT

Die Wolfram Cloud kann einen WSTP-Endpunkt bereitstellen, der die Kommunikation über WSTP über das Internet ermöglicht. URL-Struktur: wstp://www.wolframcloud.com/...

WSTP-INSTALLIERBARE PROGRAMME

Mithilfe der WSTP-Sprachbibliotheken und Dienstprogramme können Programme in vielen Programmiersprachen für die Kommunikation über WSTP eingerichtet werden.

WOLFRAM LIBRARYLINK

Wolfram LibraryLink ermöglicht die Erstellung von DLLs, die direkt in eine laufende Wolfram Engine geladen werden und über WSTP mit der Engine kommunizieren können.

AUSTAUSCH SYMBOLISCHER AUSDRÜCKE

WSTP kann zum Austausch symbolischer Ausdrücke zwischen beliebigen Programmen verwendet werden – selbst dann, wenn keines davon in der Wolfram Language geschrieben ist.

Technische Informationen

  1. WSTP ist ein bidirektionales Protokoll (ähnlich wie XMPP, aber im Gegensatz zu HTTP).
  2. WSTP wird derzeit auf macOS, Windows, Linux, iOS und Android unterstützt.
  3. Sofern zutreffend, wird WSTP sowohl auf 32-Bit- als auch auf 64-Bit-Systemen unterstützt.
  4. WSTP kann sowohl lokal als auch über ein Netzwerk eingesetzt werden.
  5. WSTP kann eine Vielzahl von Transportprotokollen und Mechanismen zur Interprozesskommunikation nutzen, darunter TCP/IP, Shared Memory und Unix-Pipes.

Hintergrund

WSTP ist der neue Name der Transferprotokoll-Komponente von MathLink – dem seit 1990 von Mathematica verwendeten Standard für die Interprogramm-Kommunikation.

C/Link ist der neue Name der C-Sprach-API-Komponente von MathLink.