1 /* 2 * This file is part of JGAP. 3 * 4 * JGAP offers a dual license model containing the LGPL as well as the MPL. 5 * 6 * For licencing information please see the file license.txt included with JGAP 7 * or have a look at the top of class org.jgap.Chromosome which representatively 8 * includes the JGAP license policy applicable for any file delivered with JGAP. 9 */ 10 package org.jgap.distr.grid; 11 12 import java.io.*; 13 14 /** 15 * Interface for a strategy how to split a work request into parts. Each part 16 * will be sent to a worker as an individual work request. 17 * 18 * @author Klaus Meffert 19 * @since 3.2 20 */ 21 public interface IRequestSplitStrategy 22 extends Serializable { 23 24 /** String containing the CVS revision. Read out via reflection!*/ 25 final static String CVS_REVISION = "$Revision: 1.1 $"; 26 27 /** 28 * Creates single requests to be sent to workers. This is done by splitting 29 * a single request into several parts. Each parts is sort of a modified 30 * clone of the original (super) request 31 * 32 * @param a_request the request to split 33 * @return single requests to be computed by workers 34 * @throws Exception 35 * 36 * @author Klaus Meffert 37 * @since 3.2 38 */ 39 public JGAPRequest[] split(JGAPRequest a_request) 40 throws Exception; 41 } 42