WOLFRAM

Technologies ›

WSTP (Wolfram Symbolic Transfer Protocol)

Communique de manière transparente le code, les données et bien plus encore entre les programmes

WSTP est depuis longtemps une composante essentielle des systèmes Wolfram. C'est le protocole natif utilisé pour transférer les expressions symboliques de Wolfram Language entre les programmes.

Fonctionnant sur un seul ordinateur ou sur un réseau, WSTP permet aux programmes écrits à la fois en Wolfram Language et dans d'autres langages d'échanger efficacement du code, des données ou d'autres expressions symboliques, avec une structure arbitraire.


Prise en charge du langage

Des bibliothèques riches en fonctionnalités permettent d'accéder au WSTP à partir de divers langages.

C/C++

C/Link fournit une prise en charge native et pratique du langage C pour communiquer via WSTP, ainsi que pour demander et utiliser les résultats des calculs.

wstp.h : fichier de tête
libwstp, etc. : bibliothèques de 32 et 64 bits
wsprep : générateur de code de liaison basé sur des modèles
wscc : pilote du compilateur WSTP

Java

J/Link fournit une prise en charge de haut niveau pour la communication WSTP dans les programmes Java.

Avec J/Link, les classes et méthodes Java deviennent immédiatement visibles via WSTP dans les programmes Wolfram Language.

.NET

.NET/Link fournit une prise en charge de haut niveau pour la communication WSTP dans les programmes .NET (en C#, VB.NET, etc.).

Avec .NET/Link, les types et méthodes .NET deviennent immédiatement visibles via WSTP dans les programmes Wolfram Language.

WOLFRAM LANGUAGE

Wolfram Language prend en charge l'échange d'expressions et la demande de calculs via WSTP.

Rust

L'extension wstp fournit une prise en charge ergonomique et efficace de Rust pour communiquer via WSTP.

wstp : liaisons efficaces vers WSTP
wolfram-library-link : appel efficace des bibliothèques Rust depuis Wolfram Languagee
wolfram-expr : représentation des expressions Wolfram Language dans Rust

AUTRES LANGAGES

La prise en charge complète du WSTP est en cours de développement pour d'autres langages.

La connexion unidirectionnelle à Wolfram Language est prise en charge via HTTP dans de nombreux langages, notamment PHP, Python, JavaScript, Visual Basic, Java, C#, C++ et Rust.

Services et clients WSTP

WSTP est la clé qui permet un échange riche entre les composantes logicielles dans l'univers technologique de Wolfram.

WOLFRAM ENGINE

WSTP est le protocole de communication natif de Wolfram Engine.

WSTPSERVER

WSTPServer met à disposition des moteurs Wolfram qui communiquent via WSTP.

INTERFACE DE NOTEBOOKS SUR WOLFRAM DESKTOP

L'interface de notebooks sur Wolfram Desktop communique avec les noyaux Wolfram Engine via WSTP, aussi bien sur les ordinateurs locaux que distants.

CADRE DE PARALLÉLISME DE WOLFRAM LANGUAGE

Dans Wolfram Language, le calcul parallèle est pris en charge grâce aux connexions WSTP entre les noyaux Wolfram Engine.

TERMINAL WSTP DE WOLFRAM CLOUD

Wolfram Cloud peut exposer un terminal WSTP qui permet la communication via WSTP sur Internet. Structure de l'URL : wstp://www.wolframcloud.com/...

PROGRAMMES WSTP INSTALLABLES

Grâce aux bibliothèques de langages et aux utilitaires WSTP, des programmes dans de nombreux langages peuvent être configurés pour communiquer via WSTP.

WOLFRAM LIBRARYLINK

Wolfram LibraryLink vous permet de créer des DLL qui se chargent directement dans un Wolfram Engine en cours d'exécution et peuvent communiquer avec le moteur via WSTP.

ÉCHANGE D'EXPRESSIONS SYMBOLIQUES

WSTP peut être utilisé pour transférer des expressions symboliques entre deux programmes quelconques, même si aucun d'entre eux n'est écrit en Wolfram Language.

Informations techniques

  1. Le WSTP est un protocole bidirectionnel (comme le XMPP, mais pas comme le HTTP).
  2. WSTP est actuellement pris en charge sur Mac, Windows, Linux, iOS et Android.
  3. Le cas échéant, WSTP est pris en charge sur les systèmes 32 bits et 64 bits.
  4. WSTP peut fonctionner à la fois localement et sur un réseau.
  5. WSTP peut utiliser divers protocoles de transport et mécanismes de communication interprocessus, notamment TCP/IP, la mémoire partagée et les pipelines Unix.

Un peu d'histoire

WSTP est le nouveau nom de la composante de protocole de transfert de MathLink, la norme de communication interprogrammes utilisée par Mathematica depuis 1990.

C/Link est le nouveau nom de la composante API en langage C de MathLink.