Slicer3:Execution Model
From NAMIC Wiki
Home < Slicer3:Execution Model
Contents
Abstract
The purpose of the Slicer3 Execution Model is to facilitate a "run-everywhere" philosophy for algorithm writers. NAMIC has adopted a standard for algorithm "self-description" that is followed when command line executables are written. Slicer, the grid, clusters, etc... will be able to use the executables directly in their environment.
Status
The Slicer3 execution model contains three components:
- Module Description Parser - This is a C++ library that parses an xml description of a module and creates C++ classes that can be accessed in applications.
- Command Line Processing - This is a C++ program that uses the Module Description Parser to generate C++ code that parses the command line arguments specified in the xml module description. This code can be included in the command line module to access the command line arguments at run-time.
- Slicer3 GUI - This GUI and related MRML and Logic classes uses the Module Description Parser to create GUI, MRML and Logic classes for each module "discovered" at run-time.
Currently, an initial implementation of all three components is complete.
Documentation
Look at the Slicer3:Execution Model Documentation for details.
Background
The initial implementation of the Slicer3 Execution Model followed a Wiki discusion of requirements and implementation options. Refer to the Slicer3:Execution_Model_Discussion for background and motivation.