<module name="Aircraft" id="1">See also the identification article for the constraints on naming and identification. Note that the identification can be omitted. For example, the following definition is valid:
<module name="Aircraft" >
<module name="Aircraft" desc="the Aircraft description">
<module name="Aircraft"> <description>the Aircraft description</description>
isMaster
attribute specifies that a module is a master moduleisEnabled
attribute specifies if a module is enabled or not<module name="Aircraft" isMaster="true">And here the module is not enabled:
<module name="InertialNavSystem1" isEnabled="false">Note that it is possible to change the enabled state of a module by a master module during runtime.
module
pythonModule
groovyModule
cModule
customModule
modules
and module
declarations.
interfaces
element. For example:<module name="FlightManagementSystem"> <interfaces> <subscribe service="position" /> <eventReceived service="directTo"/> </interfaces> </module>
FlightManagementSystem
module:position
publish servicedirectTo
event servicecomputeFlightPlan
request-response service<module name="FlightManagementSystem" id="1" > <implementation path="org.da.aircraft.fms.FMS" > <initEntryPoint method="init" /> <startEntryPoint method="start" /> <defaultReceiveEntryPoint method="receive" /> <defaultSendEntryPoint method="send" /> </implementation> <interfaces> <subscribe service="position" /> <eventReceived service="directTo"/> <requestReceived service="computeFlightPlan"/> </interfaces> </module>
FlightManagementSystem
module:position
publish servicedirectTo
event servicecomputeFlightPlan
request-response service<groovyModule name="FlightManagementSystem" id="1" > <groovyImplementation path="fms.groovy" /> <interfaces> <subscribe service="position" /> <eventReceived service="directTo"/> <requestReceived service="computeFlightPlan"/> </interfaces> </groovyModule>
FlightManagementSystem
module:position
publish servicedirectTo
event servicecomputeFlightPlan
request-response service<pythonModule name="FlightManagementSystem" > <pythonImplementation path="pythonAppli"/> <interfaces> <subscribe service="position" /> <eventReceived service="directTo"/> <requestReceived service="computeFlightPlan"/> </interfaces> </pythonModule>Another way to specify the Python module is to explictly specify the ports and port sizes for the Java / Python communication:
<pythonModule name="FlightManagementSystem" > <pythonImplementation path="pythonAppli" inputPort="6000" outputPort="6005" inputSize="1024" outputSize="1024"/> <interfaces> <subscribe service="position" /> <eventReceived service="directTo"/> <requestReceived service="computeFlightPlan"/> </interfaces> </pythonModule>
FlightManagementSystem
module:position
publish servicedirectTo
event servicecomputeFlightPlan
request-response service<cModule name="FlightManagementSystem" id="1" > <cImplementation path="cAppli" /> <interfaces> <subscribe service="position" /> <eventReceived service="directTo"/> <requestReceived service="computeFlightPlan"/> </interfaces> </cModule>
FlightManagementSystem
module is a custom defined python module which:position
publish servicedirectTo
event servicecomputeFlightPlan
request-response service<customModule name="FlightManagementSystem" id="1" type="python" > <implementation path="pythonAppli" /> <parameter key="inputPort" value="6000" /> <parameter key="outputPort" value="6005" /> </implementation> <interfaces> <subscribe service="position" /> <eventReceived service="directTo"/> <requestReceived service="computeFlightPlan"/> </interfaces> </customModule>
Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence