Rules for Generators
Devices specified in top-level modules are hooked under the parent device that contains the generated application. No toplevel devices will be created.
If no parent device ID is specified, the most recent matching parent device is used as the new parent object. This means that if a child module generates a device, this device will be added under one of the generated devices of the parent module if possible. If the direct parent module has no device at all or does not generate a device that fits under the child device, the devices of the parent–parent module are used, and so on. If there are no more generated parent devices, an attempt is made to generate into the toplevel device of the respective toplevel module. If more that one device is offered from a parent module object, the first compatible device will be used.
See also: Subsection: Device
The name of the generated device is "device ID + module name + device". If this name is already used by a device an ascending number will be added.
Already created devices will not be deleted by a new generation run; therefore manual adjustments of the settings will be maintained.
Additional or modified parameters created by the module declaration will be assigned to the corresponding devices with each generation run.
Like all objects created by the Application Composer additional devices will be marked in the device tree. If an attempt is made to modify or delete such a device, a warning will be displayed. This warning draws attention to the fact that any changes made to the device settings may be lost if, for example, the module structure is regenerated after being changed.
Child devices, which are automatically added under certain devices, are classified under the same module instance as their parent. That means, those child devices are treated as if they were defined in the module declaration, which, indeed, holds the definition of their parent device. The child devices are not created or deleted independently, but are only treated together with their parent devices.
If a device brings along explicit connectors, during compatibility checks to other devices, the latters are treated as if they were implicit connectors. In other words, all connectors are used for testing the compatibility to other devices, so that finally only that connector (no matter if explicit or implicit) is used, which matches for the parent device and child device. Explicitly as connector parent object, implicitly as part of the device parent object.