You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,6 +54,7 @@ that led the design and development of the WLDT library.
54
54
- ️️⚙️ [Resources & Management Interface](docs/resources_management_interface.md): Provides the details about
55
55
the management interface of the WLDT library and how to use it to handle the manageable DT's resource through its life cycle.
56
56
- 📝 [Logging in WLDT](docs/wldt_logger.md): Describes the logging system of the WLDT library, including how to configure, customize and use it.
57
+
- 🧠 [Augmentation Functions](docs/augmentation_function.md): Provides the details about the Augmentation Functions, which are used to enhance the capabilities of the Digital Twin by adding new stateless or stateful functionalities.
* Once the WldtStorage has been properly configured to receive target events the `StorageManager` automatically save information of interest for that specific storage. For example we can have a `StorageA` (e.g, REDIS) configured to receive all the generated events and a `StorageB` (e.g., MongoDB) in charge of saving only DT's state variation over time.
38
38
* The default implementation of the `WldtStorage` is the class `DefaultWldtStorage`. This class provides a simple storage solution for digital twin states, digital twin state changes, physical asset events, and digital twin events. The class provides **ONLY** a memory based approach for storage using ArrayLists and HashMaps and more advanced solution should be implemented for production oriented Digital Twins for examples using external storage and memorization solutions.
@@ -96,6 +96,32 @@ The main module of the Storage Layer is the one associated to Storage Capabiliti
96
96
*`getPhysicalAssetRelationshipInstanceDeletedNotificationCount()`: Get the number of Physical Asset Relationship Instance Updated Event
97
97
*`getPhysicalAssetRelationshipInstanceDeletedNotificationInTimeRange(long startTimestampMs, long endTimestampMs)`: Get the Physical Asset Relationship Instance Updated Event in the specified time range
98
98
*`getPhysicalAssetRelationshipInstanceDeletedNotificationInRange(int startIndex, int endIndex)`: Get the Physical Asset Relationship Instance Updated Event in the specified range of indices
99
+
***Augmentation Function**:
100
+
* Error
101
+
* `saveAugmentationFunctionError(String augmentationFunctionId, String augmentationFunctionHandlerId, AugmentationFunctionError augmentationFunctionError)`: Save the Augmentation Function Error
102
+
* `getAugmentationFunctionErrorCount()`: Get the number of errors occurred during the execution of the Augmentation Functions
103
+
* `getAugmentationFunctionErrorsInTimeRange(long startTimestampMs, long endTimestampMs)`: Get the errors in the specified time range
104
+
* `getAugmentationFunctionErrorsInRange(int startIndex, int endIndex)`: Get the errors in the specified range of indices
105
+
* Request
106
+
*`saveAugmentationFunctionRequest(String augmentationFunctionId, String augmentationFunctionHandlerId, AugmentationFunctionRequest augmentationFunctionRequest)`: Save the Augmentation Function Request
107
+
*`getAugmentationFunctionRequestCount()`: Get the number of Augmentation Function Requests stored
108
+
*`getAugmentationFunctionRequestInTimeRange(long startTimestampMs, long endTimestampMs)`: Get the requests in the specified time range
109
+
*`getAugmentationFunctionRequestInRange(int startIndex, int endIndex)`: Get the requests in the specified range of indices
110
+
* Result
111
+
*`saveAugmentationFunctionResult(String augmentationFunctionId, String augmentationFunctionHandlerId, AugmentationFunctionResult<?> augmentationFunctionResult)`: Save the Augmentation Function Result
112
+
*`getAugmentationFunctionResultCount()`: Get the number of Augmentation Function Results stored
113
+
*`getAugmentationFunctionResultInTimeRange(long startTimestampMs, long endTimestampMs)`: Get the results in the specified time range
114
+
*`getAugmentationFunctionResultInRange(int startIndex, int endIndex)`: Get the results in the specified range of indices
115
+
* Registration
116
+
*`saveAugmentationFunctionRegistration(String augmentationFunctionId, String augmentationFunctionHandlerId, AugmentationFunctionType augmentationFunctionType)`: Save the Augmentation Function Registration
117
+
*`getAugmentationFunctionRegistrationCount()`: Get the number of Augmentation Function Registrations stored
118
+
*`getAugmentationFunctionRegistrationInTimeRange(long startTimestampMs, long endTimestampMs)`: Get the registrations in the specified time range
119
+
*`getAugmentationFunctionRegistrationInRange(int startIndex, int endIndex)`: Get the registrations in the specified range of indices
120
+
* Unregistration
121
+
*`saveAugmentationFunctionUnregistration(String augmentationFunctionId, String augmentationFunctionHandlerId, AugmentationFunctionType augmentationFunctionType)`: Save the Augmentation Function Unregistration
122
+
*`getAugmentationFunctionUnregistrationCount()`: Get the number of Augmentation Function Unregistrations stored
123
+
*`getAugmentationFunctionUnregistrationInTimeRange(long startTimestampMs, long endTimestampMs)`: Get the unregistrations in the specified time range
124
+
*`getAugmentationFunctionUnregistrationInRange(int startIndex, int endIndex)`: Get the unregistrations in the specified range of indices
99
125
100
126
Some examples of usage for the Storage Layer are the following:
// Add the new MongoDb Storage Instance to the Digital Twin Storage Manager
@@ -240,6 +266,26 @@ The main classes associated to the Query System are the following:
240
266
- SAMPLE_RANGE
241
267
- COUNT
242
268
- LAST_VALUE
269
+
- AUGMENTATION_FUNCTION_ERROR
270
+
- TIME_RANGE
271
+
- SAMPLE_RANGE
272
+
- COUNT
273
+
- AUGMENTATION_FUNCTION_REQUEST
274
+
- TIME_RANGE
275
+
- SAMPLE_RANGE
276
+
- COUNT
277
+
- AUGMENTATION_FUNCTION_RESULT
278
+
- TIME_RANGE
279
+
- SAMPLE_RANGE
280
+
- COUNT
281
+
- AUGMENTATION_FUNCTION_REGISTRATION
282
+
- TIME_RANGE
283
+
- SAMPLE_RANGE
284
+
- COUNT
285
+
- AUGMENTATION_FUNCTION_UNREGISTRATION
286
+
- TIME_RANGE
287
+
- SAMPLE_RANGE
288
+
- COUNT
243
289
- STORAGE_STATS
244
290
- LAST_VALUE
245
291
-`QueryExecutor`: This class represents the Query Executor used to execute queries on the storage system supporting both synchronous and asynchronous query execution. Internally is implemented through an event-based mechanism to handle the query request and response
0 commit comments