Home
Categories
Dictionary
Glossary
Download
Project Details
Changes Log
What Links Here
FAQ
License

Interfacing with an external application



The framework can integrate code developed in Java, Groovy, C, or Python. However it is also possible to interface the framework with one or several applications which are external to the framework. There are several ways to do it:
  • The simplest way to do it is to encapsulate your Java, Python, or C library in a module and communicatr through this module
  • Framework Owner: Calling the framework from external code. In this case the framework is a slave to a Java application which implements a FrameworkOwner interface
  • External Communication module: The built-in External Communication application allows to communicate through UDP or TCP with any external process
  • Ivy module: The built-in External Ivy module allows to communicate through UDP or TCP with code which communicate using the Ivy bus

Encapsulate your library

Main Article: Modules types

In this case, the framework will call library through your module. You can use Java modules, Python modules, or even C modules. Note that these modules don't need to implement any interface or subclass any superclass, as the modules are called through reflection.

Of course this will only be feasible if you can use your own code as a library. Also note that you won't be able to do that if your code need to manage the main Thread itself. For example you won't be able to use TkInter in your Python module because it maintains a main loop on the main Thread, eventually using all the space for itself. If you use TkInter, you should either use the xulInterface module, or communicate using the ExternalComm module or Ivy.

Also note that Python modules are using any Python executable you want. The framework does not mandate any specific Python executable, and can even work with Anaconda.

Framework Owner

Main Article: Framework Owner

It is possible to create and control the framework from an external Java application. Note that itmeans that you can also control the framework from a C or C++ application if you dare to create a JVM.

External Communication module


The External Communication module allows to communicate with UDP or TCP with any external application. This module allows to perform the communicate with anything as long as the external application is able to communicate through sockets.

Ivy module

Main Article: Ivy module

The built-in Ivy application allows to communicate with an Ivy bus

See also


Categories: concepts

Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence