Fork me on GitHub


Framework configuration file

HSN framework is configured through the configuration file located at /etc/hsn2/framework.conf. An example of this file is provided below.

workflow.repository = /etc/hsn2/workflows/
AMQP.queues.framework.low= fw:l
AMQP.queues.framework.high= fw:h feeder-list, webclient, capture, swf-cve, shell-scdbg, js-sta, reporter, norm-url, rb-officecat, rb-pdffox
AMQP.queues.objectStore.high= os:h
AMQP.queues.objectStore.low= os:l

# Exchange name for monitoring. Default value: notify
# You can bind to it and consume monitoring messages while
# job is in progress. notify

# Exchange name for common use. Default value: main main

# Exchange name for service to bind to. Default value: direct direct


# Uncomment it if you would like to limit number of maximum
# simultaneously processing jobs. If parameter is not specified
# or is less or equal to 0 there is unlimited maximum jobs.
# jobs.limit=10

You usually do not have to change any of these. However, these are the most commonly tweaked values:

List of all service names.


Address of the RabbitMQ installation.

Command line parameters

Each service can be configured by adjusting its command line parameters. These can be done in /etc/init.d/hsn2-<service_name> file. You just have to modify the HSN_COMPONENT_PARAMS variable. Example of this variable declaration is provided below.

HSN2_COMPONENT_PARAMS="--connector \
--dataStore \
--maxThreads 30"

Parameters common for all services are:


Address of the RabbitMQ installation.


Address of the data store component (default port on which it listens is 8080).


Number of threads on which the service will run. If it is a Python it is a number of processes. This is due to the CPython implementation solution called Global Interpreter Lock.


Framework accepts only one command line parameter:


Path to the framework configuration file.

JavaScript Static Analyzer

JavaScript Static Analyzer (js_sta) accepts three parameters which are correlated to the way it process contexts:


Location of the Weka ARFF training set


Location of libngrams, should not usually be changed, unless you know what you are doing


Path to the whitelist file.

In order to understand this parameters please read JavaScript static analyzer documentation.