module with a  name but without any implementation. In that case the framework will look for an autodescripted module to instanciate. In that case the instance name will be generated automaticallyinstance with a  name for the autodescripted module and an  instance for the instance namemodule1 is an instance because there is no  implementation specification:<application name="theAppli"> <deployment> <lib url="myModule.jar" /> </deployment> <modules> <module name="module1"/> </modules> </application>In this example, the fact that
myInstance is an instance is explicit:<application name="theAppli"> <deployment> <lib url="myModule.jar" /> </deployment> <modules> <instance name="module1" instance="myInstance" /> </modules> </application>
implementation. The framework will assume that it is an instance of one of the modules defined in the library.
<application name="autoDesc1"> <modules> <module name="firstModule" > <implementation path="org.da.MyModule1" > <initEntryPoint method="init" /> </implementation> <interfaces> <eventSend service="theEvent3"/> <eventReceived service="theEvent4"/> </interfaces> </module> </modules> </application>In the secondModule.jar jar file:
<application name="autoDesc2"> <modules> <module name="secondModule" > <implementation path="org.da.MyModule2" > <initEntryPoint method="init" /> </implementation> <interfaces> <eventSend service="theEvent2"/> <eventReceived service="theEvent1"/> </interfaces> </module> </modules> </application>
firstModule module defined in the first jar file. The name of the instance will be  firstModule$1:<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> </deployment> <modules> <module name="module1" /> </modules> </application>In this example, there is a specification where we have two modules in the library. We need to specify the correct module name. The name of the instance will be
secondModule$1:<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> <lib url="secondModule.jar" /> </deployment> <modules> <module name="secondModule" /> </modules> </application>In this example, we have two modules in the library, and we instanciate one twice. The name of the first instance will be
secondModule$1, the name of the second instance will be  secondModule$2:<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> <lib url="secondModule.jar" /> </deployment> <modules> <module name="secondModule" /> <module name="secondModule" /> </modules> </application>
instance element.
myModule:<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> <lib url="secondModule.jar" /> </deployment> <modules> <instance name="secondModule" instance="myModule" /> </modules> </application>
interface element for the instance, by default you will not use the interfaces defined for the autodescripted module, but those defined specifically for the instance. However it is also possible to keep the autodescripted module.
<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> </deployment> <modules> <module name="firstModule" > <interfaces> <eventReceived service="theInstanceEvent"/> </interfaces> </module> </modules> </application>
module element) is derived from the name of the autodescripted module:  autodescripted_module_name$instance_index (in the order of declaration).firstModule$1:<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> </deployment> <modules> <module name="firstModule" /> </modules> </application>In this other case, the name of the first instance will be
firstModule$1, the second  firstModule$2:<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> </deployment> <modules> <module name="firstModule" /> <module name="firstModule" /> </modules> </application>The names of modules which are defined explicitly (by the
instance element) is the value of the  instance attribute for the instance. For example here the name of the instance will be  myInstance:<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> </deployment> <modules> <instance name="firstModule" instance="myInstance" /> </modules> </application>
modules and  module declarations.<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> </deployment> <modules> <module name="firstModule" > <interfaces> <eventReceived service="theInstanceEvent"/> </interfaces> </module> </modules> </application>is equivalent to:
<application name="theAppli"> <deployment> <lib url="firstModule.jar" /> </deployment> <interfaces> <eventReceived service="theInstanceEvent"/> </interfaces> </application>
 
 
<application name="aircraft"> <deployment> <lib url="inertialNAV.jar" /> </deployment> <modules> <module name="InertialNAVSystem" /> <module name="InertialNAVSystem" /> </modules> </application>We can define the properties configuration with:
<properties> <application name="aircraft" > <module name="InertialNAVSystem$1" > ... </module> <module name="InertialNAVSystem$2" > ... </module> </application> </properties>or with:
<properties> <application name="aircraft" > <module name="InertialNAVSystem" > ... </module> <module name="InertialNAVSystem" > ... </module> </application> </properties>
 
 
 
Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence