3. Automatic configuration and
recommender roles
Two main roles:
◦ manage HW modularity;
◦ contribute managing gateway deployment.
Manage HW modularity: depending on the HW modules connected to the
gateway automatically configure the drivers; select and configure the
corresponding AGILE modules.
Manage gateway deployment: the gateway can be deployed in different
contexts, both in terms of environment and vertical application. The
gateway provide to the recommender information about the deployment
context, the recommender select a configuration/s depending on the
context and send it/them to the autoconfigthat in turns applies the
configuration.
What is the relation between the autoconfig and the recommender?
◦ The recommender suggests a set of solutions to a configuration issue.
◦ The autoconfig selects one of the suggested solutions and applies it.
4. Roles of the recommender
Role of the recommender:
◦ recommends applications and workflows;
◦ recommends configurations;
◦ recommends peripherals (to be discussed).
Application:
◦ depending on the HW modules selects/suggests the AGILE Sw modules to be
downloaded, installed and started;
◦ depending on the specific context selects/suggests the AGILE Sw modules to
be downloaded, installed and started.
◦ depending on the GW profile and Workflow items, suggest a Workflow or
Node to developer.
Workflows: TDB
6. Roles of the auto configuration
Auto-configuration support:
◦ at boot time;
◦ at run time.
At boot:
◦ for device drivers it is already provided by the OS;
◦ at the end of the boot process, after entering the user space, the AGILE SW
Modules are automatically configured by autoconfig. (this is done by
Configurator)
At runtime: configures drivers and AGILE Modules.
◦ Rpi Shields currently doesn’t support hot plug/swap. It is possible to support it
with specific hardware modification of the Shield (based on a buffer to manage
the signals during hot plug/swap), passing UART, I2C, etc. through the shield and
monitoring with a daemon a specific I/O line;
◦ always supported by peripherals based on enumerable interfaces (USB,
Bluetooth, etc..).
◦ Except for USB, the industrial gateway doesn’t need hot swap peripherals,
therefore it doesn’t need auto-configuration at runtime.
10. Drivers and AGILE modules
management (4)
Case 3:
◦ When the HW module is connected to the gateway the kernel manages it with
the driver already loaded (e.g. Zigbee via USB).
◦ Depending on the HW module a set of AGILE modules are available. The
recommender identify the most suitable set of AGILE modules and inform the
gateway (e.g. a Zigbee coordinator and a Zigbee application).
◦ If not available locally the gateway downloads the modules suggested. The
modules are started with default configuration.
Case 1,2, 3):
◦ depending on the deployment context and the application, the recommender
might suggest a configuration for the driver (autoconfig) and for the AGILE
Module. These configuration are applied at end of the boot phase (for drivers)
and when the AGILE modules are running.
◦ At runtime, if the context changes, the recommender can suggest new
configurations of drivers or AGILE modules.
◦ At runtime, if the context changes, the recommender can suggest new AGILE
modules to be downloaded and started (do we support this?).
26. Recommender Role -1
Recommend Apps (snaps)
Uses App knowledgebase, other Gw Profiles and own Gw Profile
Case: When a IoT user want to see recommended apps on the AGILE
Management Interface, Recommender should use the Gw profile (which
sensors are plugged? ,etc.), other people Gw profiles (which apps are
installed on similarly configured Gws? ,etc.) to suggest some apps to
install.
Case: When a new device plugged, Recommender can recommend a
related application to the user via Management Interface.
34. Configurator Role -2
Configure Apps
Uses the Features of Apps and Devices (features of the installed apps, which sensors or devices are compatible
or incompatible)
◦ App1 can use Wifi, Zigbeeor BLE.
◦ App1 has Temperature Measuring Feature.
◦ App1 has Pressure Measuring Feature.
◦ App2 can only use Wifi.
◦ Zigbee can not work if Wifi is in use.
◦ BLE can work together with Zigbee and Wifi.
◦ Temperature Sensor 1 does not work if Temperature Sensor2 is in use.
Uses the Constraints of Gateway (which action should be taken in which mode)
◦ When Normal Mode is enabled, then enable Wifi on apps.
◦ When Energy Saving Mode is enabled, then enable BLE on apps and disable other communication protocols.
◦ When Security Restriction Mode is enabled on the gateway, disable all connections on the installed apps.
◦ When Wifi hardware module is plugged, then enable the communication protocol as Wifion installed apps and disable current
protocol.
◦ When Temperature Sensor is plugged, then enable the Temperature Feature of related apps.
◦ When Wifi is unplugged, then enable Zigbee or BLE on related apps.
Uses the Domains
◦ A feature of an app can be (Disabled , Enabled).
◦ A hardware module can be (Plugged , Unplugged).
◦ Gateway can be in a (Normal, Energy Saving, Security Restricted) mode.