From: <bh...@us...> - 2008-03-07 21:56:26
|
Revision: 648 http://cishell.svn.sourceforge.net/cishell/?rev=648&view=rev Author: bh2 Date: 2008-03-07 13:56:18 -0800 (Fri, 07 Mar 2008) Log Message: ----------- * cautioned readers on ambiguous in_data statements * added parameters_pid key for algorithms with custom pids for their parameters OCD * moved createParameters out of AF to ParameterMutator * require metatype service use for algorithm user-input parameters * added PARAMETERS_PID to AlgorithmProperty * added TABLE_TYPE to DataProperty * bumped to version 1.0 (though still not done yet, of course) * changed the build system's output of the spec's name to match what is published on cishell.org/the javadocs * updated the images that used to refer to createParameters. The images still need more clarity I think. Still TODO: * clean up/clarify/refine the text and images of both the spec and the javadocs Modified Paths: -------------- branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/AlgorithmFactory.java branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/AlgorithmProperty.java branches/spec_update/org.cishell.framework/src/org/cishell/framework/data/DataProperty.java trunk/core/org.cishell.docs/build.properties trunk/core/org.cishell.docs/src/img/algExecWorkflow.dia trunk/core/org.cishell.docs/src/img/algExecWorkflow.eps trunk/core/org.cishell.docs/src/img/algExecWorkflow.pdf trunk/core/org.cishell.docs/src/img/cishellInteraction.dia trunk/core/org.cishell.docs/src/img/cishellInteraction.eps trunk/core/org.cishell.docs/src/img/cishellInteraction.pdf trunk/core/org.cishell.docs/src/specification/tex/algorithms.tex trunk/core/org.cishell.docs/src/specification/tex/algorithmtypes.tex trunk/core/org.cishell.docs/src/specification/tex/framework.tex trunk/core/org.cishell.docs/src/specification/tex/introduction.tex trunk/core/org.cishell.docs/src/specification/tex/osgidependencies.tex trunk/core/org.cishell.docs/src/specification/tex/useradjustableprefs.tex Added Paths: ----------- branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/ParameterMutator.java Modified: branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/AlgorithmFactory.java =================================================================== --- branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/AlgorithmFactory.java 2008-03-06 18:05:47 UTC (rev 647) +++ branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/AlgorithmFactory.java 2008-03-07 21:56:18 UTC (rev 648) @@ -17,35 +17,28 @@ import org.cishell.framework.CIShellContext; import org.cishell.framework.data.Data; -import org.osgi.service.metatype.MetaTypeProvider; +import org.osgi.service.metatype.MetaTypeService; /** - * A class for creating {@link Algorithm}s. This class provides the - * parameters needed by its associated <code>Algorithm</code> on demand and when - * given correct data, will create an <code>Algorithm</code> that can be executed. + * A service interface for creating {@link Algorithm}s to be executed. * <br> * An algorithm developer must create an implementation of this interface and * register it (along with some standard metadata about the algorithm, defined * in the {@link AlgorithmProperty} class) in the OSGi service registry. + * <br> + * If the algorithm requires input in addition to the raw data provided, a + * {@link MetaTypeProvider} must be published to OSGi's {@link MetaTypeService} + * (usually through a METADATA.XML file in the algorithm's bundle). + * <br> + * See the <a href="http://cishell.org/dev/docs/spec/cishell-spec-1.0.pdf"> + * CIShell Specification 1.0</a> for documentation on the full requirements for + * algorithm creation. * * @author Bruce Herr (bh...@bh...) */ public interface AlgorithmFactory { + /** - * Creates a set of parameter definitions that specify what parameters are - * needed in order to run its associated Algorithm - * - * @param data An optional argument, the Data array that will be given to - * this class to create an Algorithm with the createAlgorithm - * method. Clients that don't know the Data array that is going - * to be used ahead of time can give a <code>null</code> value. - * @return An OSGi {@link MetaTypeProvider} that defines the parameters - * needed by the Algorithm this class creates. May be - * <code>null</code> if no parameters are needed. - */ - public MetaTypeProvider createParameters(Data[] data); - - /** * Creates an {@link Algorithm} to be executed * * @param data The data to be given to the Algorithm to process. @@ -54,7 +47,8 @@ * dictionary (the 'in_data' key) when registered as a * service in OSGi. * @param parameters A set of key-value pairs that were created based on - * the parameters given by the createParameters method + * the associated input specification published to the + * {@link MetaTypeService} * @param context The context by which the Algorithm can gain access to * standard CIShell services * @return An <code>Algorithm</code> primed for execution Modified: branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/AlgorithmProperty.java =================================================================== --- branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/AlgorithmProperty.java 2008-03-06 18:05:47 UTC (rev 647) +++ branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/AlgorithmProperty.java 2008-03-07 21:56:18 UTC (rev 648) @@ -28,13 +28,16 @@ public static final String OUT_DATA = "out_data"; public static final String NULL_DATA = "null"; + public static final String PARAMETERS_PID = "parameters_pid"; + public static final String PARENTAGE = "parentage"; public static final String DEFAULT_PARENTAGE="default"; public static final String ALGORITHM_TYPE = "type"; public static final String TYPE_CONVERTER = "converter"; public static final String TYPE_VALIDATOR = "validator"; - + public static final String TYPE_DATASET = "dataset"; + public static final String REMOTEABLE = "remoteable"; public static final String REMOTE = "remote"; @@ -58,11 +61,4 @@ public static final String REFERENCE = "reference"; public static final String REFERENCE_URL = "reference_url"; public static final String WRITTEN_IN = "written_in"; - - - - //Undocumented/possibly-unnecessary properties - public static final String TYPE_ALGORITHM = "algorithm"; - public static final String TYPE_DATASET = "dataset"; - public static final String METATYPE_ID = "metatype-id"; } Added: branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/ParameterMutator.java =================================================================== --- branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/ParameterMutator.java (rev 0) +++ branches/spec_update/org.cishell.framework/src/org/cishell/framework/algorithm/ParameterMutator.java 2008-03-07 21:56:18 UTC (rev 648) @@ -0,0 +1,46 @@ +/* **************************************************************************** + * CIShell: Cyberinfrastructure Shell, An Algorithm Integration Framework. + * + * All rights reserved. This program and the accompanying materials are made + * available under the terms of the Apache License v2.0 which accompanies + * this distribution, and is available at: + * http://www.apache.org/licenses/LICENSE-2.0.html + * + * Created on Mar 7, 2008 at Indiana University. + * + * Contributors: + * Indiana University - + * ***************************************************************************/ +package org.cishell.framework.algorithm; + +import org.cishell.framework.data.Data; +import org.osgi.service.metatype.AttributeDefinition; +import org.osgi.service.metatype.ObjectClassDefinition; + +/** + * An additional interface an {@link AlgorithmFactory} can implement that allows + * for adding, modifying, or removing input parameters before being shown to the + * end-user for input. This interface is often implemented by algorithms that + * wish to customize the input UI based on the actual input data. + * + * @author Bruce Herr (bh...@bh...) + */ +public interface ParameterMutator { + + /** + * Adds, modifies, or removes {@link Algorithm} parameters + * ({@link AttributeDefinition}s) from a given {@link ObjectClassDefinition} + * returning either the same (if no changes are made) input or a new, + * mutated version of the input + * + * @param data An optional argument, the Data array that will be given to + * this class to create an Algorithm with the createAlgorithm + * method. Applications that don't know the Data array that is going + * to be used ahead of time can give a <code>null</code> value. + * @param parameters A set of AttributeDefinitions which define the + * algorithm's input parameters + * @return An OSGi {@link ObjectClassDefinition} that defines the parameters + * needed by the Algorithm this class creates + */ + public ObjectClassDefinition mutateParameters(Data[] data, ObjectClassDefinition parameters); +} Modified: branches/spec_update/org.cishell.framework/src/org/cishell/framework/data/DataProperty.java =================================================================== --- branches/spec_update/org.cishell.framework/src/org/cishell/framework/data/DataProperty.java 2008-03-06 18:05:47 UTC (rev 647) +++ branches/spec_update/org.cishell.framework/src/org/cishell/framework/data/DataProperty.java 2008-03-07 21:56:18 UTC (rev 648) @@ -66,6 +66,9 @@ /** Says this data model is abstractly a network */ public static String NETWORK_TYPE = "Network"; + + /** Says this data model is abstractly a table */ + public static String TABLE_TYPE = "Table"; /** Says this data model is abstractly a tree */ public static String TREE_TYPE = "Tree"; Modified: trunk/core/org.cishell.docs/build.properties =================================================================== --- trunk/core/org.cishell.docs/build.properties 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/build.properties 2008-03-07 21:56:18 UTC (rev 648) @@ -1,4 +1,4 @@ -version = 0.8 +version = 1.0 build.dir = build api.tex = api.tex @@ -16,9 +16,9 @@ spec.tex = main.tex spec.dir = src/specification -spec.html.dir = ${build.dir}/cishell-specification-${version} +spec.html.dir = ${build.dir}/cishell-spec-${version} spec.tmp.pdf = ${spec.dir}/main.pdf -spec.final.pdf = ${build.dir}/cishell-specification-${version}.pdf +spec.final.pdf = ${build.dir}/cishell-spec-${version}.pdf guide.tex = main.tex guide.dir = src/dev_guide Modified: trunk/core/org.cishell.docs/src/img/algExecWorkflow.dia =================================================================== (Binary files differ) Modified: trunk/core/org.cishell.docs/src/img/algExecWorkflow.eps =================================================================== --- trunk/core/org.cishell.docs/src/img/algExecWorkflow.eps 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/src/img/algExecWorkflow.eps 2008-03-07 21:56:18 UTC (rev 648) @@ -1,11 +1,11 @@ %!PS-Adobe-2.0 EPSF-2.0 -%%Title: /home/bherr/cishell-workspace/org.cishell.docs/src/img/algExecWorkflow.dia -%%Creator: Dia v0.95 -%%CreationDate: Wed Jan 9 10:58:56 2008 +%%Title: /home/bherr/workspace/org.cishell.docs/src/img/algExecWorkflow.dia +%%Creator: Dia v0.96.1 +%%CreationDate: Fri Mar 7 16:33:37 2008 %%For: bherr %%Orientation: Portrait %%Magnification: 1.0000 -%%BoundingBox: 0 0 1146 381 +%%BoundingBox: 0 0 1146 358 %%BeginSetup %%EndSetup %%EndComments @@ -341,20 +341,26 @@ currentdict end definefont pop 28.346000 -28.346000 scale --3.052330 -20.889800 translate +-3.030488 -20.889800 translate %%EndProlog 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 14.958000 16.044000 m 14.958000 18.244000 l 22.508000 18.244000 l 22.508000 16.044000 l f +n 14.913806 16.044000 m 14.913806 18.244000 l 22.561306 18.244000 l 22.561306 16.044000 l f 0.000000 0.000000 0.000000 srgb -n 14.958000 16.044000 m 14.958000 18.244000 l 22.508000 18.244000 l 22.508000 16.044000 l cp s +n 14.913806 16.044000 m 14.913806 18.244000 l 22.561306 18.244000 l 22.561306 16.044000 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 18.733000 ex sub 16.694000 m gs 1 -1 sc sh gr +(<<interface>>) 16.462556 16.546500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(AlgorithmFactory) dup sw 2 div 18.733000 ex sub 17.694000 m gs 1 -1 sc sh gr +(AlgorithmFactory) 15.163806 17.514000 m +dup sw 7.147500 exch sub +16 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb @@ -362,19 +368,34 @@ 0.000000 0.000000 0.000000 srgb n 27.318000 16.045000 m 27.318000 18.245000 l 32.368000 18.245000 l 32.368000 16.045000 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 29.843000 ex sub 16.695000 m gs 1 -1 sc sh gr +(<<interface>>) 27.568000 16.547500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(Algorithm) dup sw 2 div 29.843000 ex sub 17.695000 m gs 1 -1 sc sh gr +(Algorithm) 27.803000 17.515000 m +dup sw 4.080000 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 27.273500 17.145000 m 23.346400 17.145000 l 23.346400 17.144000 l 22.558300 17.144000 l s +n 27.273544 17.145000 m 23.346400 17.145000 l 23.346400 17.144000 l 22.611078 17.144000 l s /Courier-latin1 ff 0.560000 scf sf -(creates) 23.446400 16.994500 m gs 1 -1 sc sh gr -n 25.996400 16.994500 m 25.996400 16.594500 l 26.396400 16.794500 l ef -(1) dup sw 27.073500 ex sub 16.995000 m gs 1 -1 sc sh gr -(1) 22.758300 16.994000 m gs 1 -1 sc sh gr +(creates) 23.446400 16.864500 m +dup sw 2.450000 exch sub +7 div exch 0.0 exch + gs 1 -1 sc ashow gr +n 25.996400 17.004500 m 25.996400 16.604500 l 26.396400 16.804500 l ef +(1) 26.723544 16.865000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 22.811078 16.864000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb @@ -382,19 +403,31 @@ 0.000000 0.000000 0.000000 srgb n 4.652850 16.044700 m 4.652850 18.244700 l 9.702850 18.244700 l 9.702850 16.044700 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 7.177850 ex sub 16.694700 m gs 1 -1 sc sh gr +(<<interface>>) 4.902850 16.547200 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(Data) dup sw 2 div 7.177850 ex sub 17.694700 m gs 1 -1 sc sh gr +(Data) 6.207850 17.514700 m +dup sw 1.940000 exch sub +4 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 3.102330 18.639800 m 3.102330 20.839800 l 9.702330 20.839800 l 9.702330 18.639800 l f +n 3.102330 18.639800 m 3.102330 20.839800 l 9.672330 20.839800 l 9.672330 18.639800 l f 0.000000 0.000000 0.000000 srgb -n 3.102330 18.639800 m 3.102330 20.839800 l 9.702330 20.839800 l 9.702330 18.639800 l cp s +n 3.102330 18.639800 m 3.102330 20.839800 l 9.672330 20.839800 l 9.672330 18.639800 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 6.402330 ex sub 19.289800 m gs 1 -1 sc sh gr +(<<interface>>) 4.112330 19.142300 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(CIShellContext) dup sw 2 div 6.402330 ex sub 20.289800 m gs 1 -1 sc sh gr +(CIShellContext) 3.352330 20.109800 m +dup sw 6.070000 exch sub +14 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd [] 0 sd @@ -406,20 +439,34 @@ [] 0 sd 0 slj 0 slc -n 9.702330 19.739800 m 11.446400 19.739800 l 11.446400 17.144000 l 14.958000 17.144000 l s +n 9.702330 19.739800 m 11.446400 19.739800 l 11.446400 17.144000 l 14.913806 17.144000 l s /Courier-latin1 ff 0.560000 scf sf -(1) 9.902330 19.589800 m gs 1 -1 sc sh gr -(1) dup sw 14.758000 ex sub 16.994000 m gs 1 -1 sc sh gr +(1) 9.902330 19.459800 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 14.363806 16.864000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 9.702850 17.144700 m 11.777300 17.144700 l 11.777300 17.144000 l 14.958000 17.144000 l s -/Courier-latin1 ff 0.560000 scf sf -(given) 11.877300 16.994350 m gs 1 -1 sc sh gr -n 13.727300 16.994350 m 13.727300 16.594350 l 14.127300 16.794350 l ef -(0..n) 9.902850 16.994700 m gs 1 -1 sc sh gr -(1) dup sw 14.758000 ex sub 16.994000 m gs 1 -1 sc sh gr +n 9.702850 17.144700 m 11.777300 17.144700 l 11.777300 17.144000 l 14.913806 17.144000 l s +(given) 11.877300 16.864350 m +dup sw 1.750000 exch sub +5 div exch 0.0 exch + gs 1 -1 sc ashow gr +n 13.727300 17.004350 m 13.727300 16.604350 l 14.127300 16.804350 l ef +(0..n) 9.902850 16.864700 m +dup sw 1.400000 exch sub +4 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 14.363806 16.864000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb @@ -427,116 +474,149 @@ 0.000000 0.000000 0.000000 srgb n 4.651040 13.330300 m 4.651040 15.530300 l 9.701040 15.530300 l 9.701040 13.330300 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 7.176040 ex sub 13.980300 m gs 1 -1 sc sh gr +(<<interface>>) 4.901040 13.832800 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(Dictionary) dup sw 2 div 7.176040 ex sub 14.980300 m gs 1 -1 sc sh gr +(Dictionary) 5.057290 14.800300 m +dup sw 4.237500 exch sub +10 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 9.751110 14.430300 m 11.452300 14.430300 l 11.452300 17.144000 l 14.958000 17.144000 l s +n 9.751088 14.430300 m 11.452300 14.430300 l 11.452300 17.144000 l 14.913806 17.144000 l s /Courier-latin1 ff 0.560000 scf sf -(1) 9.951110 14.280300 m gs 1 -1 sc sh gr -(1) dup sw 14.758000 ex sub 16.994000 m gs 1 -1 sc sh gr +(1) 9.951088 14.150300 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 14.363806 16.864000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 38.373000 16.043700 m 38.373000 18.243700 l 43.423000 18.243700 l 43.423000 16.043700 l f +n 38.337645 16.061378 m 38.337645 18.261378 l 43.387645 18.261378 l 43.387645 16.061378 l f 0.000000 0.000000 0.000000 srgb -n 38.373000 16.043700 m 38.373000 18.243700 l 43.423000 18.243700 l 43.423000 16.043700 l cp s +n 38.337645 16.061378 m 38.337645 18.261378 l 43.387645 18.261378 l 43.387645 16.061378 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 40.898000 ex sub 16.693700 m gs 1 -1 sc sh gr +(<<interface>>) 38.587645 16.563878 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(Data) dup sw 2 div 40.898000 ex sub 17.693700 m gs 1 -1 sc sh gr +(Data) 39.892645 17.531378 m +dup sw 1.940000 exch sub +4 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 38.323900 17.143700 m 33.196400 17.143700 l 33.196400 17.145000 l 32.368000 17.145000 l s +n 38.317212 17.161378 m 33.196400 17.161378 l 33.196400 17.145000 l 32.368000 17.145000 l s /Courier-latin1 ff 0.560000 scf sf -(creates) 33.296400 16.994350 m gs 1 -1 sc sh gr -n 35.846400 16.994350 m 35.846400 16.594350 l 36.246400 16.794350 l ef -(0..n) dup sw 38.123900 ex sub 16.993700 m gs 1 -1 sc sh gr -(1) 32.568000 16.995000 m gs 1 -1 sc sh gr +(creates) 33.296400 16.873189 m +dup sw 2.450000 exch sub +7 div exch 0.0 exch + gs 1 -1 sc ashow gr +n 35.846400 17.013189 m 35.846400 16.613189 l 36.246400 16.813189 l ef +(0..n) 36.717212 16.881378 m +dup sw 1.400000 exch sub +4 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 32.568000 16.865000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 14.842100 7.525020 m 14.842100 9.725020 l 22.392100 9.725020 l 22.392100 7.525020 l f +n 3.080488 8.325020 m 3.080488 10.525020 l 10.580488 10.525020 l 10.580488 8.325020 l f 0.000000 0.000000 0.000000 srgb -n 14.842100 7.525020 m 14.842100 9.725020 l 22.392100 9.725020 l 22.392100 7.525020 l cp s +n 3.080488 8.325020 m 3.080488 10.525020 l 10.580488 10.525020 l 10.580488 8.325020 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 18.617100 ex sub 8.175020 m gs 1 -1 sc sh gr +(<<interface>>) 4.555488 8.827520 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(AlgorithmFactory) dup sw 2 div 18.617100 ex sub 9.175020 m gs 1 -1 sc sh gr +(MetaTypeService) 3.330488 9.795020 m +dup sw 7.000000 exch sub +15 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 27.902100 7.526020 m 27.902100 9.726020 l 35.802100 9.726020 l 35.802100 7.526020 l f +n 16.052100 8.326020 m 16.052100 10.526020 l 24.019600 10.526020 l 24.019600 8.326020 l f 0.000000 0.000000 0.000000 srgb -n 27.902100 7.526020 m 27.902100 9.726020 l 35.802100 9.726020 l 35.802100 7.526020 l cp s +n 16.052100 8.326020 m 16.052100 10.526020 l 24.019600 10.526020 l 24.019600 8.326020 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 31.852100 ex sub 8.176020 m gs 1 -1 sc sh gr +(<<interface>>) 17.760850 8.828520 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(MetaTypeProvider) dup sw 2 div 31.852100 ex sub 9.176020 m gs 1 -1 sc sh gr +(MetaTypeProvider) 16.302100 9.796020 m +dup sw 7.467500 exch sub +16 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 27.852214 8.626020 m 23.434100 8.626020 l 23.434100 8.625020 l 22.442123 8.625020 l s +n 16.002904 9.426020 m 11.584100 9.426020 l 11.584100 9.425020 l 10.630708 9.425020 l s /Courier-latin1 ff 0.560000 scf sf -(provides) 23.534100 8.475520 m gs 1 -1 sc sh gr -n 26.434100 8.475520 m 26.434100 8.075520 l 26.834100 8.275520 l ef -(1) dup sw 27.652214 ex sub 8.476020 m gs 1 -1 sc sh gr -(1) 22.642123 8.475020 m gs 1 -1 sc sh gr +(provides) 11.684100 9.145520 m +dup sw 2.800000 exch sub +8 div exch 0.0 exch + gs 1 -1 sc ashow gr +n 14.584100 9.285520 m 14.584100 8.885520 l 14.984100 9.085520 l ef +(1) 15.452904 9.146020 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 10.830708 9.145020 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd -1.000000 1.000000 1.000000 srgb -n 4.595000 7.525000 m 4.595000 9.725000 l 9.645000 9.725000 l 9.645000 7.525000 l f -0.000000 0.000000 0.000000 srgb -n 4.595000 7.525000 m 4.595000 9.725000 l 9.645000 9.725000 l 9.645000 7.525000 l cp s -/Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 7.120000 ex sub 8.175000 m gs 1 -1 sc sh gr -/Helvetica-Bold-latin1 ff 0.700000 scf sf -(Data) dup sw 2 div 7.120000 ex sub 9.175000 m gs 1 -1 sc sh gr -0.100000 slw [] 0 sd -[] 0 sd 0 slj 0 slc -n 22.510300 8.794320 m 21.415600 9.834120 l 22.509600 9.834120 l ef -n 22.510300 8.794320 m 21.415600 9.834120 l 22.509600 9.834120 l cp s +n 10.660300 9.594320 m 9.565600 10.634120 l 10.659600 10.634120 l ef +n 10.660300 9.594320 m 9.565600 10.634120 l 10.659600 10.634120 l cp s 0.100000 slw [] 0 sd -0 slj -0 slc -n 9.645000 8.625000 m 11.534100 8.625000 l 11.534100 8.625020 l 14.842100 8.625020 l s -/Courier-latin1 ff 0.560000 scf sf -(given) 11.634100 8.475010 m gs 1 -1 sc sh gr -n 13.484100 8.475010 m 13.484100 8.075010 l 13.884100 8.275010 l ef -(0..n) 9.845000 8.475000 m gs 1 -1 sc sh gr -(1) dup sw 14.642100 ex sub 8.475020 m gs 1 -1 sc sh gr -0.100000 slw -[] 0 sd 1.000000 1.000000 1.000000 srgb -n 37.470200 7.774310 m 42.670200 7.774310 l 43.270200 8.374310 l 43.270200 9.474310 l 37.470200 9.474310 l ef +n 26.920200 8.574310 m 32.120200 8.574310 l 32.720200 9.174310 l 32.720200 10.274310 l 26.920200 10.274310 l ef 0.000000 0.000000 0.000000 srgb -n 37.470200 7.774310 m 42.670200 7.774310 l 43.270200 8.374310 l 43.270200 9.474310 l 37.470200 9.474310 l cp s +n 26.920200 8.574310 m 32.120200 8.574310 l 32.720200 9.174310 l 32.720200 10.274310 l 26.920200 10.274310 l cp s 0.050000 slw -n 42.670200 7.774310 m 42.670200 8.374310 l 43.270200 8.374310 l s +n 32.120200 8.574310 m 32.120200 9.174310 l 32.720200 9.174310 l s /Courier-latin1 ff 0.560000 scf sf -(Get User Input) 37.820200 8.974310 m gs 1 -1 sc sh gr +(Get User Input) 27.270200 9.626810 m +dup sw 4.900000 exch sub +14 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 35.852423 8.626020 m 37.201100 8.626020 l 37.201100 8.624310 l 37.420059 8.624310 l s +n 24.069652 9.426020 m 25.351100 9.426020 l 25.351100 9.424310 l 26.878624 9.424310 l s /Courier-latin1 ff 0.560000 scf sf 0.100000 slw [] 0 sd 0 slj 0 slc -n 40.370200 9.522621 m 40.370200 12.650000 l 7.176040 12.650000 l 7.176040 13.330300 l s -/Courier-latin1 ff 0.560000 scf sf -(creates) dup sw 2 div 23.773120 ex sub 12.500000 m gs 1 -1 sc sh gr -n 22.348120 12.500000 m 22.348120 12.100000 l 21.948120 12.300000 l ef +n 29.820200 10.322085 m 29.820200 12.650000 l 7.176040 12.650000 l 7.176040 13.330300 l s +(creates) 17.273120 12.370000 m +dup sw 2.450000 exch sub +7 div exch 0.0 exch + gs 1 -1 sc ashow gr +n 17.073120 12.510000 m 17.073120 12.110000 l 16.673120 12.310000 l ef showpage Modified: trunk/core/org.cishell.docs/src/img/algExecWorkflow.pdf =================================================================== (Binary files differ) Modified: trunk/core/org.cishell.docs/src/img/cishellInteraction.dia =================================================================== (Binary files differ) Modified: trunk/core/org.cishell.docs/src/img/cishellInteraction.eps =================================================================== --- trunk/core/org.cishell.docs/src/img/cishellInteraction.eps 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/src/img/cishellInteraction.eps 2008-03-07 21:56:18 UTC (rev 648) @@ -1,11 +1,11 @@ %!PS-Adobe-2.0 EPSF-2.0 -%%Title: /home/bherr/cishell-workspace/org.cishell.docs/src/img/cishellInteraction.dia -%%Creator: Dia v0.95 -%%CreationDate: Tue Jan 8 18:06:57 2008 +%%Title: /home/bherr/workspace/org.cishell.docs/src/img/cishellInteraction.dia +%%Creator: Dia v0.96.1 +%%CreationDate: Fri Mar 7 16:39:20 2008 %%For: bherr %%Orientation: Portrait %%Magnification: 1.0000 -%%BoundingBox: 0 0 1053 520 +%%BoundingBox: 0 0 1055 520 %%BeginSetup %%EndSetup %%EndComments @@ -341,20 +341,26 @@ currentdict end definefont pop 28.346000 -28.346000 scale -3.053557 -24.440110 translate +3.053560 -24.440100 translate %%EndProlog 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 14.958000 16.044000 m 14.958000 18.244000 l 22.508000 18.244000 l 22.508000 16.044000 l f +n 14.958000 16.044000 m 14.958000 18.244000 l 22.605500 18.244000 l 22.605500 16.044000 l f 0.000000 0.000000 0.000000 srgb -n 14.958000 16.044000 m 14.958000 18.244000 l 22.508000 18.244000 l 22.508000 16.044000 l cp s +n 14.958000 16.044000 m 14.958000 18.244000 l 22.605500 18.244000 l 22.605500 16.044000 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 18.733000 ex sub 16.694000 m gs 1 -1 sc sh gr +(<<interface>>) 16.506750 16.546500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(AlgorithmFactory) dup sw 2 div 18.733000 ex sub 17.694000 m gs 1 -1 sc sh gr +(AlgorithmFactory) 15.208000 17.514000 m +dup sw 7.147500 exch sub +16 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb @@ -362,220 +368,370 @@ 0.000000 0.000000 0.000000 srgb n 27.468000 16.045000 m 27.468000 18.245000 l 32.518000 18.245000 l 32.518000 16.045000 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 29.993000 ex sub 16.695000 m gs 1 -1 sc sh gr +(<<interface>>) 27.718000 16.547500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(Algorithm) dup sw 2 div 29.993000 ex sub 17.695000 m gs 1 -1 sc sh gr +(Algorithm) 27.953000 17.515000 m +dup sw 4.080000 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 27.417846 17.145000 m 23.876543 17.145000 l 23.876543 17.144000 l 22.556752 17.144000 l s +n 27.417828 17.145000 m 23.876500 17.145000 l 23.876500 17.144000 l 22.655676 17.144000 l s /Courier-latin1 ff 0.560000 scf sf -(Creates) 23.976543 16.994500 m gs 1 -1 sc sh gr -(n) dup sw 27.217846 ex sub 16.995000 m gs 1 -1 sc sh gr -(1) 22.756752 16.994000 m gs 1 -1 sc sh gr +(Creates) 23.976500 16.864500 m +dup sw 2.450000 exch sub +7 div exch 0.0 exch + gs 1 -1 sc ashow gr +(n) 26.867828 16.865000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 22.855676 16.864000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 14.706000 22.187000 m 14.706000 24.387000 l 22.756000 24.387000 l 22.756000 22.187000 l f +n 14.706000 22.187000 m 14.706000 24.387000 l 22.886000 24.387000 l 22.886000 22.187000 l f 0.000000 0.000000 0.000000 srgb -n 14.706000 22.187000 m 14.706000 24.387000 l 22.756000 24.387000 l 22.756000 22.187000 l cp s +n 14.706000 22.187000 m 14.706000 24.387000 l 22.886000 24.387000 l 22.886000 22.187000 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 18.731000 ex sub 22.837000 m gs 1 -1 sc sh gr +(<<interface>>) 16.521000 22.689500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(AlgorithmProperty) dup sw 2 div 18.731000 ex sub 23.837000 m gs 1 -1 sc sh gr +(AlgorithmProperty) 14.956000 23.657000 m +dup sw 7.680000 exch sub +17 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 15.658686 9.829000 m 15.658686 12.029000 l 21.808686 12.029000 l 21.808686 9.829000 l f +n 12.958700 10.229000 m 12.958700 12.429000 l 19.143700 12.429000 l 19.143700 10.229000 l f 0.000000 0.000000 0.000000 srgb -n 15.658686 9.829000 m 15.658686 12.029000 l 21.808686 12.029000 l 21.808686 9.829000 l cp s +n 12.958700 10.229000 m 12.958700 12.429000 l 19.143700 12.429000 l 19.143700 10.229000 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 18.733686 ex sub 10.479000 m gs 1 -1 sc sh gr +(<<interface>>) 13.776200 10.731500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(DataValidator) dup sw 2 div 18.733686 ex sub 11.479000 m gs 1 -1 sc sh gr +(DataValidator) 13.208700 11.699000 m +dup sw 5.685000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 25.944343 10.154657 m 25.944343 12.354657 l 34.044343 12.354657 l 34.044343 10.154657 l f +n 25.944300 10.154700 m 25.944300 12.354700 l 34.036800 12.354700 l 34.036800 10.154700 l f 0.000000 0.000000 0.000000 srgb -n 25.944343 10.154657 m 25.944343 12.354657 l 34.044343 12.354657 l 34.044343 10.154657 l cp s +n 25.944300 10.154700 m 25.944300 12.354700 l 34.036800 12.354700 l 34.036800 10.154700 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 29.994343 ex sub 10.804657 m gs 1 -1 sc sh gr +(<<interface>>) 27.715550 10.657200 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(ProgressTrackable) dup sw 2 div 29.994343 ex sub 11.804657 m gs 1 -1 sc sh gr +(ProgressTrackable) 26.194300 11.624700 m +dup sw 7.592500 exch sub +17 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 26.740000 6.159000 m 26.740000 8.359000 l 33.990000 8.359000 l 33.990000 6.159000 l f +n 26.740000 6.159000 m 26.740000 8.359000 l 34.097500 8.359000 l 34.097500 6.159000 l f 0.000000 0.000000 0.000000 srgb -n 26.740000 6.159000 m 26.740000 8.359000 l 33.990000 8.359000 l 33.990000 6.159000 l cp s +n 26.740000 6.159000 m 26.740000 8.359000 l 34.097500 8.359000 l 34.097500 6.159000 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 30.365000 ex sub 6.809000 m gs 1 -1 sc sh gr +(<<interface>>) 28.143750 6.661500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(ProgressMonitor) dup sw 2 div 30.365000 ex sub 7.809000 m gs 1 -1 sc sh gr +(ProgressMonitor) 26.990000 7.629000 m +dup sw 6.857500 exch sub +15 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 5.011421 17.736731 m 5.011421 19.936731 l 10.061421 19.936731 l 10.061421 17.736731 l f +n 5.011420 17.736700 m 5.011420 19.936700 l 10.061420 19.936700 l 10.061420 17.736700 l f 0.000000 0.000000 0.000000 srgb -n 5.011421 17.736731 m 5.011421 19.936731 l 10.061421 19.936731 l 10.061421 17.736731 l cp s +n 5.011420 17.736700 m 5.011420 19.936700 l 10.061420 19.936700 l 10.061420 17.736700 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 7.536421 ex sub 18.386731 m gs 1 -1 sc sh gr +(<<interface>>) 5.261420 18.239200 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(Data) dup sw 2 div 7.536421 ex sub 19.386731 m gs 1 -1 sc sh gr +(Data) 6.566420 19.206700 m +dup sw 1.940000 exch sub +4 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n -2.927751 17.728768 m -2.927751 19.928768 l 1.672249 19.928768 l 1.672249 17.728768 l f +n -2.927750 17.728800 m -2.927750 19.928800 l 1.679750 19.928800 l 1.679750 17.728800 l f 0.000000 0.000000 0.000000 srgb -n -2.927751 17.728768 m -2.927751 19.928768 l 1.672249 19.928768 l 1.672249 17.728768 l cp s +n -2.927750 17.728800 m -2.927750 19.928800 l 1.679750 19.928800 l 1.679750 17.728800 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<class>>) dup sw 2 div -0.627751 ex sub 18.378768 m gs 1 -1 sc sh gr +(<<class>>) -2.199000 18.231300 m +dup sw 3.150000 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(BasicData) dup sw 2 div -0.627751 ex sub 19.378768 m gs 1 -1 sc sh gr +(BasicData) -2.677750 19.198800 m +dup sw 4.107500 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd [] 0 sd 0 slc -n 18.733127 15.995378 m 18.733506 12.564425 l s +n 16.035133 15.993750 m 16.049006 12.915798 l s [] 0 sd 0 slj 0 slc -n 18.733547 12.189425 m 18.983492 12.689453 l 18.733506 12.564425 l 18.483492 12.689398 l ef -n 18.733547 12.189425 m 18.983492 12.689453 l 18.733506 12.564425 l 18.483492 12.689398 l cp s +n 16.050696 12.540802 m 16.298440 13.041924 l 16.049006 12.915798 l 15.798445 13.039670 l ef +n 16.050696 12.540802 m 16.298440 13.041924 l 16.049006 12.915798 l 15.798445 13.039670 l cp s /Courier-latin1 ff 0.560000 scf sf -( Optional) 18.733343 14.036500 m gs 1 -1 sc sh gr +( Optional) 16.043166 14.071375 m +dup sw 3.150000 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd [] 0 sd 0 slc -n 29.993257 16.017552 m 29.993975 12.868909 l s +n 29.993300 16.017600 m 29.993993 12.868903 l s [] 0 sd 0 slj 0 slc -n 29.994061 12.493909 m 30.243947 12.993966 l 29.993975 12.868909 l 29.743947 12.993852 l ef -n 29.994061 12.493909 m 30.243947 12.993966 l 29.993975 12.868909 l 29.743947 12.993852 l cp s +n 29.994075 12.493903 m 30.243965 12.993958 l 29.993993 12.868903 l 29.743965 12.993848 l ef +n 29.994075 12.493903 m 30.243965 12.993958 l 29.993993 12.868903 l 29.743965 12.993848 l cp s /Courier-latin1 ff 0.560000 scf sf -( Optional) 29.993672 14.199828 m gs 1 -1 sc sh gr +( Optional) 29.993700 14.059800 m +dup sw 3.150000 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 18.731000 22.187000 m 18.736886 22.187000 l 18.736886 18.244000 l 18.733000 18.244000 l s +n 18.731000 22.187000 m 18.736900 22.187000 l 18.736900 18.244000 l 18.781750 18.244000 l s /Courier-latin1 ff 0.560000 scf sf -(Service Constants) 18.836886 20.065500 m gs 1 -1 sc sh gr +(Service Constants) 18.836900 19.935500 m +dup sw 5.950000 exch sub +17 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 26.700999 7.259000 m 24.447119 7.259000 l 24.447119 11.254657 l 25.944343 11.254657 l s -/Courier-latin1 ff 0.560000 scf sf -(Communications) 24.547119 9.106828 m gs 1 -1 sc sh gr -(1) dup sw 26.500999 ex sub 7.109000 m gs 1 -1 sc sh gr -(1) dup sw 25.744343 ex sub 11.104657 m gs 1 -1 sc sh gr +n 26.701000 7.259000 m 24.447100 7.259000 l 24.447100 11.254700 l 25.944300 11.254700 l s +(Communications) 24.547100 8.976850 m +dup sw 4.900000 exch sub +14 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 26.151000 6.979000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 25.394300 10.974700 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 4.410510 11.796019 m 4.410510 13.996019 l 11.010510 13.996019 l 11.010510 11.796019 l f +n 4.410510 11.796000 m 4.410510 13.996000 l 10.980510 13.996000 l 10.980510 11.796000 l f 0.000000 0.000000 0.000000 srgb -n 4.410510 11.796019 m 4.410510 13.996019 l 11.010510 13.996019 l 11.010510 11.796019 l cp s +n 4.410510 11.796000 m 4.410510 13.996000 l 10.980510 13.996000 l 10.980510 11.796000 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 7.710510 ex sub 12.446019 m gs 1 -1 sc sh gr +(<<interface>>) 5.420510 12.298500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(CIShellContext) dup sw 2 div 7.710510 ex sub 13.446019 m gs 1 -1 sc sh gr +(CIShellContext) 4.660510 13.266000 m +dup sw 6.070000 exch sub +14 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 3.336167 6.180019 m 3.336167 8.380019 l 12.086167 8.380019 l 12.086167 6.180019 l f +n 3.336170 6.180020 m 3.336170 8.380020 l 12.048670 8.380020 l 12.048670 6.180020 l f 0.000000 0.000000 0.000000 srgb -n 3.336167 6.180019 m 3.336167 8.380019 l 12.086167 8.380019 l 12.086167 6.180019 l cp s +n 3.336170 6.180020 m 3.336170 8.380020 l 12.048670 8.380020 l 12.048670 6.180020 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<class>>) dup sw 2 div 7.711167 ex sub 6.830019 m gs 1 -1 sc sh gr +(<<class>>) 6.117420 6.682520 m +dup sw 3.150000 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(LocalCIShellContext) dup sw 2 div 7.711167 ex sub 7.830019 m gs 1 -1 sc sh gr +(LocalCIShellContext) 3.586170 7.650020 m +dup sw 8.212500 exch sub +19 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc -n 7.710510 11.258868 m 7.710510 8.828843 l 7.711167 8.828843 l 7.711167 8.429915 l s +n 7.710510 11.258897 m 7.710510 8.828840 l 7.711170 8.828840 l 7.711170 8.429910 l s [] 0 sd 0 slj 0 slc -n 7.710510 11.633868 m 7.460510 11.133868 l 7.710510 11.258868 l 7.960510 11.133868 l ef -n 7.710510 11.633868 m 7.460510 11.133868 l 7.710510 11.258868 l 7.960510 11.133868 l cp s +n 7.710510 11.633897 m 7.460510 11.133897 l 7.710510 11.258897 l 7.960510 11.133897 l ef +n 7.710510 11.633897 m 7.460510 11.133897 l 7.710510 11.258897 l 7.960510 11.133897 l cp s 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc -n 22.626177 17.313299 m 21.531491 18.353113 l 22.625491 18.353113 l ef -n 22.626177 17.313299 m 21.531491 18.353113 l 22.625491 18.353113 l cp s +n 22.626200 17.313300 m 21.531500 18.353100 l 22.625500 18.353100 l ef +n 22.626200 17.313300 m 21.531500 18.353100 l 22.625500 18.353100 l cp s 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n 4.650942 22.190110 m 4.650942 24.390110 l 10.700942 24.390110 l 10.700942 22.190110 l f +n 4.650940 22.190100 m 4.650940 24.390100 l 10.690940 24.390100 l 10.690940 22.190100 l f 0.000000 0.000000 0.000000 srgb -n 4.650942 22.190110 m 4.650942 24.390110 l 10.700942 24.390110 l 10.700942 22.190110 l cp s +n 4.650940 22.190100 m 4.650940 24.390100 l 10.690940 24.390100 l 10.690940 22.190100 l cp s /Courier-latin1 ff 0.560000 scf sf -(<<interface>>) dup sw 2 div 7.675942 ex sub 22.840110 m gs 1 -1 sc sh gr +(<<interface>>) 5.395940 22.692600 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr /Helvetica-Bold-latin1 ff 0.700000 scf sf -(DataProperty) dup sw 2 div 7.675942 ex sub 23.840110 m gs 1 -1 sc sh gr +(DataProperty) 4.900940 23.660100 m +dup sw 5.540000 exch sub +12 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc -n 1.672249 18.828768 m 4.717962 18.828768 l 4.717962 18.836731 l 4.524618 18.836731 l s +n 1.672250 18.828800 m 4.717960 18.828800 l 4.717960 18.836700 l 4.524617 18.836700 l s [] 0 sd 0 slj 0 slc -n 4.899618 18.836731 m 4.399618 19.086731 l 4.524618 18.836731 l 4.399618 18.586731 l ef -n 4.899618 18.836731 m 4.399618 19.086731 l 4.524618 18.836731 l 4.399618 18.586731 l cp s +n 4.899617 18.836700 m 4.399617 19.086700 l 4.524617 18.836700 l 4.399617 18.586700 l ef +n 4.899617 18.836700 m 4.399617 19.086700 l 4.524617 18.836700 l 4.399617 18.586700 l cp s 0.100000 slw [] 0 sd 0 slj 0 slc -n 7.675942 22.190110 m 7.339526 22.190110 l 7.339526 19.936731 l 7.536421 19.936731 l s +n 7.675940 22.190100 m 7.339530 22.190100 l 7.339530 19.936700 l 7.536420 19.936700 l s /Courier-latin1 ff 0.560000 scf sf -(Data Constants) 7.439526 20.913420 m gs 1 -1 sc sh gr +(Data Constants) 7.439530 20.783400 m +dup sw 4.900000 exch sub +14 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 11.062569 12.898019 m 12.164040 12.898019 l 12.164040 17.144000 l 14.958000 17.144000 l s -/Courier-latin1 ff 0.560000 scf sf -(given) 12.264040 14.871010 m gs 1 -1 sc sh gr -(n) 11.262569 12.748019 m gs 1 -1 sc sh gr -(1) dup sw 14.758000 ex sub 16.994000 m gs 1 -1 sc sh gr +n 11.062600 12.898000 m 12.164000 12.898000 l 12.164000 17.144000 l 14.958000 17.144000 l s +(given) 12.264000 14.741000 m +dup sw 1.750000 exch sub +5 div exch 0.0 exch + gs 1 -1 sc ashow gr +(n) 11.262600 12.618000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 14.408000 16.864000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 10.061421 18.836731 m 12.164040 18.836731 l 12.164040 17.144000 l 14.958000 17.144000 l s -/Courier-latin1 ff 0.560000 scf sf -(given) 12.264040 17.840365 m gs 1 -1 sc sh gr -(0..n) 10.261421 18.686731 m gs 1 -1 sc sh gr -(1) dup sw 14.758000 ex sub 16.994000 m gs 1 -1 sc sh gr +n 10.061400 18.836700 m 12.164000 18.836700 l 12.164000 17.144000 l 14.958000 17.144000 l s +(given) 12.264000 17.710350 m +dup sw 1.750000 exch sub +5 div exch 0.0 exch + gs 1 -1 sc ashow gr +(0..n) 10.261400 18.556700 m +dup sw 1.400000 exch sub +4 div exch 0.0 exch + gs 1 -1 sc ashow gr +(1) 14.408000 16.864000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 0 slj 0 slc -n 1.095192 10.315063 m 2.207518 10.315063 l 2.207518 12.896019 l 4.361154 12.896019 l s -/Courier-latin1 ff 0.560000 scf sf -(Provides Access) 2.307518 11.455541 m gs 1 -1 sc sh gr -(4) 1.295192 10.165063 m gs 1 -1 sc sh gr -(n) dup sw 4.161154 ex sub 12.746019 m gs 1 -1 sc sh gr +n 1.095190 10.315100 m 2.207520 10.315100 l 2.207520 12.896000 l 4.361150 12.896000 l s +(Provides Access) 2.307520 11.325550 m +dup sw 5.250000 exch sub +15 div exch 0.0 exch + gs 1 -1 sc ashow gr +(4) 1.295190 10.035100 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr +(n) 3.811150 12.616000 m +dup sw 0.350000 exch sub +1 div exch 0.0 exch + gs 1 -1 sc ashow gr 0.100000 slw [] 0 sd 1.000000 1.000000 1.000000 srgb -n -3.003557 9.065063 m 0.446443 9.065063 l 1.046443 9.665063 l 1.046443 11.565063 l -3.003557 11.565063 l ef +n -3.003560 9.065060 m 0.446440 9.065060 l 1.046440 9.665060 l 1.046440 11.565060 l -3.003560 11.565060 l ef 0.000000 0.000000 0.000000 srgb -n -3.003557 9.065063 m 0.446443 9.065063 l 1.046443 9.665063 l 1.046443 11.565063 l -3.003557 11.565063 l cp s +n -3.003560 9.065060 m 0.446440 9.065060 l 1.046440 9.665060 l 1.046440 11.565060 l -3.003560 11.565060 l cp s 0.050000 slw -n 0.446443 9.065063 m 0.446443 9.665063 l 1.046443 9.665063 l s +n 0.446440 9.065060 m 0.446440 9.665060 l 1.046440 9.665060 l s /Courier-latin1 ff 0.560000 scf sf -(Standard ) -2.653557 10.265063 m gs 1 -1 sc sh gr -(Services) -2.653557 11.065063 m gs 1 -1 sc sh gr +(Standard ) -2.653560 10.117560 m +dup sw 3.150000 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr +(Services) -2.653560 10.917560 m +dup sw 2.800000 exch sub +8 div exch 0.0 exch + gs 1 -1 sc ashow gr +0.100000 slw +[] 0 sd +1.000000 1.000000 1.000000 srgb +n 15.656440 6.540000 m 15.656440 8.740000 l 23.778940 8.740000 l 23.778940 6.540000 l f +0.000000 0.000000 0.000000 srgb +n 15.656440 6.540000 m 15.656440 8.740000 l 23.778940 8.740000 l 23.778940 6.540000 l cp s +/Courier-latin1 ff 0.560000 scf sf +(<<interface>>) 17.442690 7.042500 m +dup sw 4.550000 exch sub +13 div exch 0.0 exch + gs 1 -1 sc ashow gr +/Helvetica-Bold-latin1 ff 0.700000 scf sf +(ParameterMutator) 15.906440 8.010000 m +dup sw 7.622500 exch sub +16 div exch 0.0 exch + gs 1 -1 sc ashow gr +0.100000 slw +[] 0 sd +[] 0 sd +0 slc +n 19.722633 15.993750 m 19.718022 9.226803 l s +[] 0 sd +0 slj +0 slc +n 19.717766 8.851803 m 19.968107 9.351633 l 19.718022 9.226803 l 19.468107 9.351974 l ef +n 19.717766 8.851803 m 19.968107 9.351633 l 19.718022 9.226803 l 19.468107 9.351974 l cp s +/Courier-latin1 ff 0.560000 scf sf +( Optional) 19.720161 12.226875 m +dup sw 3.150000 exch sub +9 div exch 0.0 exch + gs 1 -1 sc ashow gr showpage Modified: trunk/core/org.cishell.docs/src/img/cishellInteraction.pdf =================================================================== (Binary files differ) Modified: trunk/core/org.cishell.docs/src/specification/tex/algorithms.tex =================================================================== --- trunk/core/org.cishell.docs/src/specification/tex/algorithms.tex 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/src/specification/tex/algorithms.tex 2008-03-07 21:56:18 UTC (rev 648) @@ -21,15 +21,16 @@ An algorithm defines its inputs in two ways. First, the input data is defined in the algorithm's service metadata. Second, the acceptable user-entered parameters -are defined in a \class{MetaTypeProvider}, see section \ref{GUISpec}. +are defined in a \class{MetaTypeProvider} and published to the +\class{MetaTypeService}, see section \ref{GUISpec}. Figure \ref{fig:algExecWorkflow} shows the typical flow of information into and out of an algorithm. First the input parameter specification is pulled from the -\class{AlgorithmFactory}. If parameters are needed, then a UI is created and user -inputs are entered. To create an \class{Algorithm}, the \class{AlgorithmFactory} -is passed the user-entered parameters, zero or more pieces of data, and a -\class{CIShellContext}. The \class{Algorithm} is then executed and produces zero -or more pieces of data. +\class{MetaTypeService}. If parameters are needed, then a UI is created and +user inputs are entered. To create an \class{Algorithm}, the +\class{AlgorithmFactory} is passed the user-entered parameters, zero or more +pieces of data, and a \class{CIShellContext}. The \class{Algorithm} is then +executed and produces zero or more pieces of data. \begin{figure}[htb!] \centering @@ -41,13 +42,29 @@ \subsection{Optional Interfaces} Algorithm developers may augment algorithms with additional interfaces to enhance -parts of the execution workflow. An \class{AlgorithmFactory} can also implement -the \class{DataValidator} interface to validate the data beyond the data format -validation that an application should provide ahead of time. An \class{Algorithm} -can implement \class{ProgressTrackable} to allow for more detailed monitoring and -control of an \class{Algorithm}'s progress while executing. See each interface's -documentation for more details. +parts of the execution workflow. See each interface's documentation for more +details. +\begin{description} + \item[ParameterMutator] An \class{AlgorithmFactory} can implement the + \class{ParameterMutator} interface to add, remove, or modify an algorithm's + parameters (\class{AttributeDefinition}s in an \class{ObjectClassDefinition} + in a \class{MetaTypeProvider}) between the time when its + \class{MetaTypeProvider} is pulled from the \class{MetaTypeService} and when + the corresponding UI is shown to the user. This is typically done to + customize the input parameters based on the data to be given to the + algorithm. See section \ref{GUISpec} for information on constructing and + publishing \class{MetaTypeProviders}. + + \item[DataValidator] An \class{AlgorithmFactory} can implement the + \class{DataValidator} interface to validate the data beyond the data format + validation that an application should provide ahead of time. + + \item[ProgressTrackable] An \class{Algorithm} can implement + \class{ProgressTrackable} to allow for more detailed monitoring and control + of an \class{Algorithm}'s progress while executing. +\end{description} + \subsection{Algorithm Service Metadata Definition} \label{algMetaData} @@ -79,11 +96,21 @@ \end{quote} -\subsection*{parameters_pid} -\comments{Still need to define\ldots may play a bigger role than previously -though\ldots} +\subsection*{parameters\_pid} +When this key is not set, an algorithm's user-entered input parameters are +assumed to be registered in the \class{MetaTypeService} with a persistent id +equal to the algorithm service's ``service.pid''. An algorithm can override this +by setting this key to their custom persistent id. See section \ref{GUISpec} +for information on creating and publishing input parameters. +\begin{quote} +\begin{description} + \item[Example 1:] parameters\_pid = org.my.custom.pid.that.i.want.to.use +\end{description} +\end{quote} + + \subsection*{in\_data} Specifies the formats and number of \class{Data} inputs the algorithm accepts. The string is a comma separated list of data formats as @@ -93,6 +120,11 @@ inputs are necessary then the string ``null'' or not specifying the in\_data attribute at all is valid. +By using the ``+'', ``*'', or ``?'' prefixes, ambiguities could arise from +specifying multiple input formats that could easily fit into two or more +of the formats. An algorithm developer should take care when reading +in \class{Data} arrays from possibly ambiguous in\_data strings. + \begin{quote} \begin{description} \item[Example 1:] in\_data = null Modified: trunk/core/org.cishell.docs/src/specification/tex/algorithmtypes.tex =================================================================== --- trunk/core/org.cishell.docs/src/specification/tex/algorithmtypes.tex 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/src/specification/tex/algorithmtypes.tex 2008-03-07 21:56:18 UTC (rev 648) @@ -62,8 +62,7 @@ \subsubsection*{Optional:} \begin{itemize} \item If additional user-entered parameters are needed, the algorithm should - provide a \class{MetaTypeProvider} through its AlgorithmFactory's - createParameters method. + provide a \class{MetaTypeProvider} published by the \class{MetaTypeService}. \item The algorithm's service metadata should have ``remoteable=true'' if it meets the requirements of a remoteable algorithm. \item The algorithm's service metadata should have ``parentage=default'' if @@ -133,10 +132,8 @@ \item The algorithm's service metadata must have ``type=converter''. \item The algorithm's service metadata must have ``conversion=lossy'' if data is lost during conversion or ``conversion=lossless'' if not. - \item The algorithm must not require any parameters. The - \class{AlgorithmFactory}'s createParameters method will never be called and - the \class{Dictionary} passed to the createAlgorithm method will always be - empty. + \item The algorithm must not require any parameters. The \class{Dictionary} + passed to the createAlgorithm method will always be empty. \end{itemize} \subsubsection*{Optional:} @@ -181,10 +178,8 @@ \item The algorithm's service metadata must have ``type=validator''. \item The algorithm's service metadata must have a ``label'' which is the common name of the data format being validated. - \item The algorithm must not require any parameters. The - \class{AlgorithmFactory}'s createParameters method will never be called and - the \class{Dictionary} passed to the createAlgorithm method will always be - empty. + \item The algorithm must not require any parameters. The \class{Dictionary} + passed to the createAlgorithm method will always be empty. \end{itemize} \subsubsection*{Optional:} Modified: trunk/core/org.cishell.docs/src/specification/tex/framework.tex =================================================================== --- trunk/core/org.cishell.docs/src/specification/tex/framework.tex 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/src/specification/tex/framework.tex 2008-03-07 21:56:18 UTC (rev 648) @@ -32,6 +32,10 @@ algorithm. \item \textit{AlgorithmProperty} - The interface which provides string constants for an algorithm's service metadata. + \item \textit{ParameterMutator} - The interface an \class{AlgorithmFactory} + extends to provide the ability to add, remove, or modify user-entered + parameters specifications (see section \ref{GUISpec}) before being shown to an + end-user. \item \textit{DataValidator} - The interface an \class{AlgorithmFactory} extends to provide additional data validation in addition to the data format validation that an application should provide ahead of time. Modified: trunk/core/org.cishell.docs/src/specification/tex/introduction.tex =================================================================== --- trunk/core/org.cishell.docs/src/specification/tex/introduction.tex 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/src/specification/tex/introduction.tex 2008-03-07 21:56:18 UTC (rev 648) @@ -7,7 +7,7 @@ while retaining their intellectual rights after distribution; (2) data holders to easily disseminate their data for use by others; (3) application developers to design applications from custom sets of algorithms and datasets that interoperate -seamlessly; and finally (4) end-users to use existing datasets and algorithms +seamlessly; and ultimately (4) end-users to use existing datasets and algorithms effectively. \section{CIShell Platform Overview} @@ -48,12 +48,12 @@ In this specification, algorithms are referred to in three different contexts. An abstract algorithm, is the pure idea of the algorithm with no actual source code. It is a series of steps sometimes put into psuedo-code and often published in -academic journals. An \class{Algorithm} with a capital A refers the Java class +academic journals. An \class{Algorithm} with a capital A refers to the Java class called Algorithm. And finally, an algorithm with a lowercase A refers to the -bundle of code that encompasses an algorithm written in code to work with the -CIShell Platform. This includes the implementation of \class{AlgorithmFactory} -and \class{Algorithm}, and the metadata, files, and other code that go into an -OSGi bundle. +bundle of code and metadata that encompasses an algorithm written to work with +the CIShell Platform. This includes the implementation of +\class{AlgorithmFactory} and \class{Algorithm}, and the metadata, files, and +other code that go into an OSGi bundle. All other conventions and terms are exactly the same as from OSGi's Core Specification, section 1.4. @@ -74,8 +74,6 @@ Version 1.0 \\ GUI Builder Service Specification & org.cishell.service.guibuilder & Version 1.0 \\ -Log Service Specification & org.osgi.service.log & Version 1.3 \\ -Preferences Service Specification & org.osgi.service.prefs & Version 1.1 \\ Data Manager Application Service Specification & org.cishell.app.datamanager & Version 1.0 \\ Scheduler Application Service Specification & org.cishell.app.scheduler & Modified: trunk/core/org.cishell.docs/src/specification/tex/osgidependencies.tex =================================================================== --- trunk/core/org.cishell.docs/src/specification/tex/osgidependencies.tex 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/src/specification/tex/osgidependencies.tex 2008-03-07 21:56:18 UTC (rev 648) @@ -13,7 +13,7 @@ Specification,'' this service defines the \class{MetaTypeProvider} class used for specifying user interfaces in CIShell. In addition, it provides an XML format for automatically generating \class{MetaTypeProvider}s and a service, - \class{MetaTypeService}, for harvesting them for use by bundles. + \class{MetaTypeService}, for harvesting them for use. \item[Log Service] as described in OSGi section 101 ``Log Service Specification,'' this service is used as a universal logging system for algorithms and services. See chapter \ref{logService} for more details. Modified: trunk/core/org.cishell.docs/src/specification/tex/useradjustableprefs.tex =================================================================== --- trunk/core/org.cishell.docs/src/specification/tex/useradjustableprefs.tex 2008-03-06 18:05:47 UTC (rev 647) +++ trunk/core/org.cishell.docs/src/specification/tex/useradjustableprefs.tex 2008-03-07 21:56:18 UTC (rev 648) @@ -6,8 +6,8 @@ The user-adjustable preferences specification defines how any service can publish user-adjustable preferences both globally and locally. In addition to global and local preferences, algorithms can allow the system to allow end-users to adjust -the default values for the algorithm parameters returned from -\class{AlgorithmFactory.createParameters}. For storing data that is not directly +the default values for algorithms' user-entered parameters specification +published to the \class{MetaTypeService}. For storing data that is not directly end-user adjustable, see chapter \ref{preferencesService}. \subsection{Publishing User Adjustable Preferences} @@ -19,13 +19,13 @@ METADATA.XML file or by the service implementing \class{MetaTypeProvider} and \class{ManagedService}. See section \ref{GUISpec} for more information. -\subsubsection*{Designate a Persistent ID (PID) for the OCD} Then they must -designate the ObjectClassDefinition a persistent id (PID). The PID can be -designated in two ways. The simplest way is by following the convention of -creating a string with the associated service's ``service.pid'' and appending -either ``.prefs.local'' or ``.prefs.global''. The other way is to designate -whatever PID the developer wishes and to provide a service property -``local\_pref\_pid'' or ``global\_pref\_pid'' which is set to whatever PID they wish. +\subsubsection*{Designate an OCD a Persistent ID (PID)} Then they must designate +the ObjectClassDefinition a persistent id (PID). The PID can be designated in two +ways. The simplest way is by following the convention of creating a string with +the associated service's ``service.pid'' and appending either ``.prefs.local'' or +``.prefs.global''. The other way is to designate whatever PID the developer +wishes and to provide a service prope... [truncated message content] |