From 6c9878569235e278022034440150b26fbbf0fb24 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 13 May 2025 09:20:07 +0200 Subject: [PATCH 1/9] Add first version of JOSS paper Signed-off-by: Alexandra --- paper.bib | 49 +++++++++++++++++++++++++++++++ paper.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 paper.bib create mode 100644 paper.md diff --git a/paper.bib b/paper.bib new file mode 100644 index 000000000..3982acf22 --- /dev/null +++ b/paper.bib @@ -0,0 +1,49 @@ +@article{monti_global_2018, + title = {A Global Real-Time Superlab: Enabling High Penetration of Power Electronics in the Electric Grid}, + volume = {5}, + issn = {2329-9215}, + url = {https://ieeexplore.ieee.org/document/8458285}, + doi = {10.1109/MPEL.2018.2850698}, + shorttitle = {A Global Real-Time Superlab}, + abstract = {The Global Real-Time Superlaboratory (Global {RT} Superlab) represents a vendor-neutral distributed platform based on the virtual interconnection of digital real-time simulators ({DRTSs}) and hardware-in-the-loop ({HIL}) setups hosted at eight geographically distributed laboratories in the United States and Europe (Figure 1). This article describes the efforts toward the realization of this largescale virtual infrastructure and explains a demonstration of the multilab setup for simulation and testing of next-generation global power grids.}, + pages = {35--44}, + number = {3}, + journaltitle = {{IEEE} Power Electronics Magazine}, + author = {Monti, Antonello and Stevic, Marija and Vogel, Steffen and De Doncker, Rik W. and Bompard, Ettore and Estebsari, Abouzar and Profumo, Francesco and Hovsapian, Rob and Mohanpurkar, Manish and Flicker, Jack David and Gevorgian, Vahan and Suryanarayanan, Siddharth and Srivastava, Anurag K. and Benigni, Andrea}, + urldate = {2023-10-10}, + date = {2018-09}, + note = {Conference Name: {IEEE} Power Electronics Magazine}, + keywords = {Real-time systems, Internet, Power system stability, Laboratories, Distributed databases, Power electronics, Power grids} +} + +@inproceedings{Pitz2024, + author = {Manuel Pitz and Felix Wege and Niklas Eiling and Steffen Vogel and Vincent Bareis and Antonello Monti}, + title = {Automated Deployment of Single-Board Computer Based Grid Measurement and Co-Simulation Equipment}, + booktitle = {2024 Open Source Modelling and Simulation of Energy Systems (OSMSES)}, + year = {2024}, + location = {Vienna, Austria}, + pages = {1--6}, + doi = {10.1109/OSMSES62085.2024.10668996} +} + +@article{Mehlmann2023, + author = {Gert Mehlmann and Uwe Kühnapfel and Felix Wege and Alexander Winkens and Christian Scheibe and Steffen Vogel}, + title = {The Kopernikus ENSURE Co-Demonstration Platform}, + journal = {IEEE Open Journal of Power Electronics}, + volume = {4}, + pages = {987--1002}, + year = {2023}, + doi = {10.1109/OJPEL.2023.3332515} +} + +@article{Bach2025, + author={Bach, Alexandra and Monti, Antonello}, + journal={IEEE Access}, + title={Remote Real-Time Testing of Physical Components Using Communication Setup Automation}, + year={2025}, + volume={13}, + number={}, + pages={39066-39075}, + keywords={WebRTC;Testing;Protocols;Delays;Control systems;Automation;Security;Interoperability;Emulation;Containers;Communication automation;geographically distributed facilities;real-time experiment;remote coupling;remote physical component testing}, + doi={10.1109/ACCESS.2025.3546311} +} diff --git a/paper.md b/paper.md new file mode 100644 index 000000000..841ee017c --- /dev/null +++ b/paper.md @@ -0,0 +1,86 @@ +--- +title: 'VILLASnode: Open-source real-time coupling of distributed infrastructures' +tags: + - C/C++ + - Real-time + - Distributed experiments + - Electrical grid simulation +authors: + - name: Alexandra Bach + orcid: 0009-0005-7385-4642 + affiliation: 1 + - name: Leonardo Carreras + orcid: 0000-0002-9033-1051 + affiliation: 1 + - name: Laura Fuentes Grau + orcid: 0009-0004-8997-7009 + - name: Steffen Vogel + orcid: 0000-0003-3384-6750 + affiliation: "1, 2" # (Multiple affiliations must be quoted) + - name: Manuel Pitz + orcid: 0000-0002-6252-2029 + affiliation: 1 + - name: Niklas Eiling + orcid: 0000-0002-7011-9846 + affiliation: 1 + - name: Felix Wege + orcid: 0000-0001-6602-9875 + affiliation: 1 + - name: Andres Acosta + orcid: 0000-0003-3066-8354 + affiliation: 1 + - name: Iris Köster + affiliation: 1 + +affiliations: + - name: Institute for Automation of Complex Power Systems, RWTH Aachen University, Germany + index: 1 + - name: OPAL-RT Germany GmbH + index: 2 +date: 13 May 2025 +bibliography: paper.bib + +--- + +# Summary + +VILLASnode is a software tool, designed to facilitate real-time data exchange between various components involved in geographically distributed real-time experiments. Components can be test beds, real-time simulators, software tools, and physical devices. +Whereas distributed computing, systems or algortihms aim to solve a common task, geographically distributed experiments link infrastructures with different components to make these components accessible to other infrastructures. Thus, data exchanges are possible which would not be possible in one single infrastructure. +VILLASnode serves as the gateway that connects components across different infrastructures by providing a set of protocols and customized third-party implementations, e.g., different simulators. It enables seamless collaboration in research and testing environments while safeguarding the intellectual property of the infrastructures. The components at every infrastructure appear as a black box. The infrastructure does not need to share models or confidential information. + +VILLASnode is a Linux command line tool and can run as installation from source or as container. It is written in C/C++ and designed in a modular way. +All components which are interfaced by the VILLASnode gateway are represented by nodes. These nodes act as sinks / sources for data specific to the component. Every node is an instance of a node-type. In a single VILLASnode instance, multiple instances of the same node-type can co-exist at the same time. +The basic data package, common for all node-types, includes timestamped data, constituting a sample. Up to 64 values can form a sample. +Samples may need modification or filtering. VILLASnode supports hooks for this purpose. Hooks are simple callback functions, which are called whenever a message is processed by a path. +Paths specify where samples need to go or where it come from. +Node-types, hooks, and paths need to be initalized in a configuration file which is called when starting VILLASnode. +An API to interact with VILLASnode is available. It is used by the Python Wrapper allowing to control, configure and execute most of the functions of VILLASnode. This is useful if Python software tools are to be integrated in a distributed experiment. +In general, the interaction with VILLASnode is available for other tools and coding languages by using clients that implement basic functionalities, custom configurations and data conversions. +Since VILLASnode is written in C/C++ it supports real-time capabilites and can supports real-time tuning for Linux systems. + +# Statement of need + +VILLASnode supports the coupling of real-time simulators of different hardware and software vendors, specifications and implementation technologies [@monti_global_2018]. They play a crucial role in both academic research and industrial applications, especially within electrical power networks. They are primarily utilized for hardware-in-the-loop (HiL) simulations. For example, an electrical grid is emulated so that the physical component can interface safely via analog input and output signals [@Mehlmann2023]. +This approach not only reduces development costs but also allows for the validation of components under scenarios that are difficult or unsafe to replicate real-world field scenarios. Moreover, VILLASnode supports the linking of simulators and real-time simulators of different vendors so that models do not need to be shared. Local simulator and simulation infrastructure can be combined in a powerful arrangement unavailable at any individual infrastructure. This approach has the additional advantage of allowing to co-simulate with heterogeneus methods, algorithms and communication protocols. The communication with the components, sensors or actuators can also be implemented using VILLASnode. + +This can be extended to geographically distributed experiments. In this case, VILLASnode takes care of the communication between the different participants to the experiment which spans multiple infrastructures. Not only simulators can be included, but also physical devices can [@Bach2025]. Although communication latencies constrain the dynamics of the experiment for real-time applications, VILLASnode offers significant advantages such as leveraging existing infrastructure across sites and facilitating collaboration among interdisciplinary teams. Manufacturers, customers, and certifiers benefit from remote access and distributed testing while maintaining data confidentiality and intellectual property. Current work includes automation of integration of VILLASnode in practical field devices [@Pitz2024]. + +# Features +VILLASnode is a part of the VILLASframework, which offers several key features. +Firstly, it includes VILLASweb, a tool designed for the visualization and monitoring of experiments. +Secondly, there is VILLASfpga, which provides hard real-time capabilities for VILLASnode. +Lastly, VILLAScontroller is currently under development and aims to automate simulation equipment. + +# Acknowledgements +- [RESERVE](http://re-serve.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 727481. +- [VILLAS](https://villas.fein-aachen.org/website/): Funding provided by [JARA-ENERGY](http://www.jara.org/en/research/energy). Jülich-Aachen Research Alliance (JARA) is an initiative of RWTH Aachen University and Forschungszentrum Jülich. +- [Urban Energy Lab 4.0](https://www.uel4-0.de/Home/): Funding is provided by the [European Regional Development Fund (EFRE)](https://ec.europa.eu/regional_policy/en/funding/erdf/). +- [ERIGrid2.0](https://erigrid2.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 870620. +- [ENSURE](https://www.kopernikus-projekte.de/projekte/ensure): Federal Ministry of Education and Research supports the project under identification 03SFK1C0-3. +- [NFDI4Energy](https://nfdi4energy.uol.de/): Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – 501865131. +- [HYPERRIDE](https://hyperride.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 957788 +- [Erigrid2.0](https://erigrid2.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 870620 +- [AI-EFFECT](https://ai-effect.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 101172952 +- [EnerTEF](https://enertef.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 101172887 + +# References \ No newline at end of file From babf420cfd2a33d2b3bbd96dd5dcbfa06127bd52 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Thu, 15 May 2025 08:23:34 +0200 Subject: [PATCH 2/9] Internal Feedback JOSS Signed-off-by: Alexandra --- paper.md | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/paper.md b/paper.md index 841ee017c..e012c361e 100644 --- a/paper.md +++ b/paper.md @@ -16,7 +16,7 @@ authors: orcid: 0009-0004-8997-7009 - name: Steffen Vogel orcid: 0000-0003-3384-6750 - affiliation: "1, 2" # (Multiple affiliations must be quoted) + affiliation: "1, 3" # (Multiple affiliations must be quoted) - name: Manuel Pitz orcid: 0000-0002-6252-2029 affiliation: 1 @@ -31,39 +31,44 @@ authors: affiliation: 1 - name: Iris Köster affiliation: 1 + - name: Prof. Antonello Monti + orcid: 0000-0003-1914-9801 + affiliation: "1,2" affiliations: - name: Institute for Automation of Complex Power Systems, RWTH Aachen University, Germany index: 1 - - name: OPAL-RT Germany GmbH + - name: Fraunhofer Institute for Applied Information Technology, Aachen, Germany index: 2 -date: 13 May 2025 + - name: OPAL-RT Germany GmbH + index: 3 +date: 15 May 2025 bibliography: paper.bib --- # Summary -VILLASnode is a software tool, designed to facilitate real-time data exchange between various components involved in geographically distributed real-time experiments. Components can be test beds, real-time simulators, software tools, and physical devices. +VILLASnode is a software tool, designed to facilitate real-time data exchange between various components in geographically distributed real-time experiments. Components can be test beds, real-time simulators, software tools, and physical devices. Whereas distributed computing, systems or algortihms aim to solve a common task, geographically distributed experiments link infrastructures with different components to make these components accessible to other infrastructures. Thus, data exchanges are possible which would not be possible in one single infrastructure. VILLASnode serves as the gateway that connects components across different infrastructures by providing a set of protocols and customized third-party implementations, e.g., different simulators. It enables seamless collaboration in research and testing environments while safeguarding the intellectual property of the infrastructures. The components at every infrastructure appear as a black box. The infrastructure does not need to share models or confidential information. VILLASnode is a Linux command line tool and can run as installation from source or as container. It is written in C/C++ and designed in a modular way. All components which are interfaced by the VILLASnode gateway are represented by nodes. These nodes act as sinks / sources for data specific to the component. Every node is an instance of a node-type. In a single VILLASnode instance, multiple instances of the same node-type can co-exist at the same time. The basic data package, common for all node-types, includes timestamped data, constituting a sample. Up to 64 values can form a sample. -Samples may need modification or filtering. VILLASnode supports hooks for this purpose. Hooks are simple callback functions, which are called whenever a message is processed by a path. -Paths specify where samples need to go or where it come from. -Node-types, hooks, and paths need to be initalized in a configuration file which is called when starting VILLASnode. -An API to interact with VILLASnode is available. It is used by the Python Wrapper allowing to control, configure and execute most of the functions of VILLASnode. This is useful if Python software tools are to be integrated in a distributed experiment. +Samples may need modification or filtering. VILLASnode supports hooks for this purpose. Hooks are simple callback functions, which are called whenever a message is processed. +Paths take care of the processing and define the connections and dataflows between nodes. +Node-types, hooks, and paths need to be initalized in a configuration file which is passed when starting VILLASnode. +VILLASnode can be controlled remotely by an Application Programming Interface (API). It is used by the Python Wrapper allowing to control, configure and execute most of the functions of VILLASnode. This is useful if Python software tools are to be integrated in a distributed experiment. In general, the interaction with VILLASnode is available for other tools and coding languages by using clients that implement basic functionalities, custom configurations and data conversions. Since VILLASnode is written in C/C++ it supports real-time capabilites and can supports real-time tuning for Linux systems. # Statement of need -VILLASnode supports the coupling of real-time simulators of different hardware and software vendors, specifications and implementation technologies [@monti_global_2018]. They play a crucial role in both academic research and industrial applications, especially within electrical power networks. They are primarily utilized for hardware-in-the-loop (HiL) simulations. For example, an electrical grid is emulated so that the physical component can interface safely via analog input and output signals [@Mehlmann2023]. -This approach not only reduces development costs but also allows for the validation of components under scenarios that are difficult or unsafe to replicate real-world field scenarios. Moreover, VILLASnode supports the linking of simulators and real-time simulators of different vendors so that models do not need to be shared. Local simulator and simulation infrastructure can be combined in a powerful arrangement unavailable at any individual infrastructure. This approach has the additional advantage of allowing to co-simulate with heterogeneus methods, algorithms and communication protocols. The communication with the components, sensors or actuators can also be implemented using VILLASnode. +VILLASnode supports the coupling of real-time simulators of different hardware and software vendors, specifications and implementations [@monti_global_2018]. They play a crucial role in both academic research and industrial applications, especially within simulation of electrical power networks. They are primarily utilized for hardware-in-the-loop (HiL) simulations. For example, an electrical grid is emulated so that the physical component can interface safely via analog input and output signals [@Mehlmann2023]. +This approach not only reduces development costs but also allows for the validation of components under scenarios that are difficult or unsafe to replicate real-world field scenarios. Moreover, VILLASnode supports the linking of simulators and real-time simulators of different vendors so that models do not need to be shared. It allows for conversation of intellectual property during collaboration. Local simulator and simulation infrastructure can be combined in a powerful arrangement unavailable at any individual infrastructure. This approach has the additional advantage of allowing to co-simulate with heterogeneus methods, algorithms and communication protocols. The communication with the components, sensors or actuators can also be implemented using VILLASnode. -This can be extended to geographically distributed experiments. In this case, VILLASnode takes care of the communication between the different participants to the experiment which spans multiple infrastructures. Not only simulators can be included, but also physical devices can [@Bach2025]. Although communication latencies constrain the dynamics of the experiment for real-time applications, VILLASnode offers significant advantages such as leveraging existing infrastructure across sites and facilitating collaboration among interdisciplinary teams. Manufacturers, customers, and certifiers benefit from remote access and distributed testing while maintaining data confidentiality and intellectual property. Current work includes automation of integration of VILLASnode in practical field devices [@Pitz2024]. +This can be extended to geographically distributed experiments. In this case, VILLASnode takes care of the communication between the different participants to the experiment which spans multiple infrastructures. Not only simulators can be included, but also physical devices can be integrated [@Bach2025]. Although communication latencies constrain the dynamics of the experiment for real-time applications, VILLASnode offers significant advantages such as leveraging existing infrastructure across sites and facilitating collaboration among interdisciplinary teams. Manufacturers, customers, and certifiers benefit from remote access and distributed testing while maintaining data confidentiality and intellectual property. Current work includes automation of integration of VILLASnode in practical field devices [@Pitz2024]. # Features VILLASnode is a part of the VILLASframework, which offers several key features. From 8d60a040027733af1822a793cf441d0f60ae129b Mon Sep 17 00:00:00 2001 From: Alexandra Date: Thu, 15 May 2025 09:34:07 +0200 Subject: [PATCH 3/9] JOSS: make pre-commit compliant Signed-off-by: Alexandra --- paper.bib | 4 ++-- paper.md | 51 +++++++++++++++++++++++++++++---------------------- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/paper.bib b/paper.bib index 3982acf22..47775f379 100644 --- a/paper.bib +++ b/paper.bib @@ -38,8 +38,8 @@ @article{Mehlmann2023 @article{Bach2025, author={Bach, Alexandra and Monti, Antonello}, - journal={IEEE Access}, - title={Remote Real-Time Testing of Physical Components Using Communication Setup Automation}, + journal={IEEE Access}, + title={Remote Real-Time Testing of Physical Components Using Communication Setup Automation}, year={2025}, volume={13}, number={}, diff --git a/paper.md b/paper.md index e012c361e..38b05f05a 100644 --- a/paper.md +++ b/paper.md @@ -1,11 +1,14 @@ --- title: 'VILLASnode: Open-source real-time coupling of distributed infrastructures' tags: + - C/C++ - Real-time - Distributed experiments - Electrical grid simulation + authors: + - name: Alexandra Bach orcid: 0009-0005-7385-4642 affiliation: 1 @@ -14,7 +17,7 @@ authors: affiliation: 1 - name: Laura Fuentes Grau orcid: 0009-0004-8997-7009 - - name: Steffen Vogel + - name: Steffen Vogel orcid: 0000-0003-3384-6750 affiliation: "1, 3" # (Multiple affiliations must be quoted) - name: Manuel Pitz @@ -23,10 +26,10 @@ authors: - name: Niklas Eiling orcid: 0000-0002-7011-9846 affiliation: 1 - - name: Felix Wege + - name: Felix Wege orcid: 0000-0001-6602-9875 affiliation: 1 - - name: Andres Acosta + - name: Andres Acosta orcid: 0000-0003-3066-8354 affiliation: 1 - name: Iris Köster @@ -36,12 +39,14 @@ authors: affiliation: "1,2" affiliations: + - name: Institute for Automation of Complex Power Systems, RWTH Aachen University, Germany index: 1 - name: Fraunhofer Institute for Applied Information Technology, Aachen, Germany index: 2 - name: OPAL-RT Germany GmbH index: 3 + date: 15 May 2025 bibliography: paper.bib @@ -50,42 +55,44 @@ bibliography: paper.bib # Summary VILLASnode is a software tool, designed to facilitate real-time data exchange between various components in geographically distributed real-time experiments. Components can be test beds, real-time simulators, software tools, and physical devices. -Whereas distributed computing, systems or algortihms aim to solve a common task, geographically distributed experiments link infrastructures with different components to make these components accessible to other infrastructures. Thus, data exchanges are possible which would not be possible in one single infrastructure. -VILLASnode serves as the gateway that connects components across different infrastructures by providing a set of protocols and customized third-party implementations, e.g., different simulators. It enables seamless collaboration in research and testing environments while safeguarding the intellectual property of the infrastructures. The components at every infrastructure appear as a black box. The infrastructure does not need to share models or confidential information. - -VILLASnode is a Linux command line tool and can run as installation from source or as container. It is written in C/C++ and designed in a modular way. -All components which are interfaced by the VILLASnode gateway are represented by nodes. These nodes act as sinks / sources for data specific to the component. Every node is an instance of a node-type. In a single VILLASnode instance, multiple instances of the same node-type can co-exist at the same time. -The basic data package, common for all node-types, includes timestamped data, constituting a sample. Up to 64 values can form a sample. -Samples may need modification or filtering. VILLASnode supports hooks for this purpose. Hooks are simple callback functions, which are called whenever a message is processed. -Paths take care of the processing and define the connections and dataflows between nodes. -Node-types, hooks, and paths need to be initalized in a configuration file which is passed when starting VILLASnode. -VILLASnode can be controlled remotely by an Application Programming Interface (API). It is used by the Python Wrapper allowing to control, configure and execute most of the functions of VILLASnode. This is useful if Python software tools are to be integrated in a distributed experiment. +Whereas distributed computing, systems or algortihms aim to solve a common task, geographically distributed experiments link infrastructures with different components to make these components accessible to other infrastructures. Thus, data exchanges are possible which would not be possible in one single infrastructure. +VILLASnode serves as the gateway that connects components across different infrastructures by providing a set of protocols and customized third-party implementations, e.g., different simulators. It enables seamless collaboration in research and testing environments while safeguarding the intellectual property of the infrastructures. The components at every infrastructure appear as a black box. The infrastructure does not need to share models or confidential information. + +VILLASnode is a Linux command line tool and can run as installation from source or as container. It is written in C/C++ and designed in a modular way. +All components which are interfaced by the VILLASnode gateway are represented by nodes. These nodes act as sinks or sources for data specific to the component. Every node is an instance of a node-type. In a single VILLASnode instance, multiple instances of the same node-type can co-exist at the same time. +The basic data package, common for all node-types, includes timestamped data, constituting a sample. Up to 64 values can form a sample. +Samples may need modification or filtering. VILLASnode supports hooks for this purpose. Hooks are simple callback functions, which are called whenever a message is processed. +Paths take care of the processing and define the connections and dataflows between nodes. +Node-types, hooks, and paths need to be initalized in a configuration file which is passed when starting VILLASnode. +VILLASnode can be controlled remotely by an Application Programming Interface (API). It is used by the Python Wrapper allowing to control, configure and execute most of the functions of VILLASnode. This is useful if Python software tools are to be integrated in a distributed experiment. In general, the interaction with VILLASnode is available for other tools and coding languages by using clients that implement basic functionalities, custom configurations and data conversions. -Since VILLASnode is written in C/C++ it supports real-time capabilites and can supports real-time tuning for Linux systems. +Since VILLASnode is written in C/C++ it supports real-time capabilites and can supports real-time tuning for Linux systems. # Statement of need -VILLASnode supports the coupling of real-time simulators of different hardware and software vendors, specifications and implementations [@monti_global_2018]. They play a crucial role in both academic research and industrial applications, especially within simulation of electrical power networks. They are primarily utilized for hardware-in-the-loop (HiL) simulations. For example, an electrical grid is emulated so that the physical component can interface safely via analog input and output signals [@Mehlmann2023]. +VILLASnode supports the coupling of real-time simulators of different hardware and software vendors, specifications and implementations [@monti_global_2018]. They play a crucial role in both academic research and industrial applications, especially within simulation of electrical power networks. They are primarily utilized for hardware-in-the-loop (HiL) simulations. For example, an electrical grid is emulated so that the physical component can interface safely via analog input and output signals [@Mehlmann2023]. This approach not only reduces development costs but also allows for the validation of components under scenarios that are difficult or unsafe to replicate real-world field scenarios. Moreover, VILLASnode supports the linking of simulators and real-time simulators of different vendors so that models do not need to be shared. It allows for conversation of intellectual property during collaboration. Local simulator and simulation infrastructure can be combined in a powerful arrangement unavailable at any individual infrastructure. This approach has the additional advantage of allowing to co-simulate with heterogeneus methods, algorithms and communication protocols. The communication with the components, sensors or actuators can also be implemented using VILLASnode. -This can be extended to geographically distributed experiments. In this case, VILLASnode takes care of the communication between the different participants to the experiment which spans multiple infrastructures. Not only simulators can be included, but also physical devices can be integrated [@Bach2025]. Although communication latencies constrain the dynamics of the experiment for real-time applications, VILLASnode offers significant advantages such as leveraging existing infrastructure across sites and facilitating collaboration among interdisciplinary teams. Manufacturers, customers, and certifiers benefit from remote access and distributed testing while maintaining data confidentiality and intellectual property. Current work includes automation of integration of VILLASnode in practical field devices [@Pitz2024]. +This can be extended to geographically distributed experiments. In this case, VILLASnode takes care of the communication between the different participants to the experiment which spans multiple infrastructures. Not only simulators can be included, but also physical devices can be integrated [@Bach2025]. Although communication latencies constrain the dynamics of the experiment for real-time applications, VILLASnode offers significant advantages such as leveraging existing infrastructure across sites and facilitating collaboration among interdisciplinary teams. Manufacturers, customers, and certifiers benefit from remote access and distributed testing while maintaining data confidentiality and intellectual property. Current work includes automation of integration of VILLASnode in practical field devices [@Pitz2024]. -# Features -VILLASnode is a part of the VILLASframework, which offers several key features. -Firstly, it includes VILLASweb, a tool designed for the visualization and monitoring of experiments. -Secondly, there is VILLASfpga, which provides hard real-time capabilities for VILLASnode. +# Features + +VILLASnode is a part of the VILLASframework, which offers several key features. +Firstly, it includes VILLASweb, a tool designed for the visualization and monitoring of experiments. +Secondly, there is VILLASfpga, which provides hard real-time capabilities for VILLASnode. Lastly, VILLAScontroller is currently under development and aims to automate simulation equipment. # Acknowledgements + - [RESERVE](http://re-serve.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 727481. - [VILLAS](https://villas.fein-aachen.org/website/): Funding provided by [JARA-ENERGY](http://www.jara.org/en/research/energy). Jülich-Aachen Research Alliance (JARA) is an initiative of RWTH Aachen University and Forschungszentrum Jülich. - [Urban Energy Lab 4.0](https://www.uel4-0.de/Home/): Funding is provided by the [European Regional Development Fund (EFRE)](https://ec.europa.eu/regional_policy/en/funding/erdf/). - [ERIGrid2.0](https://erigrid2.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 870620. -- [ENSURE](https://www.kopernikus-projekte.de/projekte/ensure): Federal Ministry of Education and Research supports the project under identification 03SFK1C0-3. +- [ENSURE](https://www.kopernikus-projekte.de/projekte/ensure): Federal Ministry of Education and Research supports the project under identification 03SFK1C0-3. - [NFDI4Energy](https://nfdi4energy.uol.de/): Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – 501865131. - [HYPERRIDE](https://hyperride.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 957788 - [Erigrid2.0](https://erigrid2.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 870620 - [AI-EFFECT](https://ai-effect.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 101172952 - [EnerTEF](https://enertef.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 101172887 -# References \ No newline at end of file +# References From a1d367c525773cb171b504695c4d82a5f2c97291 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Thu, 15 May 2025 09:51:17 +0200 Subject: [PATCH 4/9] JOSS: make reuse compliant Signed-off-by: Alexandra --- paper.bib | 4 ++++ paper.md | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/paper.bib b/paper.bib index 47775f379..bd876c7b4 100644 --- a/paper.bib +++ b/paper.bib @@ -1,3 +1,7 @@ +% Author: Alexandra Bach +% SPDX-FileCopyrightText: 2014-2025 Institute for Automation of Complex Power Systems, RWTH Aachen University +% SPDX-License-Identifier: Apache-2.0 + @article{monti_global_2018, title = {A Global Real-Time Superlab: Enabling High Penetration of Power Electronics in the Electric Grid}, volume = {5}, diff --git a/paper.md b/paper.md index 38b05f05a..5b620def3 100644 --- a/paper.md +++ b/paper.md @@ -1,3 +1,9 @@ + + --- title: 'VILLASnode: Open-source real-time coupling of distributed infrastructures' tags: From 2dec8cb46e9fc5ff6d9d165b961a372c2def6449 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Thu, 15 May 2025 12:13:21 +0200 Subject: [PATCH 5/9] JOSS: make markdownlint compliant Signed-off-by: Alexandra --- paper.md | 87 +++++++++++++++++++++++++++----------------------------- 1 file changed, 42 insertions(+), 45 deletions(-) diff --git a/paper.md b/paper.md index 5b620def3..21069fa3a 100644 --- a/paper.md +++ b/paper.md @@ -7,51 +7,48 @@ SPDX-License-Identifier: Apache-2.0 --- title: 'VILLASnode: Open-source real-time coupling of distributed infrastructures' tags: - - - C/C++ - - Real-time - - Distributed experiments - - Electrical grid simulation +- C/C++ +- Real-time +- Distributed experiments +- Electrical grid simulation authors: - - - name: Alexandra Bach - orcid: 0009-0005-7385-4642 - affiliation: 1 - - name: Leonardo Carreras - orcid: 0000-0002-9033-1051 - affiliation: 1 - - name: Laura Fuentes Grau - orcid: 0009-0004-8997-7009 - - name: Steffen Vogel - orcid: 0000-0003-3384-6750 - affiliation: "1, 3" # (Multiple affiliations must be quoted) - - name: Manuel Pitz - orcid: 0000-0002-6252-2029 - affiliation: 1 - - name: Niklas Eiling - orcid: 0000-0002-7011-9846 - affiliation: 1 - - name: Felix Wege - orcid: 0000-0001-6602-9875 - affiliation: 1 - - name: Andres Acosta - orcid: 0000-0003-3066-8354 - affiliation: 1 - - name: Iris Köster - affiliation: 1 - - name: Prof. Antonello Monti - orcid: 0000-0003-1914-9801 - affiliation: "1,2" +- name: Alexandra Bach + orcid: 0009-0005-7385-4642 + affiliation: 1 +- name: Leonardo Carreras + orcid: 0000-0002-9033-1051 + affiliation: 1 +- name: Laura Fuentes Grau + orcid: 0009-0004-8997-7009 +- name: Steffen Vogel + orcid: 0000-0003-3384-6750 + affiliation: "1, 3" # (Multiple affiliations must be quoted) +- name: Manuel Pitz + orcid: 0000-0002-6252-2029 + affiliation: 1 +- name: Niklas Eiling + orcid: 0000-0002-7011-9846 + affiliation: 1 +- name: Felix Wege + orcid: 0000-0001-6602-9875 + affiliation: 1 +- name: Andres Acosta + orcid: 0000-0003-3066-8354 + affiliation: 1 +- name: Iris Köster + affiliation: 1 +- name: Prof. Antonello Monti + orcid: 0000-0003-1914-9801 + affiliation: "1,2" affiliations: - - - name: Institute for Automation of Complex Power Systems, RWTH Aachen University, Germany - index: 1 - - name: Fraunhofer Institute for Applied Information Technology, Aachen, Germany - index: 2 - - name: OPAL-RT Germany GmbH - index: 3 +- name: Institute for Automation of Complex Power Systems, RWTH Aachen University, Germany + index: 1 +- name: Fraunhofer Institute for Applied Information Technology, Aachen, Germany + index: 2 +- name: OPAL-RT Germany GmbH + index: 3 date: 15 May 2025 bibliography: paper.bib @@ -96,9 +93,9 @@ Lastly, VILLAScontroller is currently under development and aims to automate sim - [ERIGrid2.0](https://erigrid2.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 870620. - [ENSURE](https://www.kopernikus-projekte.de/projekte/ensure): Federal Ministry of Education and Research supports the project under identification 03SFK1C0-3. - [NFDI4Energy](https://nfdi4energy.uol.de/): Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – 501865131. -- [HYPERRIDE](https://hyperride.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 957788 -- [Erigrid2.0](https://erigrid2.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 870620 -- [AI-EFFECT](https://ai-effect.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 101172952 -- [EnerTEF](https://enertef.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 101172887 +- [HYPERRIDE](https://hyperride.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 957788. +- [Erigrid2.0](https://erigrid2.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 870620. +- [AI-EFFECT](https://ai-effect.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 101172952. +- [EnerTEF](https://enertef.eu/): European Unions Horizon 2020 research and innovation programme under grant agreement No. 101172887. # References From af52f45ee44a8b35962ef8336b98a1f289e34995 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Thu, 15 May 2025 12:21:12 +0200 Subject: [PATCH 6/9] JOSS: add blank lines Signed-off-by: Alexandra --- paper.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/paper.md b/paper.md index 21069fa3a..e2bf12624 100644 --- a/paper.md +++ b/paper.md @@ -7,12 +7,14 @@ SPDX-License-Identifier: Apache-2.0 --- title: 'VILLASnode: Open-source real-time coupling of distributed infrastructures' tags: + - C/C++ - Real-time - Distributed experiments - Electrical grid simulation authors: + - name: Alexandra Bach orcid: 0009-0005-7385-4642 affiliation: 1 @@ -43,6 +45,7 @@ authors: affiliation: "1,2" affiliations: + - name: Institute for Automation of Complex Power Systems, RWTH Aachen University, Germany index: 1 - name: Fraunhofer Institute for Applied Information Technology, Aachen, Germany From d7a5580be1fe935c25d0ca6c1ca8d42bab52f6f2 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 20 May 2025 13:55:50 +0200 Subject: [PATCH 7/9] JOSS internal feedback Signed-off-by: Alexandra --- VILLASnode-modular.png | Bin 0 -> 155570 bytes paper.bib | 8 ++++++++ paper.md | 14 ++++++++++---- 3 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 VILLASnode-modular.png diff --git a/VILLASnode-modular.png b/VILLASnode-modular.png new file mode 100644 index 0000000000000000000000000000000000000000..5101432a21b764f6bc5bdcd8d014c8d2e404ab20 GIT binary patch literal 155570 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

-JZ{@m0LD@)iA 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%0A&&m1t~X&Pm!h(Hhl$8V;jyW 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 literal 0 HcmV?d00001 diff --git a/paper.bib b/paper.bib index bd876c7b4..4c51ba08f 100644 --- a/paper.bib +++ b/paper.bib @@ -2,6 +2,14 @@ @eonerc.rwth-aachen.de> % SPDX-FileCopyrightText: 2014-2025 Institute for Automation of Complex Power Systems, RWTH Aachen University % SPDX-License-Identifier: Apache-2.0 +@misc{villasnode_docs, + author = {Vogel, Steffen and Bach, Alexandra and Potter, Dennis and Stevic, Marija and Pitz, Manuel and Mirz, Markus}, + title = {VILLASnode Documentation}, + howpublished = {\url{https://villas.fein-aachen.org/docs/node/}}, + note = {Accessed: 2025-05-20}, + year = {2025} +} + @article{monti_global_2018, title = {A Global Real-Time Superlab: Enabling High Penetration of Power Electronics in the Electric Grid}, volume = {5}, diff --git a/paper.md b/paper.md index e2bf12624..c93e7f458 100644 --- a/paper.md +++ b/paper.md @@ -65,14 +65,20 @@ Whereas distributed computing, systems or algortihms aim to solve a common task, VILLASnode serves as the gateway that connects components across different infrastructures by providing a set of protocols and customized third-party implementations, e.g., different simulators. It enables seamless collaboration in research and testing environments while safeguarding the intellectual property of the infrastructures. The components at every infrastructure appear as a black box. The infrastructure does not need to share models or confidential information. VILLASnode is a Linux command line tool and can run as installation from source or as container. It is written in C/C++ and designed in a modular way. -All components which are interfaced by the VILLASnode gateway are represented by nodes. These nodes act as sinks or sources for data specific to the component. Every node is an instance of a node-type. In a single VILLASnode instance, multiple instances of the same node-type can co-exist at the same time. +All components which are interfaced by the VILLASnode gateway are represented by nodes (n). These nodes act as sinks or sources for data specific to the component. Every node is an instance of a node-type. In a single VILLASnode instance, multiple instances of the same node-type can co-exist at the same time. The basic data package, common for all node-types, includes timestamped data, constituting a sample. Up to 64 values can form a sample. -Samples may need modification or filtering. VILLASnode supports hooks for this purpose. Hooks are simple callback functions, which are called whenever a message is processed. -Paths take care of the processing and define the connections and dataflows between nodes. +Samples may need modification or filtering. VILLASnode supports hooks (h) for this purpose. Hooks are simple callback functions, which are called whenever a message is processed. +Paths (p) take care of the processing and define the connections and dataflows between nodes. Node-types, hooks, and paths need to be initalized in a configuration file which is passed when starting VILLASnode. +Figure 1 shows an example of an experiment where five different node-types are used, connected by three paths, using three hooks. +It includes queues (q) and registers (r). Queues temporarily store data before data is forwarded to registers. Registers provide the possibility to (de-)mulitplex data and to create new samples. + +![Example of modular exprimental design with nodes, paths, and hooks [@villasnode_docs].](VILLASnode-modular.png) + VILLASnode can be controlled remotely by an Application Programming Interface (API). It is used by the Python Wrapper allowing to control, configure and execute most of the functions of VILLASnode. This is useful if Python software tools are to be integrated in a distributed experiment. In general, the interaction with VILLASnode is available for other tools and coding languages by using clients that implement basic functionalities, custom configurations and data conversions. -Since VILLASnode is written in C/C++ it supports real-time capabilites and can supports real-time tuning for Linux systems. +Since VILLASnode is written in C/C++ it supports real-time capabilites and can supports real-time tuning for Linux systems. +To provide all necassary information, VILLASnode has a detailed documentation [@villasnode_docs]. It includes installation recommendations and best practices for development as well as example configurations and beginners guides, so-called labs. # Statement of need From 52b14f6269283bccd88c7bf10addded41ff91e82 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 20 May 2025 14:01:05 +0200 Subject: [PATCH 8/9] Add copyright to image Signed-off-by: Alexandra --- VILLASnode-modular.png | Bin 155570 -> 155847 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/VILLASnode-modular.png b/VILLASnode-modular.png index 5101432a21b764f6bc5bdcd8d014c8d2e404ab20..b64d04f597da46aa54b097c546be5e6eec97eac9 100644 GIT binary patch delta 296 zcmdnApY!-Z&IzIQ45cNm5hc#~1(ija=@}&q!2vE2x^9^{sc@l?)QS=-1tSAP6I~+% zBU1&>yyB9~lG2h?g|z%41;^5o{M^Kn%=|os{4@pU{M>?^)Cz@w{PNTyh2YBKlGNN{ z9fhFq5Dx{%#N>?BJcZD_%(B#?;>?mt&B^tr>lqjrI;uh0P^b25;y4+c+skK_KJhfBw>-jvm%cM<@S& zTshnB{`XyPotFiNd}MPzzUaixl Date: Tue, 20 May 2025 14:18:49 +0200 Subject: [PATCH 9/9] JOSS: fix reuse and pre-commit Signed-off-by: Alexandra --- REUSE.toml | 2 +- paper.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/REUSE.toml b/REUSE.toml index b669f4c15..97c3b98e1 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -7,7 +7,7 @@ SPDX-PackageSupplier = "Steffen Vogel " SPDX-PackageDownloadLocation = "https://fein-aachen.org/en/projects/villas-node/" [[annotations]] -path = ["**.prefs", "**.vi", "**.opal", "**.dft", "**.sib", "**.json", "**.ipynb", "**_pb2.py", "doc/pictures/**", "doc/favicon.png", "clients/opal-rt/rtlab-asyncip/models/send_receive/eonerc_logo.png", "clients/rtds/**/**.txt", "clients/opal-rt/hypersim-ucm/**.ecf", "etc/labs/lab3.pcap", "packaging/live-iso/files/etc/**", "tests/valgrind.supp", "packaging/archlinux/villas-node.install"] +path = ["**.prefs", "**.vi", "**.opal", "**.dft", "**.sib", "**.json", "**.ipynb", "**_pb2.py", "doc/pictures/**", "doc/favicon.png", "clients/opal-rt/rtlab-asyncip/models/send_receive/eonerc_logo.png", "clients/rtds/**/**.txt", "clients/opal-rt/hypersim-ucm/**.ecf", "etc/labs/lab3.pcap", "packaging/live-iso/files/etc/**", "tests/valgrind.supp", "packaging/archlinux/villas-node.install", "VILLASnode-modular.png"] precedence = "aggregate" SPDX-FileCopyrightText = "2018-2023, Institute for Automation of Complex Power Systems, RWTH Aachen University" SPDX-License-Identifier = "Apache-2.0" diff --git a/paper.md b/paper.md index c93e7f458..cffd8b172 100644 --- a/paper.md +++ b/paper.md @@ -70,15 +70,15 @@ The basic data package, common for all node-types, includes timestamped data, co Samples may need modification or filtering. VILLASnode supports hooks (h) for this purpose. Hooks are simple callback functions, which are called whenever a message is processed. Paths (p) take care of the processing and define the connections and dataflows between nodes. Node-types, hooks, and paths need to be initalized in a configuration file which is passed when starting VILLASnode. -Figure 1 shows an example of an experiment where five different node-types are used, connected by three paths, using three hooks. -It includes queues (q) and registers (r). Queues temporarily store data before data is forwarded to registers. Registers provide the possibility to (de-)mulitplex data and to create new samples. +Figure 1 shows an example of an experiment where five different node-types are used, connected by three paths, using three hooks. +It includes queues (q) and registers (r). Queues temporarily store data before data is forwarded to registers. Registers provide the possibility to (de-)mulitplex data and to create new samples. ![Example of modular exprimental design with nodes, paths, and hooks [@villasnode_docs].](VILLASnode-modular.png) VILLASnode can be controlled remotely by an Application Programming Interface (API). It is used by the Python Wrapper allowing to control, configure and execute most of the functions of VILLASnode. This is useful if Python software tools are to be integrated in a distributed experiment. In general, the interaction with VILLASnode is available for other tools and coding languages by using clients that implement basic functionalities, custom configurations and data conversions. -Since VILLASnode is written in C/C++ it supports real-time capabilites and can supports real-time tuning for Linux systems. -To provide all necassary information, VILLASnode has a detailed documentation [@villasnode_docs]. It includes installation recommendations and best practices for development as well as example configurations and beginners guides, so-called labs. +Since VILLASnode is written in C/C++ it supports real-time capabilites and can supports real-time tuning for Linux systems. +To provide all necassary information, VILLASnode has a detailed documentation [@villasnode_docs]. It includes installation recommendations and best practices for development as well as example configurations and beginners guides, so-called labs. # Statement of need