Previous Topic

Next Topic

Book Contents

Book Index

System Architecture (Deprecated)

This document describes the architecture model and the basic functionalities of the Automation ESH Module.

Module Design

mbs_automation_sys_arch_9.0

OSGi Runtime

The OSGi Runtime allows the Automation ESH module to be used.

Automation ESH

The main functionality of the Automation ESH module is provided by Automation ESH Core bundle. Of course the Automation ESH Core bundle will not provide alone the all functionality. It is designed to collaborate with other modules that are part of the solution. The Automation ESH module provides a set of module handler factories – "Factory Group" – that contains three system handler factories, as well as the ability for the users to define their own and add them to the system. The extendability is one of the important features of the module. The other important part of it are the resource providers - "Providers Group". The Automation ESH module provides two types of resource providers: bundle resource and system file resource trackers for the Rule, Module Type and Template resources. Also provides the ability for the users to define their own and add them to the system. The providers are tracked by the Registries and their resources are added automatically. The system module handlers need to cooperate with some other modules of the Bosch IoT SDK - Functional item Management module, Scripting module, REST module and Web Console, also use some of the features provided by the Framework system bundles – Timer service and ThreadPoolManager service.

Rules and Rule Engine

The Automation ESH module enables the user to define a set of rules that eliminate the need of human intervention when monitoring, managing and controlling of the various devices is needed, and provides an environment -the Rule Engine - that is responsible for automatizing the evaluation and execution of these rules.

Modules and Module Handlers

The Automation ESH module provides to the user an easy way to build these rules from small pieces - modules, which are responsible for a part of the logic of a particular rule. These pieces and their logic are independent from each other but still they are able to communicate between each other by virtue of their inputs and outputs. The modules can be classified in three categories:

The code responsible for the implementation of a module is called a Module Handler. The Automation ESH module provides a set of such handlers as well as the ability for the users to define their own and add them to the system. The handlers provide the logic responsible for the rules execution. The metadata describing this logic and how the modules communicate with each other is stored in Module Type definitions. These definitions can be provided as JSON files, or Java objects. The Automation ESH module contains a well systematized set of such JSON module definitions for the provided module types. For more details refer to the System Module Types guide.

Rule Templates

In order to facilitate the usage of existing modules as much as possible, there is also an ability to create and add rule templates. They are convenient if you want to have many rules with different configurations, that are composed of the same modules. They hide the complex details and export only the properties that must be configured.

Providers

The Automation ESH module contains System Providers that track bundle and system file resources for Module Types, Rules and Rule Templates.

REST API

The ESH-defined REST API simplifies the integration of the Automation ESH module with other systems or cloud services.

Admins API

The Bosch IoT SDK defines the Functional Item service as a general abstraction for representing different types of functionalities. It can be used for atomic functionality of:

The Automation ESH module defines three Functional Item services:

Web Console Plugin

The Automation ESH module contains a Web Console plugin that provides GUI for managing rules, rule templates and module types. It is based on the Admins API.

See also