WOLFRAM

기술 ›

WSTP (Wolfram Symbolic Transfer Protocol)

프로그램 간 코드, 데이터 등 다양한 요소를 원활하게 전달

WSTP는 오랫동안 Wolfram 시스템을 가능하게 해 온 핵심 구성 요소로서, 프로그램 간에 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: Rust에서 Wolfram 언어 표현식 표현

기타 언어

다른 언어에 대한 완전한 WSTP 지원은 현재 개발 중입니다.

PHP, Python, JavaScript, Visual Basic, Java, C#, C++, Rust 등 여러 언어에서 HTTP를 통한 Wolfram 언어와의 단방향 연결이 지원됩니다.

WSTP 서비스 및 클라이언트

WSTP는 Wolfram 기술 생태계 내의 소프트웨어 구성 요소 간의 풍부한 데이터 교환을 가능하게 하는 핵심입니다.

WOLFRAM ENGINE

WSTP는 Wolfram Engine의 기본 통신 프로토콜입니다.

WSTPSERVER

WSTPServer는 WSTP를 통해 통신하는 Wolfram Engine을 제공합니다.

WOLFRAM 데스크탑 노트북 인터페이스

Wolfram Desktop Notebook Interface는 로컬 및 원격 컴퓨터에서 Wolfram Engine 커널과 WSTP를 통해 통신합니다.

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는 MathLink의 전송 프로토콜 구성 요소의 새로운 이름으로, 1990년 이후 Mathematica에서 사용된 프로그램 간 통신 표준입니다.

C/LinkMathLink의 C 언어 API 구성 요소의 새로운 이름입니다.