MATLAB Compiler SDK

MATLAB プログラムからソフトウェア コンポーネントをビルド

 

MATLAB Compiler SDK™ は MATLAB Compiler™ の機能を拡張して、MATLAB® プログラムからの C/C++ 共有ライブラリ、Microsoft® .NET アセンブリ、Java® クラス、Python® パッケージのビルドを可能にします。これらのコンポーネントをカスタム アプリケーションに統合して、デスクトップ、Web、およびエンタープライズ システムに展開できます。

MATLAB Compiler SDK には、アプリケーション コードや Excel アドインを Web アプリケーションやエンタープライズ システムに展開する前にテストおよびデバッグできる MATLAB Production Server™ の開発版が含まれています。

MATLAB Compiler SDK のソフトウェア コンポーネントを使用して作成されたアプリケーションを、MATLAB を必要としないユーザーと無償で共有できます。これらのアプリケーションは、コンパイルした MATLAB アプリケーションやコンポーネントの実行を可能にする一連の共有ライブラリである、MATLAB Runtime を使用します。

MATLABからの Cおよび C++ のソースコード生成には、MATLAB Coder™ を使用します。

今すぐ始める:

エンタープライズ アプリケーションに MATLAB プログラムを統合

デスクトップ、サーバー、または Web アプリケーションと統合します。

ソフトウェア コンポーネントの構築

他のプログラミング言語と統合するか、または MATLAB Production Server で実行するかに関わらず同じ基本的なプロセスに従って進みます。

  1. MATLAB アプリケーション コードを作成します。
  2. 対話型アプリまたはコマンドラインを使用して、MATLAB コードを言語固有のコンポーネントに、または MATLAB Production Server へと展開可能なアーカイブにパッケージ化します。
  3. Visual Studio®、Eclipse®、XCode など好みの開発環境を使用してコンポーネント、または MATLAB Production Server クライアント ライブラリをホスト アプリケーションに統合します。
  4. アプリケーションを完成させ、対象のコンピューターにインストール します。デスクトップ アプリケーションの場合はローカル インストール、サーバーベースのアプリケーションの場合は集中型インストールをします。

MATLAB コードを言語固有のコンポーネントにパッケージ化

デスクトップ アプリケーション

C/C++ アプリケーション

C/C++ で作成されたアプリケーション向けに、MATLAB Compiler SDK には次の機能が用意されています。

  • スレッドセーフ ライブラリを作成
  • Visual Studio にシームレスに統合するダイナミック ライブラリ ファイルを作成 (Windows® アプリケーションの場合)。
  • C または C++ アプリケーションに含めるためのヘッダー ファイルの関数シグネチャおよびライブラリファイルの暗号化コードの作成。
  • C++ MATLAB データ API 共有ライブラリを使用して、C++ 11 機能とタイプセーフティ、マルチスレッドセーフティをサポート。
  • インプロセスまたはアウトプロセスのどちらでも実行可能な、C++ MATLAB データ API 共有ライブラリを用いて関数の非同期呼び出し。

MATLAB Coder™ を使用して、MATLAB プログラムを可読性があり移植可能な C/C++ コードとライブラリに変換することもできます。

C/C++ 用共有ライブラリの生成

.NET および COM アプリケーション

.NET または COM で作成されたアプリケーション向けに、MATLAB Compiler SDK には次の機能が用意されています。

  • ネイティブの .NET および COM コンポーネントと同様にアクセスできるように MATLAB プログラムで使用する .NET または COM ラッパーを生成。
  • .NET Core を使用して非 Windows プラットフォームで .NET アプリケーションを実行。
  • コンポーネントのパブリックメソッドとして MATLAB コードファイルおよび MEX ファイルを追加して、アクセス。
  • C#、F#、VB.NET、ASP.NET を含む CLS (共通言語仕様) 準拠の言語から .NET コンポーネントの呼び出し。
  • Visual Basic® や ASP を含む COM 準拠のテクノロジーから COM オブジェクトの呼び出し。
  • タイプセーフ インターフェイスを使用して既存のインターフェイスを .NET アプリケーションに統合。
  • .NET オブジェクトをコンパイル済みの MATLAB 関数に直接受け渡し。
  • データ変換クラスを使用してデータを手動で変換し、出力データを管理。
  • Web または エンタープライズ向けSOA (サービス指向アーキテクチャ) で WCF (Windows Communication Foundation) をサポート。
  • クラスを永続サービスとして実行するか、コンポーネントを複数のプロセスで実行できるように.NET リモート処理 API をサポート。

.NET Framework、.NET Core、および COM 用アセンブリの生成

Java アプリケーション

Java アプリケーション向けに、MATLAB Compiler SDK には次の機能が用意されています。

  • 他の Java クラスと同様に動作するように MATLAB プログラムの Java ラッパーを生成。クラスのプロパティとメソッドを識別する Javadoc も作成。
  • コンポーネントの外部で表示されるクラスメソッドとして機能する MATLAB ファイルと MEX ファイルを追加。
  • Java クラスが移植可能で、MATLAB でサポートされるすべてのプラットフォームで実行されることを確認。(一部のツールボックス関数はプラットフォームに依存する MEX ファイルまたはネイティブライブラリとして実装されているため、これらの関数とそれらの関数を使用するすべての Java コンポーネントはプラットフォーム固有になります。)
  • ネイティブの Java データ型を MATLAB 関数に渡して、自動的に MATLAB データ型に変換するか、使用するデータ型を明示的に選択。
  • SOA、SOAP サービス、WSDL、RMI インターフェイス、HTTP サービス、Java サーブレット、JSPを用いた Java コンポーネントとして展開される MATLAB Web アプリケーションにアクセス。
  • RMI (Remote Method Invocation) インターフェイスを使用してクラスを永続サービスとして実行するか、複数のプロセスまたはコンピューターに処理を分散。

Java クラスの生成

Python アプリケーション

Python アプリケーション向けに、MATLAB Compiler SDK には次の機能が用意されています。

  • Python アプリケーションまたは対話型セッションによってアクセスされる、MEX ファイルを含むMATLAB プログラム用のPython パッケージを生成。
  • 自動変換による、ネイティブの Python データ型の MATLAB 関数への受け渡し。
  • 製品に含まれるPython クラスを使用した、展開可能なアーカイブの MATLAB 関数への多次元配列の受け渡し。
  • MATLAB エンジン API を使用し、MATLAB コードを Python アプリケーションに統合。これを使い、MATLAB Production Server または MATLAB Compiler SDK で構築されたカスタム Python アプリケーションに対してデバッグや展開可能。

Python パッケージの生成 

サーバー アプリケーション

インフラストラクチャの選択 – MATLAB Production Server またはカスタム。

MATLAB Production Server

MATLAB Production Server を使用して、安全でスケール可能かつ管理しやすいプラットフォームに MATLAB プログラムを提供。MATLAB Production Server で提供される関数は、軽量クライアント ライブラリを使用して C/C++、.NET、Java、および Python アプリケーションから呼び出すことができます。また MATLAB Production Server は、モバイルアプリなど幅広いアプリケーションから呼び出すことができる RESTful インターフェイスを関数に提供します。MATLAB Compiler SDK には、運用システムに展開する前にローカルでテストおよびデバッグできる MATLAB Production Server の開発版が含まれています。

MATLAB Production Server は MATLAB プログラム向けの安全かつスケール可能なサーバーを提供

カスタムのアプリケーション サーバー

独自のインフラストラクチャの活用に関心がある開発者向けに、MATLAB Compiler SDK で生成されたコンポーネントは、ASP.NET、SOA、WSDL、SOAP、XML、JavaScript®、HTML、HTTP サービス、Java サーブレット、JSP、および Java RMI や .NET リモート処理などの標準テクノロジーに統合されてスケーラビリティを実現します。多数の同時リクエストを処理する必要のあるアプリケーションの場合は、アプリケーション サーバーとコンパイルした MATLAB コードの間に RMI サーバーの中間レイヤーを作成できます。

MATLAB Compiler SDK は、独自のカスタム サーバー インフラストラクチャを開発するためのツールを提供します。 

暗号化された状態での無償での配布

MATLAB プログラムを C/C++ 共有ライブラリ、Microsoft .NET アセンブリ、Java クラス、または Python ライブラリとしてパッケージ化して配布。

コンポーネントのパッケージ化

パッケージ化の処理中、MATLAB Compiler SDK はプログラムの実行に必要な MATLAB 関数とファイルのみを統合し、結果として生じるコンポーネントのサイズを最適化します。MATLAB コードは暗号化され、アプリケーションのユーザーからソースコードを保護します。

コンポーネントのパッケージ化

コンポーネントの配布

展開されるすべてのアプリケーションとコンポーネントは、MATLAB Runtime を使用して MATLAB を所有していないユーザーに無償で配布できます。デスクトップ プラットフォームの場合、アプリケーションとランタイムは対象のコンピューターに直接インストールされますが、Web とエンタープライズ アプリケーションおよび関連のランタイムを中央サーバーにインストールすると管理と配布を容易に行うことができます。最高の体験をアプリケーションのユーザーに提供するため、MATLAB Compiler SDK では MATLAB Runtime をインストール パッケージで提供するか、インストール中に自動的にダウンロードするかを指定することができます。

MATLAB Runtime はコンポーネントと共にインストールされる

新機能

.NET アセンブリの統合

MATLAB string配列のサポート

C/C++ 共有ライブラリの統合

MATLAB string配列のサポート

これらの機能および対応する関数の詳細については、リリースノート を参照してください。