All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
System Definition (.sdef) Files

.sdef files can contain these sections:

app
bindings

Note
Support for .sdef files is incomplete.

app

An app: section is used to declare than an application is to be deployed to the target system. Furthermore, each app: section can be used to override limits and other settings for that application.

For example, to deploy a web server and limit its share of the CPU under heavy load to 500 (see cpuShare),

app: webServer

    cpuShare: 500

Any of the following .adef sections and subsections can also be used as subsections of an .sdef app: section:

coreFileSize
cpuShare
faultAction
fileSystemSize
groups
maxFileSize
memLimit
memLockSize
mqueueSize
numFds
numProcs
priority
rtSignalQueueSize
sandboxed
start

Use of one of these in the .sdef "app:" section will override the equivalent setting for all processes in that application.

bindings

This section contains a list of IPC “bindings”, which are essentially connections between applications’ external IPC interfaces (listed in the “requires” and “provides” sections of their .adef files). Each binding connects one client-side (required) interface to one server-side provided interface.

Interfaces are identified using the application name and the interface name, separated by a period (‘.’). The two bound-together interfaces are separated by an equals sign (‘=’).

For example,

app: vavController

app: thermostat

app: airHandlerProxy

bindings:
    // Connect the VAV controller to the thermostat
    vavController.temp = thermostat.temp
    vavController.setpoint = thermostat.setpoint

    // Connect the VAV controller to the supply air duct temperature sensor
    vavController.ductTemp = ductTemperatureSensor.temp

    // Hook up the VAV control outputs to the damper actuators.
    vavController.supplyDamper = supplyAirDamper.damper
    vavController.returnDamper = returnAirDamper.damper

    // Use a network proxy to request duct temperature changes from the Air Handling Unit.
    vavController.airHandler = airHandlerProxy.airHandler

Note that, for security reasons, automatic binding between applications is never performed.

Beware that if an app's required interface instance is left unbound, the process or processes that require that interface may not be able to run.


Copyright (C) Sierra Wireless, Inc. 2014. All rights reserved. Use of this work is subject to license.