MATLAB Compiler SDK

Creare componenti software da programmi MATLAB

 

MATLAB Compiler SDK™ estende la funzionalità di MATLAB Compiler™ consentendo di creare shared library in C/C++, assembly Microsoft® .NET, classi Java® e pacchetti Python® da programmi MATLAB®. Questi componenti possono essere integrati in applicazioni custom e poi distribuiti per essere eseguiti su sistemi desktop, web ed enterprise.

MATLAB Compiler SDK include una versione di sviluppo di MATLAB Production Server™ per il test e il debug del codice di applicazione e degli add-in di Excel prima della loro distribuzione integrazione in applicazioni web e in sistemi enterprise.

Le applicazioni create utilizzando i componenti software ottenute con MATLAB Compiler SDK possono essere condivise senza royalty con gli utenti che non necessitano di MATLAB. Queste applicazioni utilizzano il MATLAB Runtime, un set di shared library che consente l'esecuzione di applicazioni o componenti MATLAB compilati.

Per generare codice sorgente C e C++ da MATLAB, si utilizza MATLAB Coder™.

Per iniziare:

Incorporare programmi MATLAB in applicazioni enterprise

Integra in applicazioni desktop, server o web

Sviluppo di componenti software

Si segue la stessa procedura di base per integrare un componente MATLAB con un altro linguaggio di programmazione o per eseguirlo in ambiente MATLAB Production Server:

  1. Si crea il codice MATLAB.
  2. Si esegue il packaging del codice MATLAB, usando una App interattiva o da riga di comando, in un componente specifico o come archivio distribuibile per MATLAB Production Server
  3. Si Integra il componente o le librerie client di MATLAB Production Server con l’applicazione host utilizzando il proprio ambiente di sviluppo preferito, come Visual Studio®, Eclipse®, Xcode o altri.
  4. Si completa l’applicazione e  la si installala sul computer target: un’installazione locale per applicazioni desktop o un’installazione centralizzata per applicazioni basate su server.

Packaging del codice MATLAB in un componente specifico per il linguaggio.

Applicazioni desktop

Applicazioni C/C++

Per applicazioni scritte in C/C++, MATLAB Compiler SDK offre funzionalità per:

  • Creare librerie thread-safe.
  • Creare file di librerie dinamiche da integrare facilmente con Visual Studio (per applicazioni Windows®)
  • Produrre le signature di funzione in un header file e un codice criptato nel file di libreria da includere in un’applicazione C o C++.
  • Supportare la funzionalità C++ 11, type-safety e multithread-safety con la libreria condivisa MATLAB Data API in C++.
  • Richiamare le funzioni in modo asincrono con la libreria condivisa MATLAB Data API in C++ che può essere eseguita internamente ed esternamente al processo.

Si possono inoltre convertire i propri programmi MATLAB in codice e librerie C/C++ portabili tramite MATLAB Coder™.

Generazione di shared library C/C++.

Applicazioni .NET e COM

Per applicazioni scritte in .NET o COM, MATLAB Compiler SDK offre funzionalità per:

  • Generare wrapper .NET o COM attorno ai programmi MATLAB in modo da potervi accedere come se fossero componenti nativi .NET e COM.
  • Eseguire applicazioni .NET su piattaforme non Windows utilizzando .NET Core.
  • Aggiungere e accedere a file di codice MATLAB e file MEX come metodi pubblici del componente generato.
  • Denominare i componenti .NET in base ai linguaggi CLS (Common Language Specification), inclusi C#, F#, VB.NET o ASP.NET.
  • Denominare gli oggetti COM in base alla tecnologia conforme alle specifiche COM, inclusi Visual Basic® o ASP.
  • Utilizzare un’interfaccia type-safe da integrare nelle interfacce esistenti nell’applicazione .NET.
  • Passare oggetti .NET direttamente a e da una funzione compilata MATLAB.
  • Utilizzare classi di conversione di dati per convertire manualmente i dati e per gestire i dati di output.
  • Supportare Windows Communication Foundation (WCF) o SOA (service-oriented architecture) web o enterprise.
  • Supportare l’API .NET remoting per eseguire la classe come servizio persistente o eseguire il componente in processi multipli.

Generazione di assembly per framework .NET, .NET Core e COM.

Applicazioni Java

Per le applicazioni Java, MATLAB Compiler SDK offre funzionalità per:

  • Generare un wrapper Java attorno ai programmi MATLAB in modo che si comportino come una classe Java standard; creare un Javadoc per identificare le proprietà e i metodi della classe.
  • Aggiungere file MATLAB e file MEX con funzione di metodi di classe esternamente visibili del  componente generato.
  • Garantire che le classi Java siano portabili ed eseguibili su tutte le piattaforme supportate da MATLAB. (Nota: alcune funzioni toolbox sono implementate come file MEX dipendenti dalla piattaforma o librerie native; ciò rende queste funzioni, e qualunque classe Java che le utilizzi, specifiche per quella piattaforma).
  • Passare tipi di dati Java nativi a funzioni MATLAB e convertire automaticamente in tipi di dati MATLAB o selezionare esplicitamente il tipo di dato da utilizzare.
  • Accedere alle applicazioni web basate su MATLAB create come componenti Java con SOA, servizi SOAP, WSDL, interfacce RMI, servizi HTTP, servlet Java e JSP.
  • Utilizzare l’interfaccia RMI (remote method invocation) per eseguire la classe come servizio persistente o eseguire la procedura in più processi o su più  computer.

Generazione di classi Java.

Applicazioni Python

Per le applicazioni Phyton, MATLAB Compiler SDK offre funzionalità per:

  • Generare pacchetti Python di programmi MATLAB, inclusi i file MEX, cui accedere attraverso un’applicazione Python o da una sessione interattiva.
  • Passare tipi di dati Python nativi a e da funzioni MATLAB con conversione automatica.
  • Passare array multidimensionali a e da funzioni MATLAB nei componeti distribuiti, usando le classi Python incluse.
  • Integrare il proprio codice MATLAB con un’applicazione Python utilizzando l’API di MATLAB Engine. È inoltre possibile eseguire il debug e la distribuzione verso MATLAB Production Server o applicazioni personalizzate Python costruite con MATLAB Compiler SDK.

Generazione di package Python.

Applicazioni server

Scelta dell’infrastruttura: custom o basata su MATLAB Production Server.

MATLAB Production Server

Ospita i tuoi programmi MATLAB su una piattaforma sicura, gestibile e scalabile con MATLAB Production Server. Le funzioni ospitate su MATLAB Production Server possono essere richiamate dalle tue applicazioni C/C++, .NET, Java e Python utilizzando librerie client leggere. MATLAB Production Server fornisce inoltre un’interfaccia RESTful per le tue funzioni che possono essere richiamate da un’ampia varietà di applicazioni, ad esempio applicazioni mobili. MATLAB Compiler SDK include una versione di sviluppo di MATLAB Production Server per il test in locale e il debug del codice di applicazione prima della distribuzione sui sistemi di produzione.

MATLAB Production Server fornisce un server sicuro e scalabile per i tuoi programmi MATLAB.

Server di applicazioni custom

Per gli sviluppatori che desiderano utilizzare la propria infrastruttura, i componenti generati con MATLAB Compiler SDK si integrano con tecnologie standard come ASP.NET, SOA, WSDL, SOAP, XML, JavaScript®, HTML, servizi HTTP, servlet Java e JSP, e con RMI Java e .NET remoting per la scalabilità. Per le applicazioni che devono gestire grandi quantità di richieste contemporanee, è possibile creare uno strato intermedio di server RMI tra il server applicazioni e il codice MATLAB compilato.

MATLAB Compiler SDK fornisce gli strumenti per sviluppare un’infrastruttura server custom.

Distribuzione crittografata e senza royalty

Esegui il packaging e distribuisci i programmi MATLAB sotto forma di shared library in C/C++, assembly Microsoft .NET, classi Java o librerie Python.

Packaging dei componenti

Durante il processo di packaging, MATLAB Compiler SDK incorpora solo le funzioni MATLAB e i file di cui è richiesta l’esecuzione nel tuo programma per ottimizzare la dimensione del componente finale. Il codice MATLAB è crittografato per proteggere il codice sorgente dagli utenti delle applicazioni.

Packaging dei componenti.

Distribuire i componenti

Tutte le applicazioni e i componenti distribuiti utilizzano il MATLAB Runtime per la distribuzione senza royalty agli utenti che non necessitano di MATLAB. Per le piattaforme desktop, l’applicazione e il runtime sono installati direttamente sul computer target, mentre le applicazioni web e enterprise, e il relativo runtime, possono essere installati in un server centralizzato per una più facile gestione e distribuzione. Per garantire agli utenti della tua applicazione l’esperienza migliore, MATLAB Compiler SDK consente di specificare se fornire MATLAB Runtime con il pacchetto di installazione o se scaricarlo automaticamente durante l’installazione.

MATLAB Runtime viene installato con i tuoi componenti.

Ultime novità

Integrazione .NET Assembly

supporto per gli array di stringhe MATLAB

Integrazione di librerie condivise C/C++

supporto per gli array di stringhe MATLAB

Consulta le note di rilascio per ulteriori informazioni su queste caratteristiche e sulle funzioni corrispondenti.