Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency io.github.wldt:wldt-core to v0.4.0 #5

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 7, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
io.github.wldt:wldt-core (source) 0.3.0 -> 0.4.0 age adoption passing confidence

Release Notes

wldt/wldt-core-java (io.github.wldt:wldt-core)

v0.4.0

New Features

WldtEventObserver

A new class called WldtEventObserver has been introduced to allow a simplified observation of target specific events generated by the Digital Twin and its components such as adapters and the model. Main mapped events and filters are:

  • State Events: State Update and State Event Notifications
  • Physical Asset Events: Physical Property Variation, Physical Event Notification, Physical Relationship Instance Creation and Deletion
  • Physical Asset Action Events: Physical Action Trigger
  • Digital Action Events: Digital Action Event
  • Physical Asset Description Events: Physical Asset Description Available and Updated
  • Life Cycle Events: Digital Twin Life Cycle Events
  • Query Request Events: Storage Query Request Events (See next sections for additional information)

For each event type dedicated observation and un-observation methods (e.g., observePhysicalAssetEvents() and unObservePhysicalAssetEvents()) are available in order to create an instance of the observer and decide which events to receive.

To build a WldtEventObserver a dedicated listener IWldtEventObserverListener should be implemented by the developer to receive the callbacks related to the incoming events. All the events are of the generic type WldtEvent and it is up to the developer the validate and check the received object and if it match with the expected one.

The WldtEventObserver has been currently used internally within the library to simplify the implementation and usage of the Storage Layer and the associated Storage Query System as described in the dedicated sections.

Storage Layer

A new storage layer has been integrated into the core WLDT library, enabling Digital Twins (DTs) to store data related to the evolution of their state, generated events, and any variations involving properties, events, actions, relationships, and life cycle. The Storage Layer consists of two main components:

  • Storage Manager: This is the central component of the storage system, facilitating the structured and modular storage and retrieval of information. It allows developers to create and utilize various storage systems (e.g., in-memory, file-based, or DBMS) simultaneously. The Storage Layer is accessible in both read and write modes internally by the DT's Model, and in read-only mode via the Query System by Digital Adapters.
  • Query System: To delegate and encapsulate the responsibility of data storage within the DT's model, a query system has been integrated. This system enables Digital Adapters to retrieve stored data and expose it according to their specific logic and implementation.

The storage layer is designed for easy extension, allowing developers to create and share new storage layers (e.g., using Redis, MySQL, or MongoDB). The provided in-memory implementation serves only for basic development and testing purposes. Similarly, the Query Manager can be extended and customized by developers to implement additional query management features or to enhance the default functionalities provided by the library.

Migration Info: 0.3.0 - 0.4.0

  • Now PhysicalAssetRelationship constructor has also the type in order to match the DigitalTwinStateRelationship and simplify its management
  • The method notifyDigitalTwinStateEvent throws only the Exception WldtDigitalTwinStateEventNotificationException while EventBusException has been removed

Additional Improvements & Fixed Bugs

  • Synchronized the update of the current DT Life Cycle State in order to avoid wrong data
  • The WldtEventBus now supports the use of topics Wildcard (at the moment only multi-level with the character *). For example with this approach is possible to subscribe to all the events associated to property variations (topic: dt.physical.event.property.*). New methods added to WldtEventBus are:
    • matchWildCardType(String eventType, String filterType): Check if the provided event type match the WildCard Type
    • isWildCardType(String filterEventType): Check if the provided event type is a WildCard Type
  • The class WldtEventTypes has been introduced to contain all the event types in the WLDT Framework and support internal message exchange. Includes types for events associated and adopted by: i) Physical Adapters; ii) Model and Shadowing Function; and iii) Digital Adapters.
  • The EventManager class has been added to centralize and simplify the event management in the WLDT Framework providing a set of static methods to publish events associated to a target digital twin and publisher (e.g., the physical adapter of the twin).
  • Now PhysicalAssetRelationship class has also the type in order to match the DigitalTwinStateRelationship and simplify its management
  • The internal class ModelEngine has been renamed into DigitalTwinModel as an initial update for further development of the next version 0.5.0 where the structure of the DT's Model and the associated classes will be improved

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies label Sep 7, 2024
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 7 times, most recently from ae1e59e to 9f9438e Compare September 12, 2024 01:18
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 5 times, most recently from 1e2ed1a to 52dc25b Compare September 20, 2024 14:41
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 9 times, most recently from 30630d3 to 027a687 Compare October 1, 2024 19:37
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 4 times, most recently from e69bee9 to 834ec33 Compare October 7, 2024 01:36
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 4 times, most recently from a8a7da9 to c0c6e0c Compare October 14, 2024 09:38
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch from 9301326 to d4ba941 Compare December 27, 2024 22:38
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 4 times, most recently from 9c01599 to d6390a1 Compare January 10, 2025 02:33
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 3 times, most recently from af52a2a to d462e42 Compare January 12, 2025 13:41
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 4 times, most recently from 791c907 to 9aca28e Compare January 24, 2025 21:05
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 4 times, most recently from 92b3506 to a3bb406 Compare January 31, 2025 01:10
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 7 times, most recently from 230c4d1 to 52e9d1b Compare February 11, 2025 12:23
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch 4 times, most recently from 74e740c to 3112573 Compare February 15, 2025 10:57
@renovate renovate bot force-pushed the renovate/io.github.wldt-wldt-core-0.x branch from 3112573 to c57cfd0 Compare February 19, 2025 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants