Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

At the time of writing this tutorial Atomiton TQLEngine does not provide specific language constructs to perform bulk initialization of Things or Data. But the existing Atomic domain languages capabilities can be exploited to achieve bulk initialization requirements. The bulk initialization design pattern can be broken down into two steps:


Image Added

Bulk Initialization Steps: 

Step #NameDescriptionOutputImplementation Flow
1Gather Metadata

Input to gathering of metadata step can be:

  • Manual entires
  • Code that generates metadata
  • Reading metadata from external device management source

The output of gathering metadata step could be:

  • Generated CSV, JSON Files
  • Generated Create / Save TQL Query statement
  • @TQL Macro, AppModel, AppFacet
  • Gather and Initialize can be combined into same flow.
  • Decoupled implementation from TQLEngine
    (Example: NodeJS generating series of JSON files)
2Initialize

Initialize step includes:

  • Load the data into TQLEngine.
  • Metadata gathered from step-1 serves as input.
  • This steps has to be repeatable.

The output of initialize steps are:

  • Data and Things loaded into TQLEngine.
  • May or may not note trigger actions.
  • @TQL Query
  • Can be integrated into Gather Metadata step.

Bulk Initialization Steps: 

...

Greenhouse UseCase

Please refer to 8. Simulating sensors, actuators, and devices for the description of Greenhouse usecase. The data initalization requirement for this case is shown below

...