Cargando…
A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture
Simulator interoperability and extensibility has become a growing requirement in computational biology. To address this, we have developed a federated software architecture. It is federated by its union of independent disparate systems under a single cohesive view, provides interoperability through...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
Public Library of Science
2012
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3252298/ https://www.ncbi.nlm.nih.gov/pubmed/22242154 http://dx.doi.org/10.1371/journal.pone.0028956 |
_version_ | 1782220616519122944 |
---|---|
author | Cornelis, Hugo Coop, Allan D. Bower, James M. |
author_facet | Cornelis, Hugo Coop, Allan D. Bower, James M. |
author_sort | Cornelis, Hugo |
collection | PubMed |
description | Simulator interoperability and extensibility has become a growing requirement in computational biology. To address this, we have developed a federated software architecture. It is federated by its union of independent disparate systems under a single cohesive view, provides interoperability through its capability to communicate, execute programs, or transfer data among different independent applications, and supports extensibility by enabling simulator expansion or enhancement without the need for major changes to system infrastructure. Historically, simulator interoperability has relied on development of declarative markup languages such as the neuron modeling language NeuroML, while simulator extension typically occurred through modification of existing functionality. The software architecture we describe here allows for both these approaches. However, it is designed to support alternative paradigms of interoperability and extensibility through the provision of logical relationships and defined application programming interfaces. They allow any appropriately configured component or software application to be incorporated into a simulator. The architecture defines independent functional modules that run stand-alone. They are arranged in logical layers that naturally correspond to the occurrence of high-level data (biological concepts) versus low-level data (numerical values) and distinguish data from control functions. The modular nature of the architecture and its independence from a given technology facilitates communication about similar concepts and functions for both users and developers. It provides several advantages for multiple independent contributions to software development. Importantly, these include: (1) Reduction in complexity of individual simulator components when compared to the complexity of a complete simulator, (2) Documentation of individual components in terms of their inputs and outputs, (3) Easy removal or replacement of unnecessary or obsoleted components, (4) Stand-alone testing of components, and (5) Clear delineation of the development scope of new components. |
format | Online Article Text |
id | pubmed-3252298 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2012 |
publisher | Public Library of Science |
record_format | MEDLINE/PubMed |
spelling | pubmed-32522982012-01-12 A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture Cornelis, Hugo Coop, Allan D. Bower, James M. PLoS One Research Article Simulator interoperability and extensibility has become a growing requirement in computational biology. To address this, we have developed a federated software architecture. It is federated by its union of independent disparate systems under a single cohesive view, provides interoperability through its capability to communicate, execute programs, or transfer data among different independent applications, and supports extensibility by enabling simulator expansion or enhancement without the need for major changes to system infrastructure. Historically, simulator interoperability has relied on development of declarative markup languages such as the neuron modeling language NeuroML, while simulator extension typically occurred through modification of existing functionality. The software architecture we describe here allows for both these approaches. However, it is designed to support alternative paradigms of interoperability and extensibility through the provision of logical relationships and defined application programming interfaces. They allow any appropriately configured component or software application to be incorporated into a simulator. The architecture defines independent functional modules that run stand-alone. They are arranged in logical layers that naturally correspond to the occurrence of high-level data (biological concepts) versus low-level data (numerical values) and distinguish data from control functions. The modular nature of the architecture and its independence from a given technology facilitates communication about similar concepts and functions for both users and developers. It provides several advantages for multiple independent contributions to software development. Importantly, these include: (1) Reduction in complexity of individual simulator components when compared to the complexity of a complete simulator, (2) Documentation of individual components in terms of their inputs and outputs, (3) Easy removal or replacement of unnecessary or obsoleted components, (4) Stand-alone testing of components, and (5) Clear delineation of the development scope of new components. Public Library of Science 2012-01-05 /pmc/articles/PMC3252298/ /pubmed/22242154 http://dx.doi.org/10.1371/journal.pone.0028956 Text en Cornelis et al. http://creativecommons.org/licenses/by/4.0/ This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are properly credited. |
spellingShingle | Research Article Cornelis, Hugo Coop, Allan D. Bower, James M. A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture |
title | A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture |
title_full | A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture |
title_fullStr | A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture |
title_full_unstemmed | A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture |
title_short | A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture |
title_sort | federated design for a neurobiological simulation engine: the cbi federated software architecture |
topic | Research Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3252298/ https://www.ncbi.nlm.nih.gov/pubmed/22242154 http://dx.doi.org/10.1371/journal.pone.0028956 |
work_keys_str_mv | AT cornelishugo afederateddesignforaneurobiologicalsimulationenginethecbifederatedsoftwarearchitecture AT coopalland afederateddesignforaneurobiologicalsimulationenginethecbifederatedsoftwarearchitecture AT bowerjamesm afederateddesignforaneurobiologicalsimulationenginethecbifederatedsoftwarearchitecture AT cornelishugo federateddesignforaneurobiologicalsimulationenginethecbifederatedsoftwarearchitecture AT coopalland federateddesignforaneurobiologicalsimulationenginethecbifederatedsoftwarearchitecture AT bowerjamesm federateddesignforaneurobiologicalsimulationenginethecbifederatedsoftwarearchitecture |