Apama Documentation : Developing Apama Applications : Developing Apama Applications in EPL : Using Correlator Plug-ins in EPL : Using MATLAB® products in an application
Using MATLAB® products in an application
 
MatlabManager actions
MATLAB examples
To use MATLAB analysis and modeling capability in an Apama application or in an application built using the Apama Capital Markets Foundation, you need to add the MATLAB bundle to your project and ensure that MATLAB executables and libraries are available to the correlator. The MATLAB bundle provides access to the MATLAB analysis and modeling toolkit from Apama EPL code and includes a correlator plug-in.
For information about supported versions, see the Supported Platforms document for the current Apama version. This is available from the following web page: http://documentation.softwareag.com/apama/index.htm.
This MATLAB plug-in lets you connect to and use the MATLAB engine. However, there are some functions/toolkits for which MATLAB does not support integration with C or Fortran on some operating platforms. Check the MATLAB documentation before using the MATLAB correlator plug-in.
The recommended way to use the MATLAB plug-in is to use the MatlabManager event, and call the relevant action and supply a callback. The call goes directly to the MATLAB plug-in so you do not need to route a request event. *Response events are routed from the MATLAB plug-in to the calling context. Each request action automatically sets up a listener for the *Response event that will call the supplied callback. You can supply the relevant doesNothing*Callback() action from the MatlabManager event if you are not interested in the results of the callback. If you use the MatlabManager actions you do not need to call the #initialize() action.
The legacy way to use the MATLAB plug-in is to route *Request events and set up listeners for the *Response events. If you are using the MATLAB plug-in in only the main context, injecting MatlabService.mon sets up all required listeners for the *Request events that call into the MATLAB plug-in. To use the MATLAB plug-in from another context, instantiate a MatlabManager variable, spawn to the other context, and call #initialize() on the variable. This sets up the required listeners in the current (non-main) context, and the *Response events are routed to this context.
Note:  
The MATLAB plug-in is asynchronous (except the OpenSession requests) so the processing of the input queue, or calling the request actions, does not block.
The MATLAB plug-in is multi-context aware. The *Response events are routed to the calling context.
To include MATLAB capabilities in your application, follow these steps:
1. Ensure that the directory containing the MATLAB plug-in library is included in the library search path: %APAMA_HOME%\bin should be in the PATH on Windows platforms, or for deployment on Linux operating systems, $APAMA_HOME/lib should be in the LD_LIBRARY_PATH.
2. Import the MATLAB plug-in in the application's EPL code.
3. Set the appropriate values for your PATH environment variable:
*64-bit Windows: Add MATLAB_HOME/bin and MATLAB_HOME/bin/win64 to %PATH%.
*64-bit Linux: Add MATLAB_HOME/bin to $PATH. Also, add MATLAB_HOME/sys/os/glnxa64 and MATLAB_HOME/bin/glnxa64 to $LD_LIBRARY_PATH.
Copyright © 2013-2016 Software AG, Darmstadt, Germany.

Product LogoContact Support   |   Community   |   Feedback