Skip to content

Commit 148de00

Browse files
authored
Update paper.md
1 parent 782594d commit 148de00

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

paper.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ bibliography: paper.bib
6565
---
6666
# Summary
6767

68-
The CONTROL-CORE framework is a flexible software platform for designing and implementing closed-loop Vagus Nerve Stimulation (VNS) systems in programming languages in diverse software environments. Its modular workflow approach for closed-loop executions of the VNS simulations aims to facilitate modeling organ functions as physiological models (PMs) and therapeutic devices in their early stages in a software environment.
68+
The CONTROL-CORE framework is a flexible software platform for designing and implementing closed-loop Vagus Nerve Stimulation (VNS) [@romero2017closed] systems in programming languages in diverse software environments. Its modular workflow approach for closed-loop executions of the VNS simulations aims to facilitate modeling organ functions as physiological models (PMs) and therapeutic devices in their early stages in a software environment.
6969

7070
The CONTROL-CORE framework consists of the _concore_ protocol at its core. The _concore_ protocol allows seamless synchronized communication between the programs (such as PMs and controllers) that compose a study as a workflow. _concore_ enables simulations to run on different operating systems, be developed in various programming languages (such as Matlab, Python, C++, and Verilog), and be run locally, in containers, and a distributed fashion.
7171

@@ -79,7 +79,7 @@ CONTROL-CORE contains a lightweight browser-based visual _concore_ editor, which
7979

8080
Existing software ecosystems are not tailored for the modeling and simulation of closed-loop control systems developed in multiple programming languages. Containerization with frameworks such as Docker has become popular across the scientific community as containerization enables reproducible science with minimal effort. Workflow frameworks can execute a series of containerized programs without human-in-the-loop, with services/programs as predefined start and end steps. Workflows facilitate modular development as they enable the execution of a series of programs without manually managing each program individually. Typically, these programs are developed and shared across the users as containerized services. Such workflows do not have a cycle, by definition.
8181

82-
On the other hand, a neuromodulation control system comprises feedback loops represented by directed cycles (dicycles). The presence of a dicycle violates the core tenet of classic workflow frameworks, such as Common Workflow Language (CWL) and Workflow Description Language (WDL), which expect the studies to be represented by a directed acyclic graph (DAG). Furthermore, control systems run the same program multiple times as part of the execution with feedback. Consequently, overheads imposed by workflow frameworks, significantly when handling implementations across diverse programming languages and execution environments, are magnified in the case of a closed-loop execution.
82+
On the other hand, a neuromodulation control system comprises feedback loops represented by directed cycles (dicycles). The presence of a dicycle violates the core tenet of classic workflow frameworks, such as Common Workflow Language (CWL) [@amstutz2016common] and Workflow Description Language (WDL) [@miller2006method], which expect the studies to be represented by a directed acyclic graph (DAG) [@gupta2017generation]. Furthermore, control systems run the same program multiple times as part of the execution with feedback. Consequently, overheads imposed by workflow frameworks, significantly when handling implementations across diverse programming languages and execution environments, are magnified in the case of a closed-loop execution.
8383

8484
Interoperability plays a significant role in scientific research. Therefore, we should support the modeling and simulation of studies composed of programs developed in different programming languages, executing on different execution modes (local, distributed, or containerized). _concore_ is designed for efficiency in control systems' specific use cases, supporting interoperable communication and data exchange between programs from independent researchers. The simple file-based communication and synchronization of _concore_, without a centralized workflow orchestrator, enables interoperable executions with high performance.
8585

0 commit comments

Comments
 (0)