<services> <publish name="position" id="1" > <data name="latitude" type="float" /> <data name="longitude" type="float" /> <data name="altitude" type="float" /> </publish> </services>See also services configuration.
interfaces element for the module configuration:push elementcyclic element, and specify the frequency on which it should be sentsubscribe element<module name="theSender" > <interfaces> <push service="myPublish"/> <cyclic service="myCyclic" frequency="200ms"/> </interfaces> </module> <module name="theReceiver" > <interfaces> <subscribe service="myPublish"/> <subscribe service="myCyclic"/> </interfaces> </module>
publish Service use case is typically cases where you want to send datas to as many subscribers as necessary. A publish Service can be invoked as often as necessery (even cyclically).publish Service to publish an aircraft position (see the example below).
position service definition: <services> <publish name="position" id="1" > <data name="latitude" type="float" /> <data name="longitude" type="float" /> <data name="altitude" type="float" /> </publish> </services>And the
InertialNavSystem, FlightManagementSystem, and GuidanceSystem modules definitions:<applications> <application name="aircraft" id="1"> <modules> <module name="InertialNavSystem" id="1" > <interfaces> <push service="position" attach="attach"/> </interfaces> </module> <module name="FlightManagementSystem" id="2" > <interfaces> <subscribe service="position"/> </interfaces> </module> <module name="GuidanceSystem" id="2" > <interfaces> <subscribe service="position"/> </interfaces> </module> </modules> </application> </applications>The
InertialNavSystem module provides the position Service. The FlightManagementSystem and GuidanceSystem modules are both notified of the published position.
Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence