scieee AI-readable full text Open interactive document viewer

Deliverable D4.3 Virtual Verification Laboratory (VLab)

AIT Austrian Institute of Technology GmbH

Abstract

This deliverable provides the AIT Virtual Lab (AIT VLab) User Guide, supporting high-level interoperability in smart grid projects. Developed within the PARMENIDES project, AIT VLab is a portable framework offering tools and methodologies for system modeling, testing, and integration. It includes synchronous and asynchronous interfaces, mockup prototyping with realistic behavior, and a user-friendly input template. The VLab helps align functional requirements with implementation, supporting scalability and replicability. It has been successfully applied in several EU and national projects, making it a proven solution for accelerating the development of interoperable energy systems.

Full text

Deliverable D4.3 Virtual Verification Laboratory (VLab) Work Package 4 Disclaimer The content of this deliverable reflects only the author’s view. Neither the European Climate, Infrastructure and Environment Executive Agency (CINEA) nor the European Commission is responsible for any use that may be made of the information it contains. Funded by the European Union's Horizon Europe programme under Grant Agreement nº 101096453 Deliverable D4.3 Virtual Verification Laboratory (VLab) 2 Grant agreement 101096453 Type of action HORIZON-IA HORIZON Innovation Actions Topic HORIZON-CL5-2022-D3-01-10 Interoperable solutions for flexibility services using distributed energy storage Starting date of project 01.01.2023 Project duration 36 months Work package WP4 – PARMENIDES System Development Related task T4.3 Provision of the virtual verification environment and integration testing Deliverable due date M20 (31.08.2024) Actual delivery date M24 (31.12.2024) Dissemination level PU – Public Deliverable responsible AIT Document Information Document Version: 1.0 Revision / Status: Submission Deliverable D4.3 Virtual Verification Laboratory (VLab) 3 All Authors/Partners Name Organisation Jawad Kazmi AIT Austrian Institute of Technology GmbH Mark Stefan AIT Austrian Institute of Technology GmbH Document History Revision Content/changes Resp. partner Date 0.1 Initial version AIT July 2024 0.2 Description of extensions AIT November 2024 0.3 Description of extensions AIT December 2024 1.0 Final version AIT 17.12.2024 Document Approval Final approval Name Resp. partner Date 1.0 Mark Stefan AIT 18.12.2024 Copyright Notice © The PARMENIDES Consortium, 2023 – 2025 Executive Summary This document supports the PARMENIDES activities around integration and interoperability testing and contains a User Guide for AIT Virtual Lab (VLab). It will help you understand how to use the VLab framework to achieve high interoperability in PARMENIDES. The main Deliverable D4.3 is the VLab framework itself, this document serves as documentation. Deliverable D4.3 Virtual Verification Laboratory (VLab) 4 Table of contents Abbreviations 5 1. Introduction 6 2. Getting Started 8 3. Filling Out the Input Template 8 3.1. Data Modelling Worksheet (Sync/Async) 8 3.2. Module Definition Worksheet (Sync/Async) 9 3.3. Interface Definition Worksheet (Sync only) 9 3.4. Operations Definition Worksheet (Sync only) 10 3.5. Parameters Assignment Worksheet (Sync only) 10 3.6. Channels Definition Worksheet (Async only) 11 3.7. Operations Definition Worksheet (Async only) 12 4. Using AIT VLab’s Environments 13 4.1. VLab Portable 13 4.2. VLab Central 14 5. AIT VLab Validator 15 6. Using power profiles with AIT VLab 16 7. Troubleshooting and Support 17 8. Annex 18 8.1. List of Figures 18 Deliverable D4.3 Virtual Verification Laboratory (VLab) 5 Abbreviations Acronym Description AI-flex Autonomous AI for cellular energy systems increasing flexibilities provided by sector coupling and distributed storage API Application Programming Interface ECOSINT Energy COmmunity System INTegration MQTT Message Queuing Telemetry Transport PECO PARMENIDES Energy Community Ontology PU Public REST Representational State Transfer SDL Software Development Kit SENDER Sustainable Consumer engagement and demand response SUT System under Test VLab Virtual Verification Laboratory (long) / Virtual Lab (short) VPN Virtual Private Network WP Work Package Deliverable D4.3 Virtual Verification Laboratory (VLab) 6 1. Introduction Welcome to the AIT Virtual Lab (AIT VLab) User Guide. This guide will help you understand how to use the VLab framework to achieve high interoperability in your projects, in particular, in the PARMENDIES project. This document serves as documentation as part of the AIT Virtual Lab (AIT VLab) framework. Interoperability is a key enabler of smart grid potential and should be regarded as an intrinsic component of any smart grid application being developed from its inception, see Figure 1. Because interoperability is a design consideration, thinking about it early on saves energy and resources. Conversely, when the engaged partners and stakeholders have a better understanding, consensus on, and knowledge of the automation interfaces, dependencies, and expectations the communication becomes more effective and easier. Figure 1: Interoperability between System A and System B One of the challenges in achieving a high interoperability maturity level is having an incompatible and adhoc workflow. The AIT VLab addresses this challenge by providing a framework that includes a methodology and toolset for achieving a higher level (semantic and above) of interoperability. It advocates defining a common view of the system first so that the functional objectives of the solution can be aligned with what needs to be implemented. This way it also helps in bridging the knowledge and understanding gap between the requirement and implementation teams. The framework is equally beneficial for system architects, developers, and most other stakeholders. The framework is an ecosystem of modules, interfaces, allowed operations, and the data model along with both synchronous (REST APIs and client SDKs) and asynchronous (publisher/subscriber model) architectures with accompanying documentation packed in a portable environment to provide a mockup prototype of the proposed system for testing and integration. In addition to generating the mock values, the Deliverable D4.3 Virtual Verification Laboratory (VLab) 7 generated mockups further can follow load/generation profiles to behave in a more deterministic and realistic manner. Such capabilities are used, for example, in doing scalability and replicability analysis. The AIT VLab framework's ability to provide a comprehensive ecosystem for testing, integration, and scalability analysis makes it a versatile tool across these segments, helping bridge the gap between requirements and implementation. AIT VLab stands out in the smart grid interoperability applications due to several unique features and advantages: ● Comprehensive Framework with Integrated Methodology and Toolset: AIT VLab provides a complete ecosystem of modules, interfaces, and data models, along with both synchronous (REST APIs and client SDKs) and asynchronous (publisher/subscriber model) architectures. This comprehensive approach ensures that all aspects of interoperability are covered, from design to implementation and testing. ● Mockup Prototyping: The framework includes capabilities for generating mock-values and following load/generation profiles, which allows for more deterministic and realistic testing scenarios. This is particularly useful for scalability and replicability analysis, ensuring that solutions are robust and reliable before deployment. ● Ease of Use: ○ Portable Environment: AIT VLab is packaged in a portable environment, making it easy to set up and use across different systems and projects. This reduces the time and effort required for integration and testing. ○ User-Friendly Input Template: The VLab Input Template simplifies the process of defining data models and specifying modules and interfaces, making it accessible to a wide range of users, from system architects to developers. ● Proven Success: AIT VLab has been successfully used in numerous research projects, including the Horizon 2020 project SENDER 1 , the actual Horizon Europe project PARMENIDES, the ERA-Net project AI-Flex 2 , and national projects such as ECOSINT 3 , receiving very positive feedback. This track record demonstrates its effectiveness and reliability in real-world applications. ● Alignment of Functional Objectives: By advocating for a common view of the system from the outset, AIT VLab helps bridge the knowledge and understanding gap between requirement and implementation teams. This ensures that the functional objectives of the solution are aligned with what needs to be implemented, leading to more effective and efficient project outcomes. 1 Horizon 2020 (#957755), Sustainable Consumer engagement and demand response (SENDER), https://www.sender-h2020.eu/ 2 ERA-Net SES, Autonomous AI for cellular energy systems increasing flexibilities provided by sector coupling and distributed storage (AI-flex) 3 FFG Austria, Energy COmmunity System INTegration (ECOSINT), http://www.ecosint.at Deliverable D4.3 Virtual Verification Laboratory (VLab) 8 2. Getting Started To begin using VLab, you need to: ● Download the VLab Input Template: This template is an Excel file used to define your system's data models, modules, interfaces, operations, and parameters. ● Install Required Software: Ensure you have Microsoft Excel and Docker installed on your system. 3. Filling Out the Input Template The AIT VLab currently supports the specification and generation of both the asynchronous and synchronous modules. The input templates for both these types have some slight differences. The input template for specifying the Synchronous (RESTful) modules consists of five worksheets while the template for specifying the Asynchronous (publisher/subscriber) modules consists of only four sheets. Each worksheet serves a specific purpose in defining your system. 3.1. Data Modelling Worksheet (Sync/Async) Purpose: Define the structure and properties of data models. Steps: ● Enter the Data Model Name. ● Define Member Names and their properties (e.g., data type, default value, min/max values). Figure 2: VLab Input Template for Data Models. Data Model Name Member Name Instance Name Array of Objects Description Data Type Example Values Default Value Min. Value Max. Value Min. Length Max. Length Nullable Enum Pattern DataModelID Unit PhysicalValue value No Value Double 100 0,00 -999999999,00 999999999,00 No PhysicalValue type No Type of Value String No StaticProperty <PhysicalValue> staticProperty No Custom No Datapoint <PhysicalValue> dataPoint No Custom No Measurement <Datapoint> measurement No Custom No Setpoint <Datapoint> setpoint No Custom Timestamp value No Long No PowerSpec <StaticProperty> maxPowerCapacity No Maximum power capacity Custom 20 000 0 0 999 999 999 No W PowerSpec <StaticProperty> maxPowerDensityVol No Maximum volumetric power density Custom 5000 0 0 999 999 No W/m³ PowerSpec <StaticProperty> maxPowerDensityMass No Maximum specific power density Custom 1000 0 0 999 999 No W/kg PowerParameter <Measurement> powerCapacity No Power capacity Custom 5 000 0 0 999 999 999 No W PowerParameter <Measurement> powerDensityVol No Volumetric power density Custom 5000 0 0 999 999 No W/m³ PowerParameter <Measurement> powerDensityMass No Specific power density Custom 4,5 0 0 999 999 No W/kg PowerParameter <Measurement> power No Power as energy per unit time Custom 5 000 0 -999 999 999 999 999 999 No W EnergySpec <StaticProperty> maxEnergyCapacity No Maximum energy capacity Custom 5 000 0 0 999 999 999 No kWh EnergySpec <StaticProperty> maxEnergyDensityVol No Maximum volumetric energy density Custom 1200 0 0 99 999 No kWh/m³ EnergySpec <StaticProperty> maxEnergyDensityMass No Maximum specific energy density Custom 0,25 0 0 9 No kWh/kg EnergyParameter <Measurement> energyCapacity No Energy capacity Custom 5 000 0 0 999 999 999 No kWh EnergyParameter <Measurement> energyDensityVol No Volumetric energy density Custom 1200 0 0 99 999 No kWh/m³ EnergyParameter <Measurement> energyDensityMass No Specific energy density Custom 0,25 0 0 9 No kWh/kg EnergyParameter <Measurement> energy No Usable energy content Custom 5 000 0 0 999 999 999 No kWh ElectricalSpec <StaticProperty> electricalSpecsAC No Static electrical properties/specifications (alternating current) Custom No ElectricalSpec <StaticProperty> electricalSpecsDC No Static electrical properties/specifications (direct current) Custom No ElectricalSpec <EnergySpec> ratedEnergyCapElec No Rated electrical energy capacity Custom 5 000 0 0 999 999 999 No kWh ElectricalSpecAC <ElectricalSpec> ratedPowerAC No Rated operating electrical power (AC) Custom 5 000 0 0 999 999 999 No W ElectricalSpecAC <ElectricalSpec> maxPowerAC No Maximum electrical power (AC) Custom 5 000 0 0 999 999 999 No W ElectricalSpecAC <ElectricalSpec> minPowerAC No Minimum electrical power (AC) Custom 5 000 0 0 999 999 999 No W ElectricalSpecAC <ElectricalSpec> ratedCurrentAC No Rated operating current (AC) Custom 10 0 0 999 No A ElectricalSpecAC <ElectricalSpec> maxCurrentAC No Maximum operating current (AC) Custom 25 0 0 999 No A ElectricalSpecAC <ElectricalSpec> minCurrentAC No Minimum operating current (AC) Custom 0 0 0 999 No A ElectricalSpecAC <ElectricalSpec> ratedVoltageAC No Rated operating voltage (AC) Custom 230 0 0 999999 No V ElectricalSpecAC <ElectricalSpec> maxVoltageAC No Maximum operating voltage (AC) Custom 240 0 0 999999 No V ElectricalSpecAC <ElectricalSpec> minVoltageAC No Minimum operating voltage (AC) Custom 100 0 0 999999 No V ElectricalSpecAC <ElectricalSpec> ratedFrequency No Rated operating frequency Custom 50, 60 50 50 60 No Hz ElectricalSpecAC <ElectricalSpec> maxFrequency No Maximum operating frequency Custom 50.5, 60.3 50,5 50 61 No Hz ElectricalSpecAC <ElectricalSpec> minFrequency No Minimum operating frequency Custom 49.5, 59.7 49,5 49 60 No Hz ElectricalSpecAC <ElectricalSpec> phaseConfig No Electrical phase configuration Custom 3-phase, 1-phase No - ElectricalSpecDC <ElectricalSpec> ratedPowerDC No Rated operating electrical power (DC) Custom 5 000 0 0 999 999 999 No W ElectricalSpecDC <ElectricalSpec> maxPowerDC No Maximum electrical power (DC) Custom 100 0 0 999 999 999 No W ElectricalSpecDC <ElectricalSpec> minPowerDC No Minimum electrical power (DC) Custom 50 0 0 999 999 999 No W ElectricalSpecDC <ElectricalSpec> ratedCurrentDC No Rated operating current (DC) Custom 5 0 0 999 No A ElectricalSpecDC <ElectricalSpec> maxCurrentDC No Maximum operating current (DC) Custom No A ElectricalSpecDC <ElectricalSpec> minCurrentDC No Minimum operating current (DC) Custom No A ElectricalSpecDC <ElectricalSpec> ratedVoltageDC No Rated operating voltage (DC) Custom 24 0 0 999999 No V ElectricalSpecDC <ElectricalSpec> maxVoltageDC No Maximum operating voltage (DC) Custom 48 0 0 999999 VNo V ElectricalSpecDC <ElectricalSpec> minVoltageDC No Minimum operating voltage (DC) Custom 12 0 0 999999 VNo V Data Model Deliverable D4.3 Virtual Verification Laboratory (VLab) 9 3.2. Module Definition Worksheet (Sync/Async) Purpose: Describe individual modules/components. Steps: ● Enter the Name and Description of the module. ● Provide the API Programmatic Name, Documentation Link, Version, Developing Partner, and Responsible Person. Figure 3: VLab Input Template for Modules. 3.3. Interface Definition Worksheet (Sync only) Purpose: Define interfaces for modules only in the case of RESTful or sync modules. Steps: ● Select the Parent Module. ● Enter the Interface Name and Programmatic Name. ● Provide a brief Interface Description. Figure 4: VLab Input Template for Interfaces (for synchronous architectures). Name Description API Programatic Name Documentation Link Version Developing Partner Responsable Person EcoFlow IoT Open Platform Platform for the monitoring and control of the EcoFlow battery ecoflow https://parmenides-project.eu/ 1.0.0 KTH Lorenz Ray Payonga <[email protected]> Modules Parent Module Interface Name Programatic Name Interface Description EcoFlow IoT Open Platform Configure config The main confirguration interface. EcoFlow IoT Open Platform ElectricalParameters elecparams Real-time electrical parameter measurements EcoFlow IoT Open Platform StorageParameters storageparams Real-time storage parameter measurements EcoFlow IoT Open Platform ChargingParameters chargingparams Real-time charging parameter measurements EcoFlow IoT Open Platform DischargingParameters dischargingparams Real-time discharging parameter measurements EcoFlow IoT Open Platform ThermalParameters thermparams Real-time thermal parameter measurements EcoFlow IoT Open Platform Setpoints setpoints Interface for dynamic setpoints Interfaces Deliverable D4.3 Virtual Verification Laboratory (VLab) 16 6. Using power profiles with AIT VLab Purpose: To use a profile with deterministic values instead of using the standard VLab mockups with random values. Steps: ● Obtain the profiles-enabled Module: Obtain the required container image for the module you like to run. ● Configure your module: Make the configuration if the default behaviour is not suitable. The following are the most important environment variable to know about: ○ PROFILE_FILE (Default: “h0”): the source of the profile, there are 27 different types of profiles embedded in the VLab mockup for the year 2024, that can be switch by changing this variable. For more information check https://www.apcs.at/de/clearing/technischesclearing/lastprofile. ○ PROFILE_INTERVAL (Default: 15 minutes): you can “simulate” how the timestamp changes for each new value read. ○ PROFILE_SF (Default: 1): The profile scaling factor value configured with this variable will be multiplied to each profile value read. ○ PROFILE_START_TS (Default: current data & time): Using this variable, the start timestamp can be provided that will then be used with each new profile value read. ○ PROFILE_START_INDEX (Default: 0): The starting index from where the profile should be read. ○ PROFILE_END_INDEX (Default: profile values count): The last value to be read. After the last value, the profile is roll-overed. Figure 12: Using power profiles instead of random values in VLab Mockups. Deliverable D4.3 Virtual Verification Laboratory (VLab) 17 7. Troubleshooting and Support ● Common Issues: ○ Template Errors: Ensure all required fields are filled out correctly. ○ Docker Issues: Verify Docker is installed and running properly. ● Support: Contact the responsible person listed in the module definition for specific module-related queries. For general support, refer to the AIT support team. Deliverable D4.3 Virtual Verification Laboratory (VLab) 18 8. Annex 8.1. List of Figures Figure 1: Interoperability between System A and System B ......................................................................... 6 Figure 2: VLab Input Template for Data Models. .......................................................................................... 8 Figure 3: VLab Input Template for Modules. ................................................................................................ 9 Figure 4: VLab Input Template for Interfaces (for synchronous architectures). ........................................... 9 Figure 5: VLab Input Template for Operations (for synchronous architectures). ....................................... 10 Figure 6: VLab Input Template for Parameters (for synchronous architectures). ...................................... 10 Figure 7: VLab Input Template for Channels (for asynchronous architectures). ........................................ 11 Figure 8: VLab Input Template for Operations (for asynchronous architectures). ..................................... 12 Figure 9: Overview of VLab Portable (yellow), based on generated Images (blue) using the VLab Generator (violet). ........................................................................................................................................................ 13 Figure 10: Overview of VLab Central, hosted at AIT with access to project partners for integrating their modules. ...................................................................................................................................................... 14 Figure 11: Overview about the Validator functionality. .............................................................................. 15 Figure 12: Using power profiles instead of random values in VLab Mockups. ........................................... 16