Difference between revisions of "Slicer3:Execution Model"

From Slicer Wiki
Jump to: navigation, search
 
Line 1: Line 1:
<big>'''Note:''' We are migrating this content to the slicer.org domain - <font color="orange">The newer page is [http://www.slicer.org/slicerWiki/index.php/Slicer3:Execution_Model  here]</font></big>a
+
=== 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.
 +
 
 +
[http://www.na-mic.org/Wiki/index.php/Execution_Model_Reference_Systems Here] is a discussion page on how to deal with reference systems in the Execution Model.
 +
 
 +
=== Documentation ===
 +
 
 +
Look at the [[Slicer3:Execution_Model_Documentation|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|Execution Model Discussion]] for background and motivation.

Latest revision as of 19:37, 19 May 2008

Home < Slicer3:Execution Model

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:

  1. 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.
  2. 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.
  3. 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.

Here is a discussion page on how to deal with reference systems in the Execution Model.

Documentation

Look at the 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 Execution Model Discussion for background and motivation.