Developing and debugging the NMF under Netbeans

Getting started

Netbeans is a recommended IDE to use with the NMF as it definitely works out of the box. To import your NMF distribution into the IDE, select File -> Open Project and select the NMF root directory that you cloned from GitHub. Netbeans will now import all Maven subprojects into the Netbeans workspace.

Setting up the supervisor with simulator

Right click the project ESA NMF Core Composite - NanoSat MO Supervisor and select the option Properties. In the options Run enter the path to the supervisor simulator environment (by default at sdk/sdk-package/target/nmf-sdk-2.1.0-SNAPSHOT/home/nmf/nanosat-mo-supervisor-sim). Then add the following line under VM Options and save the configuration.

-Dnmf.platform.impl=esa.mo.platform.impl.util.PlatformServicesProviderSoftSim

Setting up the CTT

Right click the project ESA NMF SDK Tool - Consumer Test Tool (CTT) and select the option Properties. In the options Run enter the path to the CTT execution environment (by default at sdk/sdk-package/target/nmf-sdk-2.1.0-SNAPSHOT/home/nmf/consumer-test-tool) and save the configuration.

You are now able to start the supervisor with simulator and the CTT from NetBeans by right-clicking the respective project and selecting Run. You can now look at Developing your first NMF App.

NMF Space Apps

Set the working directory of the application to a newly created directory containing:

  • provider.properties file (available in [sdk-package space-app-root](sdk-package/src/main/resources/space-app-root) directory)

  • settings.properties and transport.properties files (available in [sdk-package space-common](sdk-package/src/main/resources/space-common) directory)

The above files are also deployed into all home directories of Space Apps inside an assembled SDK package.

Specify the URI of a running Supervisor’s Directory Service, so the app can connect to it and consume Platform Services provided by the Supervisor:

  • In Netbeans, Right Click on a project (e.g. ‘ESA NMF SDK App Example - All MC services’)->Properties->Run, and set the VM Options to:

  • -Desa.mo.nmf.centralDirectoryURI=<Directory_Service_URI>

  • e.g. -Desa.mo.nmf.centralDirectoryURI=maltcp://123.123.123.123:1024/nanosat-mo-supervisor-Directory

NMF Ground Applications

Set the working directory of the application to a newly created directory containing:

  • consumer.properties file (available in [sdk-package ground-consumer-root](sdk-package/src/main/resources/ground-consumer-root) directory)

  • providerURIs.properties file (generated by a running provider application)

The providerURIs.properties file is not needed by CTT as it retrieves these from Common::Directory service using its URI, input by the user.