You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by tw...@apache.org on 2008/06/13 09:34:04 UTC
svn commit: r667395 [1/2] - in /incubator/uima/uimaj/trunk/uima-docbooks/src:
docbook/tutorials_and_users_guides/tug.application.xml
olink/tutorials_and_users_guides/htmlsingle-target.db
olink/tutorials_and_users_guides/pdf-target.db
Author: twgoetz
Date: Fri Jun 13 00:34:04 2008
New Revision: 667395
URL: http://svn.apache.org/viewvc?rev=667395&view=rev
Log:
Jira UIMA-1068: add documentation on performance tuning settings.
https://issues.apache.org/jira/browse/UIMA-1068
Modified:
incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/tug.application.xml
incubator/uima/uimaj/trunk/uima-docbooks/src/olink/tutorials_and_users_guides/htmlsingle-target.db
incubator/uima/uimaj/trunk/uima-docbooks/src/olink/tutorials_and_users_guides/pdf-target.db
Modified: incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/tug.application.xml
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/tug.application.xml?rev=667395&r1=667394&r2=667395&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/tug.application.xml (original)
+++ incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/tutorials_and_users_guides/tug.application.xml Fri Jun 13 00:34:04 2008
@@ -1793,8 +1793,93 @@
should register the MBeans. If no specified then the default is to register with
the platform MBeanServer (Java 5+ only).</para>
- <para>For information on JMX can be found in the <ulink
+ <para>More information on JMX can be found in the <ulink
url="http://java.sun.com/j2se/1.5.0/docs/api/javax/management/package-summary.html#package_description">
Java 5 documentation</ulink>.</para>
- </section>
+ </section>
+
+ <section id="tug.application.pto">
+ <title>Performance Tuning Options</title>
+
+ <para>
+ There is a small number of performance tuning options available to
+ influence the runtime behavior of UIMA applications. Performance
+ tuning options need to be set programmatically when an analysis
+ engine is created. You simply create a Java Properties object with
+ the relevant options and pass it to the UIMA framework on the call
+ to create an analysis engine. Below is an example.
+
+ <programlisting>
+ XMLParser parser = UIMAFramework.getXMLParser();
+ ResourceSpecifier spec = parser.parseResourceSpecifier(
+ new XMLInputSource(descriptorFile));
+ // Create a new properties object to hold the settings.
+ Properties performanceTuningSettings = new Properties();
+ // Set the initial CAS heap size.
+ performanceTuningSettings.setProperty(
+ UIMAFramework.CAS_INITIAL_HEAP_SIZE,
+ "1000000");
+ // Disable JCas cache.
+ performanceTuningSettings.setProperty(
+ UIMAFramework.JCAS_CACHE_ENABLED,
+ "false");
+ // Create a wrapper properties object that can
+ // be passed to the framework.
+ Properties additionalParams = new Properties();
+ // Set the performance tuning properties as value to
+ // the appropriate parameter.
+ additionalParams.put(
+ Resource.PARAM_PERFORMANCE_TUNING_SETTINGS,
+ performanceTuningSettings);
+ // Create the analysis engine with the parameters.
+ // The second, unused argument here is a custom
+ // resource manager.
+ this.ae = UIMAFramework.produceAnalysisEngine(
+ spec, null, additionalParams);
+
+ </programlisting>
+ </para>
+
+ <para>
+ The following options are supported:
+ <itemizedlist>
+ <listitem>
+ <para><literal>UIMAFramework.JCAS_CACHE_ENABLED</literal>: allows you to disable
+ the JCas cache (true/false). The JCas cache is an internal datastructure that caches any JCas
+ object created
+ by the CAS. This may result in better performance for applications that make extensive use of
+ the JCas, but also incurs a steep memory overhead. If you're processing large documents and have
+ memory issues, you should disable this option. In general, just try running a few experiments to
+ see what setting works better for your application. The JCas cache is enabled by default.
+ </para>
+ </listitem>
+ <listitem>
+ <para><literal>UIMAFramework.CAS_INITIAL_HEAP_SIZE</literal>: set the initial CAS heap size in
+ number of cells (integer valued). The CAS uses 32bit integer cells, so four times the initial
+ size is the
+ approximate minimum size of the CAS in bytes. This is another space/time trade-off as growing
+ the CAS heap is relatively expensive. On the other hand, setting the initial size too high is
+ wasting memory. Unless you know you are processing very small or very large documents, you should
+ probably leave this option unchanged.
+ </para>
+ </listitem>
+ <listitem>
+ <para><literal>UIMAFramework.PROCESS_TRACE_ENABLED</literal>: enable the process trace mechanism
+ (true/false). When enabled, UIMA tracks the time spent in individual components of an aggregate
+ AE or CPE. For more information, see the API documentation of
+ <literal>org.apache.uima.util.ProcessTrace</literal>.
+ </para>
+ </listitem>
+ <listitem>
+ <para><literal>UIMAFramework.SOCKET_KEEPALIVE_ENABLED</literal>: enable socket KeepAlive
+ (true/false). This setting is currently only supported by Vinci clients. Defaults to
+ <literal>true</literal>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+
+ </section>
+
</chapter>
\ No newline at end of file
Modified: incubator/uima/uimaj/trunk/uima-docbooks/src/olink/tutorials_and_users_guides/htmlsingle-target.db
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uima-docbooks/src/olink/tutorials_and_users_guides/htmlsingle-target.db?rev=667395&r1=667394&r2=667395&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uima-docbooks/src/olink/tutorials_and_users_guides/htmlsingle-target.db (original)
+++ incubator/uima/uimaj/trunk/uima-docbooks/src/olink/tutorials_and_users_guides/htmlsingle-target.db Fri Jun 13 00:34:04 2008
@@ -4,6 +4,6 @@
Initializers</ttl><xreftext>Section 2.4.2, âDeveloping CAS
Initializersâ</xreftext></div><div element="section" href="#ugr.tug.cpe.cas_consumer.developing" number="2.4.3" targetptr="ugr.tug.cpe.cas_consumer.developing"><ttl>Developing CAS
Consumers</ttl><xreftext>Section 2.4.3, âDeveloping CAS
- Consumersâ</xreftext><div element="section" href="#ugr.tug.cpe.cas_consumer.required_methods" number="2.4.3.1" targetptr="ugr.tug.cpe.cas_consumer.required_methods"><ttl>Required Methods for a CAS Consumer</ttl><xreftext>Section 2.4.3.1, âRequired Methods for a CAS Consumerâ</xreftext><div element="section" href="#ugr.tug.cpe.cas_consumer.required_methods.initialize" number="" targetptr="ugr.tug.cpe.cas_consumer.required_methods.initialize"><ttl>initialize()</ttl><xreftext>the section called âinitialize()â</xreftext></div><div element="section" href="#ugr.tug.cpe.cas_consumer.required_methods.processcas" number="" targetptr="ugr.tug.cpe.cas_consumer.required_methods.processcas"><ttl>processCas()</ttl><xreftext>the section called âprocessCas()â</xreftext></div><div element="section" href="#ugr.tug.cpe.cas_consumer.optional_methods" number="" targetptr="ugr.tug.cpe.cas_consumer.optional_methods"><ttl>Optional Methods</ttl><xreftext>t
he section called âOptional Methodsâ</xreftext><div element="section" href="#ugr.tug.cpe.cas_consumer.optional_methods.batchprocesscomplete" number="" targetptr="ugr.tug.cpe.cas_consumer.optional_methods.batchprocesscomplete"><ttl>batchProcessComplete()</ttl><xreftext>the section called âbatchProcessComplete()â</xreftext></div><div element="section" href="#ugr.tug.cpe.cas_consumer.optional_methods.collectionprocesscomplete" number="" targetptr="ugr.tug.cpe.cas_consumer.optional_methods.collectionprocesscomplete"><ttl>collectionProcessComplete()</ttl><xreftext>the section called âcollectionProcessComplete()â</xreftext></div></div></div></div></div><div element="section" href="#ugr.tug.cpe.deploying_a_cpe" number="2.5" targetptr="ugr.tug.cpe.deploying_a_cpe"><ttl>Deploying a CPE</ttl><xreftext>Section 2.5, âDeploying a CPEâ</xreftext><obj element="figure" href="#ugr.tug.cpe.fig.cpe_instantiation" number="2.2" targetptr="ugr.tug.cpe.fi
g.cpe_instantiation"><ttl>CPE Instantiation</ttl><xreftext>Figure 2.2, âCPE Instantiationâ</xreftext></obj><obj element="para" href="#ugr.tug.cpe.deployment_alternatives" number="" targetptr="ugr.tug.cpe.deployment_alternatives"><ttl>???TITLE???</ttl><xreftext>Section 2.5, âDeploying a CPEâ</xreftext></obj><div element="section" href="#ugr.tug.cpe.managed_deployment" number="2.5.1" targetptr="ugr.tug.cpe.managed_deployment"><ttl>Deploying Managed CAS Processors</ttl><xreftext>Section 2.5.1, âDeploying Managed CAS Processorsâ</xreftext><obj element="figure" href="#ugr.tug.cpe.fig.managed_deployment" number="2.3" targetptr="ugr.tug.cpe.fig.managed_deployment"><ttl>CPE with Managed CAS Processors</ttl><xreftext>Figure 2.3, âCPE with Managed CAS Processorsâ</xreftext></obj></div><div element="section" href="#ugr.tug.cpe.deploying_nonmanaged_cas_processors" number="2.5.2" targetptr="ugr.tug.cpe.deploying_nonmanaged_cas_processor
s"><ttl>Deploying Non-managed CAS Processors</ttl><xreftext>Section 2.5.2, âDeploying Non-managed CAS Processorsâ</xreftext><obj element="figure" href="#ugr.tug.cpe.fig.nonmanaged_cpe" number="2.4" targetptr="ugr.tug.cpe.fig.nonmanaged_cpe"><ttl>CPE with non-managed CAS Processors</ttl><xreftext>Figure 2.4, âCPE with non-managed CAS Processorsâ</xreftext></obj></div><div element="section" href="#ugr.tug.cpe.integrated_deployment" number="2.5.3" targetptr="ugr.tug.cpe.integrated_deployment"><ttl>Deploying Integrated CAS Processors</ttl><xreftext>Section 2.5.3, âDeploying Integrated CAS Processorsâ</xreftext><obj element="figure" href="#ugr.tug.cpe.fig.integrated_deployment" number="2.5" targetptr="ugr.tug.cpe.fig.integrated_deployment"><ttl>CPE with integrated CAS Processor</ttl><xreftext>Figure 2.5, âCPE with integrated CAS Processorâ</xreftext></obj></div></div><div element="section" href="#ugr.tug.cpe.collection_processin
g_examples" number="2.6" targetptr="ugr.tug.cpe.collection_processing_examples"><ttl>Collection Processing Examples</ttl><xreftext>Section 2.6, âCollection Processing Examplesâ</xreftext></div></div><div element="chapter" href="#ugr.tug.application" number="3" targetptr="ugr.tug.application"><ttl>Application Developer's Guide</ttl><xreftext>Chapter 3, <i xmlns:xlink="http://www.w3.org/1999/xlink">Application Developer's Guide</i></xreftext><div element="section" href="#ugr.tug.appication.uimaframework_class" number="3.1" targetptr="ugr.tug.appication.uimaframework_class"><ttl>The UIMAFramework Class</ttl><xreftext>Section 3.1, âThe UIMAFramework Classâ</xreftext></div><div element="section" href="#ugr.tug.application.using_aes" number="3.2" targetptr="ugr.tug.application.using_aes"><ttl>Using Analysis Engines</ttl><xreftext>Section 3.2, âUsing Analysis Enginesâ</xreftext><div element="section" href="#ugr.tug.application.instantiating
_an_ae" number="3.2.1" targetptr="ugr.tug.application.instantiating_an_ae"><ttl>Instantiating an Analysis Engine</ttl><xreftext>Section 3.2.1, âInstantiating an Analysis Engineâ</xreftext></div><div element="section" href="#ugr.tug.application.analyzing_text_documents" number="3.2.2" targetptr="ugr.tug.application.analyzing_text_documents"><ttl>Analyzing Text Documents</ttl><xreftext>Section 3.2.2, âAnalyzing Text Documentsâ</xreftext></div><div element="section" href="#ugr.tug.applications.analyzing_non_text_artifacts" number="3.2.3" targetptr="ugr.tug.applications.analyzing_non_text_artifacts"><ttl>Analyzing Non-Text Artifacts</ttl><xreftext>Section 3.2.3, âAnalyzing Non-Text Artifactsâ</xreftext></div><div element="section" href="#ugr.tug.applications.accessing_analysis_results" number="3.2.4" targetptr="ugr.tug.applications.accessing_analysis_results"><ttl>Accessing Analysis Results</ttl><xreftext>Section 3.2.4, âAccessing A
nalysis Resultsâ</xreftext><div element="section" href="#ugr.tug.applications.accessing_results_using_jcas" number="3.2.4.1" targetptr="ugr.tug.applications.accessing_results_using_jcas"><ttl>Accessing Analysis Results using the JCas</ttl><xreftext>Section 3.2.4.1, âAccessing Analysis Results using the JCasâ</xreftext></div><div element="section" href="#ugr.tug.application.accessing_results_using_cas" number="3.2.4.2" targetptr="ugr.tug.application.accessing_results_using_cas"><ttl>Accessing Analysis Results using the CAS</ttl><xreftext>Section 3.2.4.2, âAccessing Analysis Results using the CASâ</xreftext></div></div><div element="section" href="#ugr.tug.applications.multi_threaded" number="3.2.5" targetptr="ugr.tug.applications.multi_threaded"><ttl>Multi-threaded Applications</ttl><xreftext>Section 3.2.5, âMulti-threaded Applicationsâ</xreftext></div><div element="section" href="#ugr.tug.application.using_multiple_aes" number="3.2
.6" targetptr="ugr.tug.application.using_multiple_aes"><ttl>Using Multiple Analysis Engines and Creating Shared CASes</ttl><xreftext>Section 3.2.6, âMultiple AEs & Creating Shared CASesâ</xreftext></div><div element="section" href="#ugr.tug.application.saving_cases_to_file_systems" number="3.2.7" targetptr="ugr.tug.application.saving_cases_to_file_systems"><ttl>Saving CASes to file systems</ttl><xreftext>Section 3.2.7, âSaving CASes to file systemsâ</xreftext></div></div><div element="section" href="#ugr.tug.application.using_cpes" number="3.3" targetptr="ugr.tug.application.using_cpes"><ttl>Using Collection Processing Engines</ttl><xreftext>Section 3.3, âUsing Collection Processing Enginesâ</xreftext><div element="section" href="#ugr.tug.application.running_a_cpe_from_a_descriptor" number="3.3.1" targetptr="ugr.tug.application.running_a_cpe_from_a_descriptor"><ttl>Running a Collection Processing Engine from a Descriptor</ttl><xreft
ext>Section 3.3.1, âRunning a CPE from a Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.application.configuring_a_cpe_descriptor_programmatically" number="3.3.2" targetptr="ugr.tug.application.configuring_a_cpe_descriptor_programmatically"><ttl>Configuring a Collection Processing Engine Descriptor Programmatically</ttl><xreftext>Section 3.3.2, âConfiguring a CPE Descriptor Programmaticallyâ</xreftext></div></div><div element="section" href="#ugr.tug.application.setting_configuration_parameters" number="3.4" targetptr="ugr.tug.application.setting_configuration_parameters"><ttl>Setting Configuration Parameters</ttl><xreftext>Section 3.4, âSetting Configuration Parametersâ</xreftext></div><div element="section" href="#ugr.tug.application.integrating_text_analysis_and_search" number="3.5" targetptr="ugr.tug.application.integrating_text_analysis_and_search"><ttl>Integrating Text Analysis and Search</ttl><xreftext>SectionÂ
3.5, âIntegrating Text Analysis and Searchâ</xreftext><div element="section" href="#ugr.tug.application.building_an_index" number="3.5.1" targetptr="ugr.tug.application.building_an_index"><ttl>Building an Index</ttl><xreftext>Section 3.5.1, âBuilding an Indexâ</xreftext><div element="section" href="#ugr.tug.application.search.configuring_indexer" number="3.5.1.1" targetptr="ugr.tug.application.search.configuring_indexer"><ttl>Configuring the Semantic Search CAS Indexer</ttl><xreftext>Section 3.5.1.1, âConfiguring the Semantic Search CAS Indexerâ</xreftext></div><div element="section" href="#ugr.tug.application.search.cpe_with_semantic_search_cas_consumer" number="3.5.1.2" targetptr="ugr.tug.application.search.cpe_with_semantic_search_cas_consumer"><ttl>Building and Running a CPE including the Semantic Search CAS Indexer</ttl><xreftext>Section 3.5.1.2, âUsing Semantic Search CAS Indexerâ</xreftext></div></div><div element="se
ction" href="#ugr.tug.application.search.query_tool" number="3.5.2" targetptr="ugr.tug.application.search.query_tool"><ttl>Semantic Search Query Tool</ttl><xreftext>Section 3.5.2, âSemantic Search Query Toolâ</xreftext></div></div><div element="section" href="#ugr.tug.application.remote_services" number="3.6" targetptr="ugr.tug.application.remote_services"><ttl>Working with Remote Services</ttl><xreftext>Section 3.6, âWorking with Remote Servicesâ</xreftext><div element="section" href="#ugr.tug.application.how_to_deploy_as_soap" number="3.6.1" targetptr="ugr.tug.application.how_to_deploy_as_soap"><ttl>Deploying a UIMA Component as a SOAP Service</ttl><xreftext>Section 3.6.1, âDeploying as SOAP Serviceâ</xreftext></div><div element="section" href="#ugr.tug.application.how_to_deploy_a_vinci_service" number="3.6.2" targetptr="ugr.tug.application.how_to_deploy_a_vinci_service"><ttl>Deploying a UIMA Component as a Vinci Service</ttl><xreftex
t>Section 3.6.2, âDeploying as a Vinci Serviceâ</xreftext></div><div element="section" href="#ugr.tug.application.how_to_call_a_uima_service" number="3.6.3" targetptr="ugr.tug.application.how_to_call_a_uima_service"><ttl>How to Call a UIMA Service</ttl><xreftext>Section 3.6.3, âCalling a UIMA Serviceâ</xreftext><div element="section" href="#ugr.tug.application.soap_service_client_descriptor" number="3.6.3.1" targetptr="ugr.tug.application.soap_service_client_descriptor"><ttl>SOAP Service Client Descriptor</ttl><xreftext>Section 3.6.3.1, âSOAP Service Client Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.application.vinci_service_client_descriptor" number="3.6.3.2" targetptr="ugr.tug.application.vinci_service_client_descriptor"><ttl>Vinci Service Client Descriptor</ttl><xreftext>Section 3.6.3.2, âVinci Service Client Descriptorâ</xreftext></div></div><div element="section" href="#ugr.tug.application.restri
ctions_on_remotely_deployed_services" number="3.6.4" targetptr="ugr.tug.application.restrictions_on_remotely_deployed_services"><ttl>Restrictions on remotely deployed services</ttl><xreftext>Section 3.6.4, âRestrictions on remotely deployed servicesâ</xreftext></div><div element="section" href="#ugr.tug.application.vns" number="3.6.5" targetptr="ugr.tug.application.vns"><ttl>The Vinci Naming Services (VNS)</ttl><xreftext>Section 3.6.5, âThe Vinci Naming Services (VNS)â</xreftext><div element="section" href="#ugr.tug.application.vns.starting" number="3.6.5.1" targetptr="ugr.tug.application.vns.starting"><ttl>Starting VNS</ttl><xreftext>Section 3.6.5.1, âStarting VNSâ</xreftext></div><div element="section" href="#ugr.tug.application.vns_files" number="3.6.5.2" targetptr="ugr.tug.application.vns_files"><ttl>VNS Files</ttl><xreftext>Section 3.6.5.2, âVNS Filesâ</xreftext></div><div element="section" href="#ugr.tug.application.l
aunching_vinci_services" number="3.6.5.3" targetptr="ugr.tug.application.launching_vinci_services"><ttl>Launching Vinci Services</ttl><xreftext>Section 3.6.5.3, âLaunching Vinci Servicesâ</xreftext></div></div><div element="section" href="#ugr.tug.configuring_timeout_settings" number="3.6.6" targetptr="ugr.tug.configuring_timeout_settings"><ttl>Configuring Timeout Settings</ttl><xreftext>Section 3.6.6, âConfiguring Timeout Settingsâ</xreftext><div element="section" href="#ugr.tug.setting_client_timeout" number="3.6.6.1" targetptr="ugr.tug.setting_client_timeout"><ttl>Setting the Client Timeout</ttl><xreftext>Section 3.6.6.1, âSetting the Client Timeoutâ</xreftext></div><div element="section" href="#ugr.tug.setting_server_socket_timeout" number="3.6.6.2" targetptr="ugr.tug.setting_server_socket_timeout"><ttl>Setting the Server Socket Timeout</ttl><xreftext>Section 3.6.6.2, âSetting the Server Socket Timeoutâ</xreftext></div>
</div></div><div element="section" href="#ugr.tug.application.increasing_performance_using_parallelism" number="3.7" targetptr="ugr.tug.application.increasing_performance_using_parallelism"><ttl>Increasing performance using parallelism</ttl><xreftext>Section 3.7, âIncreasing performance using parallelismâ</xreftext></div><div element="section" href="#ugr.tug.application.jmx" number="3.8" targetptr="ugr.tug.application.jmx"><ttl>Monitoring AE Performance using JMX</ttl><xreftext>Section 3.8, âMonitoring AE Performance using JMXâ</xreftext></div></div><div element="chapter" href="#ugr.tug.fc" number="4" targetptr="ugr.tug.fc"><ttl>Flow Controller Developer's Guide</ttl><xreftext>Chapter 4, <i xmlns:xlink="http://www.w3.org/1999/xlink">Flow Controller Developer's Guide</i></xreftext><div element="section" href="#ugr.tug.fc.developing_fc_code" number="4.1" targetptr="ugr.tug.fc.developing_fc_code"><ttl>Developing the Flow Controller Code</ttl><xrefte
xt>Section 4.1, âDeveloping the Flow Controller Codeâ</xreftext><div element="section" href="#ugr.tug.fc.fc_interface_overview" number="4.1.1" targetptr="ugr.tug.fc.fc_interface_overview"><ttl>Flow Controller Interface Overview</ttl><xreftext>Section 4.1.1, âFlow Controller Interface Overviewâ</xreftext></div><div element="section" href="#ugr.tug.fc.example_code" number="4.1.2" targetptr="ugr.tug.fc.example_code"><ttl>Example Code</ttl><xreftext>Section 4.1.2, âExample Codeâ</xreftext><div element="section" href="#ugr.tug.fc.whiteboard" number="4.1.2.1" targetptr="ugr.tug.fc.whiteboard"><ttl>The WhiteboardFlowController Class</ttl><xreftext>Section 4.1.2.1, âThe WhiteboardFlowController Classâ</xreftext></div><div element="section" href="#ugr.tug.fc.whiteboardflow" number="4.1.2.2" targetptr="ugr.tug.fc.whiteboardflow"><ttl>The WhiteboardFlow Class</ttl><xreftext>Section 4.1.2.2, âThe WhiteboardFlow Classâ</xre
ftext></div></div></div><div element="section" href="#ugr.tug.fc.creating_fc_descriptor" number="4.2" targetptr="ugr.tug.fc.creating_fc_descriptor"><ttl>Creating the Flow Controller Descriptor</ttl><xreftext>Section 4.2, âCreating the Flow Controller Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.fc.adding_fc_to_aggregate" number="4.3" targetptr="ugr.tug.fc.adding_fc_to_aggregate"><ttl>Adding a Flow Controller to an Aggregate Analysis Engine</ttl><xreftext>Section 4.3, âAdding Flow Controller to an Aggregateâ</xreftext></div><div element="section" href="#ugr.tug.fc.adding_fc_to_cpe" number="4.4" targetptr="ugr.tug.fc.adding_fc_to_cpe"><ttl>Adding a Flow Controller to a Collection Processing Engine</ttl><xreftext>Section 4.4, âAdding Flow Controller to CPEâ</xreftext></div><div element="section" href="#ugr.tug.fc.using_fc_with_cas_multipliers" number="4.5" targetptr="ugr.tug.fc.using_fc_with_cas_multipliers"><ttl>Using
Flow Controllers with CAS Multipliers</ttl><xreftext>Section 4.5, âUsing Flow Controllers with CAS Multipliersâ</xreftext></div><div element="section" href="#ugr.tug.fc.continuing_when_exceptions_occur" number="4.6" targetptr="ugr.tug.fc.continuing_when_exceptions_occur"><ttl>Continuing the Flow When Exceptions Occur</ttl><xreftext>Section 4.6, âContinuing the Flow When Exceptions Occurâ</xreftext></div></div><div element="chapter" href="#ugr.tug.aas" number="5" targetptr="ugr.tug.aas"><ttl>Annotations, Artifacts, and Sofas</ttl><xreftext>Chapter 5, <i xmlns:xlink="http://www.w3.org/1999/xlink">Annotations, Artifacts, and Sofas</i></xreftext><div element="section" href="#ugr.tug.aas.terminology" number="5.1" targetptr="ugr.tug.aas.terminology"><ttl>Terminology</ttl><xreftext>Section 5.1, âTerminologyâ</xreftext><div element="section" href="#ugr.tug.aas.artifact" number="5.1.1" targetptr="ugr.tug.aas.artifact"><ttl>Artifact</ttl><xre
ftext>Section 5.1.1, âArtifactâ</xreftext></div><div element="section" href="#ugr.tug.aas.sofa" number="5.1.2" targetptr="ugr.tug.aas.sofa"><ttl>Subject of Analysis â Sofa</ttl><xreftext>Section 5.1.2, âSubject of Analysis â Sofaâ</xreftext></div></div><div element="section" href="#ugr.tug.aas.sofa_data_formats" number="5.2" targetptr="ugr.tug.aas.sofa_data_formats"><ttl>Formats of Sofa Data</ttl><xreftext>Section 5.2, âFormats of Sofa Dataâ</xreftext></div><div element="section" href="#ugr.tug.aas.setting_accessing_sofa_data" number="5.3" targetptr="ugr.tug.aas.setting_accessing_sofa_data"><ttl>Setting and Accessing Sofa Data</ttl><xreftext>Section 5.3, âSetting and Accessing Sofa Dataâ</xreftext><div element="section" href="#ugr.tug.aas.setting_sofa_data" number="5.3.1" targetptr="ugr.tug.aas.setting_sofa_data"><ttl>Setting Sofa Data</ttl><xreftext>Section 5.3.1, âSetting Sofa Dataâ</xreftext></div>
<div element="section" href="#ugr.tug.aas.accessing_sofa_data" number="5.3.2" targetptr="ugr.tug.aas.accessing_sofa_data"><ttl>Accessing Sofa Data</ttl><xreftext>Section 5.3.2, âAccessing Sofa Dataâ</xreftext></div><div element="section" href="#ugr.tug.aas.accessing_sofa_data_using_java_stream" number="5.3.3" targetptr="ugr.tug.aas.accessing_sofa_data_using_java_stream"><ttl>Accessing Sofa Data using a Java Stream</ttl><xreftext>Section 5.3.3, âAccessing Sofa Data using a Java Streamâ</xreftext></div></div><div element="section" href="#ugr.tug.aas.sofa_fs" number="5.4" targetptr="ugr.tug.aas.sofa_fs"><ttl>The Sofa Feature Structure</ttl><xreftext>Section 5.4, âThe Sofa Feature Structureâ</xreftext></div><div element="section" href="#ugr.tug.aas.annotations" number="5.5" targetptr="ugr.tug.aas.annotations"><ttl>Annotations</ttl><xreftext>Section 5.5, âAnnotationsâ</xreftext><div element="section" href="#ugr.tug.aas.built_in_
annotation_types" number="5.5.1" targetptr="ugr.tug.aas.built_in_annotation_types"><ttl>Built-in Annotation types</ttl><xreftext>Section 5.5.1, âBuilt-in Annotation typesâ</xreftext></div><div element="section" href="#ugr.tug.aas.annotations_associated_sofa" number="5.5.2" targetptr="ugr.tug.aas.annotations_associated_sofa"><ttl>Annotations have an associated Sofa</ttl><xreftext>Section 5.5.2, âAnnotations have an associated Sofaâ</xreftext></div></div><div element="section" href="#ugr.tug.aas.annotationbase" number="5.6" targetptr="ugr.tug.aas.annotationbase"><ttl>AnnotationBase</ttl><xreftext>Section 5.6, âAnnotationBaseâ</xreftext></div></div><div element="chapter" href="#ugr.tug.mvs" number="6" targetptr="ugr.tug.mvs"><ttl>Multiple CAS Views of an Artifact</ttl><xreftext>Chapter 6, <i xmlns:xlink="http://www.w3.org/1999/xlink">Multiple CAS Views of an Artifact</i></xreftext><div element="section" href="#ugr.tug.mvs.cas_views_and_
sofas" number="6.1" targetptr="ugr.tug.mvs.cas_views_and_sofas"><ttl>CAS Views and Sofas</ttl><xreftext>Section 6.1, âCAS Views and Sofasâ</xreftext><div element="section" href="#ugr.tug.mvs.naming_views_sofas" number="6.1.1" targetptr="ugr.tug.mvs.naming_views_sofas"><ttl>Naming CAS Views and Sofas</ttl><xreftext>Section 6.1.1, âNaming CAS Views and Sofasâ</xreftext></div><div element="section" href="#ugr.tug.mvs.multi_view_and_single_view" number="6.1.2" targetptr="ugr.tug.mvs.multi_view_and_single_view"><ttl>Multi-View, Single-View components & applications</ttl><xreftext>Section 6.1.2, âMulti/Single View parts in Applicationsâ</xreftext></div></div><div element="section" href="#ugr.tug.mvs.multi_view_components" number="6.2" targetptr="ugr.tug.mvs.multi_view_components"><ttl>Multi-View Components</ttl><xreftext>Section 6.2, âMulti-View Componentsâ</xreftext><div element="section" href="#ugr.tug.mvs.deciding_multi_vi
ew" number="6.2.1" targetptr="ugr.tug.mvs.deciding_multi_view"><ttl>How UIMA decides if a component is Multi-View</ttl><xreftext>Section 6.2.1, âDeciding: Multi-Viewâ</xreftext></div><div element="section" href="#ugr.tug.mvs.additional_capabilities" number="6.2.2" targetptr="ugr.tug.mvs.additional_capabilities"><ttl>Multi-View: additional capabilities</ttl><xreftext>Section 6.2.2, âMulti-View: additional capabilitiesâ</xreftext></div><div element="section" href="#ugr.tug.mvs.component_xml_metadata" number="6.2.3" targetptr="ugr.tug.mvs.component_xml_metadata"><ttl>Component XML metadata</ttl><xreftext>Section 6.2.3, âComponent XML metadataâ</xreftext></div></div><div element="section" href="#ugr.tug.mvs.sofa_capabilities_and_apis_for_apps" number="6.3" targetptr="ugr.tug.mvs.sofa_capabilities_and_apis_for_apps"><ttl>Sofa Capabilities and APIs for Applications</ttl><xreftext>Section 6.3, âSofa Capabilities & APIs for Appsâ
</xreftext></div><div element="section" href="#ugr.tug.mvs.sofa_name_mapping" number="6.4" targetptr="ugr.tug.mvs.sofa_name_mapping"><ttl>Sofa Name Mapping</ttl><xreftext>Section 6.4, âSofa Name Mappingâ</xreftext><div element="section" href="#ugr.tug.mvs.name_mapping_aggregate" number="6.4.1" targetptr="ugr.tug.mvs.name_mapping_aggregate"><ttl>Name Mapping in an Aggregate Descriptor</ttl><xreftext>Section 6.4.1, âName Mapping in an Aggregate Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.mvs.name_mapping_cpe" number="6.4.2" targetptr="ugr.tug.mvs.name_mapping_cpe"><ttl>Name Mapping in a CPE
+ Consumersâ</xreftext><div element="section" href="#ugr.tug.cpe.cas_consumer.required_methods" number="2.4.3.1" targetptr="ugr.tug.cpe.cas_consumer.required_methods"><ttl>Required Methods for a CAS Consumer</ttl><xreftext>Section 2.4.3.1, âRequired Methods for a CAS Consumerâ</xreftext><div element="section" href="#ugr.tug.cpe.cas_consumer.required_methods.initialize" number="" targetptr="ugr.tug.cpe.cas_consumer.required_methods.initialize"><ttl>initialize()</ttl><xreftext>the section called âinitialize()â</xreftext></div><div element="section" href="#ugr.tug.cpe.cas_consumer.required_methods.processcas" number="" targetptr="ugr.tug.cpe.cas_consumer.required_methods.processcas"><ttl>processCas()</ttl><xreftext>the section called âprocessCas()â</xreftext></div><div element="section" href="#ugr.tug.cpe.cas_consumer.optional_methods" number="" targetptr="ugr.tug.cpe.cas_consumer.optional_methods"><ttl>Optional Methods</ttl><xreftext>t
he section called âOptional Methodsâ</xreftext><div element="section" href="#ugr.tug.cpe.cas_consumer.optional_methods.batchprocesscomplete" number="" targetptr="ugr.tug.cpe.cas_consumer.optional_methods.batchprocesscomplete"><ttl>batchProcessComplete()</ttl><xreftext>the section called âbatchProcessComplete()â</xreftext></div><div element="section" href="#ugr.tug.cpe.cas_consumer.optional_methods.collectionprocesscomplete" number="" targetptr="ugr.tug.cpe.cas_consumer.optional_methods.collectionprocesscomplete"><ttl>collectionProcessComplete()</ttl><xreftext>the section called âcollectionProcessComplete()â</xreftext></div></div></div></div></div><div element="section" href="#ugr.tug.cpe.deploying_a_cpe" number="2.5" targetptr="ugr.tug.cpe.deploying_a_cpe"><ttl>Deploying a CPE</ttl><xreftext>Section 2.5, âDeploying a CPEâ</xreftext><obj element="figure" href="#ugr.tug.cpe.fig.cpe_instantiation" number="2.2" targetptr="ugr.tug.cpe.fi
g.cpe_instantiation"><ttl>CPE Instantiation</ttl><xreftext>Figure 2.2, âCPE Instantiationâ</xreftext></obj><obj element="para" href="#ugr.tug.cpe.deployment_alternatives" number="" targetptr="ugr.tug.cpe.deployment_alternatives"><ttl>???TITLE???</ttl><xreftext>Section 2.5, âDeploying a CPEâ</xreftext></obj><div element="section" href="#ugr.tug.cpe.managed_deployment" number="2.5.1" targetptr="ugr.tug.cpe.managed_deployment"><ttl>Deploying Managed CAS Processors</ttl><xreftext>Section 2.5.1, âDeploying Managed CAS Processorsâ</xreftext><obj element="figure" href="#ugr.tug.cpe.fig.managed_deployment" number="2.3" targetptr="ugr.tug.cpe.fig.managed_deployment"><ttl>CPE with Managed CAS Processors</ttl><xreftext>Figure 2.3, âCPE with Managed CAS Processorsâ</xreftext></obj></div><div element="section" href="#ugr.tug.cpe.deploying_nonmanaged_cas_processors" number="2.5.2" targetptr="ugr.tug.cpe.deploying_nonmanaged_cas_processor
s"><ttl>Deploying Non-managed CAS Processors</ttl><xreftext>Section 2.5.2, âDeploying Non-managed CAS Processorsâ</xreftext><obj element="figure" href="#ugr.tug.cpe.fig.nonmanaged_cpe" number="2.4" targetptr="ugr.tug.cpe.fig.nonmanaged_cpe"><ttl>CPE with non-managed CAS Processors</ttl><xreftext>Figure 2.4, âCPE with non-managed CAS Processorsâ</xreftext></obj></div><div element="section" href="#ugr.tug.cpe.integrated_deployment" number="2.5.3" targetptr="ugr.tug.cpe.integrated_deployment"><ttl>Deploying Integrated CAS Processors</ttl><xreftext>Section 2.5.3, âDeploying Integrated CAS Processorsâ</xreftext><obj element="figure" href="#ugr.tug.cpe.fig.integrated_deployment" number="2.5" targetptr="ugr.tug.cpe.fig.integrated_deployment"><ttl>CPE with integrated CAS Processor</ttl><xreftext>Figure 2.5, âCPE with integrated CAS Processorâ</xreftext></obj></div></div><div element="section" href="#ugr.tug.cpe.collection_processin
g_examples" number="2.6" targetptr="ugr.tug.cpe.collection_processing_examples"><ttl>Collection Processing Examples</ttl><xreftext>Section 2.6, âCollection Processing Examplesâ</xreftext></div></div><div element="chapter" href="#ugr.tug.application" number="3" targetptr="ugr.tug.application"><ttl>Application Developer's Guide</ttl><xreftext>Chapter 3, <i xmlns:xlink="http://www.w3.org/1999/xlink">Application Developer's Guide</i></xreftext><div element="section" href="#ugr.tug.appication.uimaframework_class" number="3.1" targetptr="ugr.tug.appication.uimaframework_class"><ttl>The UIMAFramework Class</ttl><xreftext>Section 3.1, âThe UIMAFramework Classâ</xreftext></div><div element="section" href="#ugr.tug.application.using_aes" number="3.2" targetptr="ugr.tug.application.using_aes"><ttl>Using Analysis Engines</ttl><xreftext>Section 3.2, âUsing Analysis Enginesâ</xreftext><div element="section" href="#ugr.tug.application.instantiating
_an_ae" number="3.2.1" targetptr="ugr.tug.application.instantiating_an_ae"><ttl>Instantiating an Analysis Engine</ttl><xreftext>Section 3.2.1, âInstantiating an Analysis Engineâ</xreftext></div><div element="section" href="#ugr.tug.application.analyzing_text_documents" number="3.2.2" targetptr="ugr.tug.application.analyzing_text_documents"><ttl>Analyzing Text Documents</ttl><xreftext>Section 3.2.2, âAnalyzing Text Documentsâ</xreftext></div><div element="section" href="#ugr.tug.applications.analyzing_non_text_artifacts" number="3.2.3" targetptr="ugr.tug.applications.analyzing_non_text_artifacts"><ttl>Analyzing Non-Text Artifacts</ttl><xreftext>Section 3.2.3, âAnalyzing Non-Text Artifactsâ</xreftext></div><div element="section" href="#ugr.tug.applications.accessing_analysis_results" number="3.2.4" targetptr="ugr.tug.applications.accessing_analysis_results"><ttl>Accessing Analysis Results</ttl><xreftext>Section 3.2.4, âAccessing A
nalysis Resultsâ</xreftext><div element="section" href="#ugr.tug.applications.accessing_results_using_jcas" number="3.2.4.1" targetptr="ugr.tug.applications.accessing_results_using_jcas"><ttl>Accessing Analysis Results using the JCas</ttl><xreftext>Section 3.2.4.1, âAccessing Analysis Results using the JCasâ</xreftext></div><div element="section" href="#ugr.tug.application.accessing_results_using_cas" number="3.2.4.2" targetptr="ugr.tug.application.accessing_results_using_cas"><ttl>Accessing Analysis Results using the CAS</ttl><xreftext>Section 3.2.4.2, âAccessing Analysis Results using the CASâ</xreftext></div></div><div element="section" href="#ugr.tug.applications.multi_threaded" number="3.2.5" targetptr="ugr.tug.applications.multi_threaded"><ttl>Multi-threaded Applications</ttl><xreftext>Section 3.2.5, âMulti-threaded Applicationsâ</xreftext></div><div element="section" href="#ugr.tug.application.using_multiple_aes" number="3.2
.6" targetptr="ugr.tug.application.using_multiple_aes"><ttl>Using Multiple Analysis Engines and Creating Shared CASes</ttl><xreftext>Section 3.2.6, âMultiple AEs & Creating Shared CASesâ</xreftext></div><div element="section" href="#ugr.tug.application.saving_cases_to_file_systems" number="3.2.7" targetptr="ugr.tug.application.saving_cases_to_file_systems"><ttl>Saving CASes to file systems</ttl><xreftext>Section 3.2.7, âSaving CASes to file systemsâ</xreftext></div></div><div element="section" href="#ugr.tug.application.using_cpes" number="3.3" targetptr="ugr.tug.application.using_cpes"><ttl>Using Collection Processing Engines</ttl><xreftext>Section 3.3, âUsing Collection Processing Enginesâ</xreftext><div element="section" href="#ugr.tug.application.running_a_cpe_from_a_descriptor" number="3.3.1" targetptr="ugr.tug.application.running_a_cpe_from_a_descriptor"><ttl>Running a Collection Processing Engine from a Descriptor</ttl><xreft
ext>Section 3.3.1, âRunning a CPE from a Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.application.configuring_a_cpe_descriptor_programmatically" number="3.3.2" targetptr="ugr.tug.application.configuring_a_cpe_descriptor_programmatically"><ttl>Configuring a Collection Processing Engine Descriptor Programmatically</ttl><xreftext>Section 3.3.2, âConfiguring a CPE Descriptor Programmaticallyâ</xreftext></div></div><div element="section" href="#ugr.tug.application.setting_configuration_parameters" number="3.4" targetptr="ugr.tug.application.setting_configuration_parameters"><ttl>Setting Configuration Parameters</ttl><xreftext>Section 3.4, âSetting Configuration Parametersâ</xreftext></div><div element="section" href="#ugr.tug.application.integrating_text_analysis_and_search" number="3.5" targetptr="ugr.tug.application.integrating_text_analysis_and_search"><ttl>Integrating Text Analysis and Search</ttl><xreftext>SectionÂ
3.5, âIntegrating Text Analysis and Searchâ</xreftext><div element="section" href="#ugr.tug.application.building_an_index" number="3.5.1" targetptr="ugr.tug.application.building_an_index"><ttl>Building an Index</ttl><xreftext>Section 3.5.1, âBuilding an Indexâ</xreftext><div element="section" href="#ugr.tug.application.search.configuring_indexer" number="3.5.1.1" targetptr="ugr.tug.application.search.configuring_indexer"><ttl>Configuring the Semantic Search CAS Indexer</ttl><xreftext>Section 3.5.1.1, âConfiguring the Semantic Search CAS Indexerâ</xreftext></div><div element="section" href="#ugr.tug.application.search.cpe_with_semantic_search_cas_consumer" number="3.5.1.2" targetptr="ugr.tug.application.search.cpe_with_semantic_search_cas_consumer"><ttl>Building and Running a CPE including the Semantic Search CAS Indexer</ttl><xreftext>Section 3.5.1.2, âUsing Semantic Search CAS Indexerâ</xreftext></div></div><div element="se
ction" href="#ugr.tug.application.search.query_tool" number="3.5.2" targetptr="ugr.tug.application.search.query_tool"><ttl>Semantic Search Query Tool</ttl><xreftext>Section 3.5.2, âSemantic Search Query Toolâ</xreftext></div></div><div element="section" href="#ugr.tug.application.remote_services" number="3.6" targetptr="ugr.tug.application.remote_services"><ttl>Working with Remote Services</ttl><xreftext>Section 3.6, âWorking with Remote Servicesâ</xreftext><div element="section" href="#ugr.tug.application.how_to_deploy_as_soap" number="3.6.1" targetptr="ugr.tug.application.how_to_deploy_as_soap"><ttl>Deploying a UIMA Component as a SOAP Service</ttl><xreftext>Section 3.6.1, âDeploying as SOAP Serviceâ</xreftext></div><div element="section" href="#ugr.tug.application.how_to_deploy_a_vinci_service" number="3.6.2" targetptr="ugr.tug.application.how_to_deploy_a_vinci_service"><ttl>Deploying a UIMA Component as a Vinci Service</ttl><xreftex
t>Section 3.6.2, âDeploying as a Vinci Serviceâ</xreftext></div><div element="section" href="#ugr.tug.application.how_to_call_a_uima_service" number="3.6.3" targetptr="ugr.tug.application.how_to_call_a_uima_service"><ttl>How to Call a UIMA Service</ttl><xreftext>Section 3.6.3, âCalling a UIMA Serviceâ</xreftext><div element="section" href="#ugr.tug.application.soap_service_client_descriptor" number="3.6.3.1" targetptr="ugr.tug.application.soap_service_client_descriptor"><ttl>SOAP Service Client Descriptor</ttl><xreftext>Section 3.6.3.1, âSOAP Service Client Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.application.vinci_service_client_descriptor" number="3.6.3.2" targetptr="ugr.tug.application.vinci_service_client_descriptor"><ttl>Vinci Service Client Descriptor</ttl><xreftext>Section 3.6.3.2, âVinci Service Client Descriptorâ</xreftext></div></div><div element="section" href="#ugr.tug.application.restri
ctions_on_remotely_deployed_services" number="3.6.4" targetptr="ugr.tug.application.restrictions_on_remotely_deployed_services"><ttl>Restrictions on remotely deployed services</ttl><xreftext>Section 3.6.4, âRestrictions on remotely deployed servicesâ</xreftext></div><div element="section" href="#ugr.tug.application.vns" number="3.6.5" targetptr="ugr.tug.application.vns"><ttl>The Vinci Naming Services (VNS)</ttl><xreftext>Section 3.6.5, âThe Vinci Naming Services (VNS)â</xreftext><div element="section" href="#ugr.tug.application.vns.starting" number="3.6.5.1" targetptr="ugr.tug.application.vns.starting"><ttl>Starting VNS</ttl><xreftext>Section 3.6.5.1, âStarting VNSâ</xreftext></div><div element="section" href="#ugr.tug.application.vns_files" number="3.6.5.2" targetptr="ugr.tug.application.vns_files"><ttl>VNS Files</ttl><xreftext>Section 3.6.5.2, âVNS Filesâ</xreftext></div><div element="section" href="#ugr.tug.application.l
aunching_vinci_services" number="3.6.5.3" targetptr="ugr.tug.application.launching_vinci_services"><ttl>Launching Vinci Services</ttl><xreftext>Section 3.6.5.3, âLaunching Vinci Servicesâ</xreftext></div></div><div element="section" href="#ugr.tug.configuring_timeout_settings" number="3.6.6" targetptr="ugr.tug.configuring_timeout_settings"><ttl>Configuring Timeout Settings</ttl><xreftext>Section 3.6.6, âConfiguring Timeout Settingsâ</xreftext><div element="section" href="#ugr.tug.setting_client_timeout" number="3.6.6.1" targetptr="ugr.tug.setting_client_timeout"><ttl>Setting the Client Timeout</ttl><xreftext>Section 3.6.6.1, âSetting the Client Timeoutâ</xreftext></div><div element="section" href="#ugr.tug.setting_server_socket_timeout" number="3.6.6.2" targetptr="ugr.tug.setting_server_socket_timeout"><ttl>Setting the Server Socket Timeout</ttl><xreftext>Section 3.6.6.2, âSetting the Server Socket Timeoutâ</xreftext></div>
</div></div><div element="section" href="#ugr.tug.application.increasing_performance_using_parallelism" number="3.7" targetptr="ugr.tug.application.increasing_performance_using_parallelism"><ttl>Increasing performance using parallelism</ttl><xreftext>Section 3.7, âIncreasing performance using parallelismâ</xreftext></div><div element="section" href="#ugr.tug.application.jmx" number="3.8" targetptr="ugr.tug.application.jmx"><ttl>Monitoring AE Performance using JMX</ttl><xreftext>Section 3.8, âMonitoring AE Performance using JMXâ</xreftext></div><div element="section" href="#tug.application.pto" number="3.9" targetptr="tug.application.pto"><ttl>Performance Tuning Options</ttl><xreftext>Section 3.9, âPerformance Tuning Optionsâ</xreftext></div></div><div element="chapter" href="#ugr.tug.fc" number="4" targetptr="ugr.tug.fc"><ttl>Flow Controller Developer's Guide</ttl><xreftext>Chapter 4, <i xmlns:xlink="http://www.w3.org/1999/xlink">Flo
w Controller Developer's Guide</i></xreftext><div element="section" href="#ugr.tug.fc.developing_fc_code" number="4.1" targetptr="ugr.tug.fc.developing_fc_code"><ttl>Developing the Flow Controller Code</ttl><xreftext>Section 4.1, âDeveloping the Flow Controller Codeâ</xreftext><div element="section" href="#ugr.tug.fc.fc_interface_overview" number="4.1.1" targetptr="ugr.tug.fc.fc_interface_overview"><ttl>Flow Controller Interface Overview</ttl><xreftext>Section 4.1.1, âFlow Controller Interface Overviewâ</xreftext></div><div element="section" href="#ugr.tug.fc.example_code" number="4.1.2" targetptr="ugr.tug.fc.example_code"><ttl>Example Code</ttl><xreftext>Section 4.1.2, âExample Codeâ</xreftext><div element="section" href="#ugr.tug.fc.whiteboard" number="4.1.2.1" targetptr="ugr.tug.fc.whiteboard"><ttl>The WhiteboardFlowController Class</ttl><xreftext>Section 4.1.2.1, âThe WhiteboardFlowController Classâ</xreftext></div><div
element="section" href="#ugr.tug.fc.whiteboardflow" number="4.1.2.2" targetptr="ugr.tug.fc.whiteboardflow"><ttl>The WhiteboardFlow Class</ttl><xreftext>Section 4.1.2.2, âThe WhiteboardFlow Classâ</xreftext></div></div></div><div element="section" href="#ugr.tug.fc.creating_fc_descriptor" number="4.2" targetptr="ugr.tug.fc.creating_fc_descriptor"><ttl>Creating the Flow Controller Descriptor</ttl><xreftext>Section 4.2, âCreating the Flow Controller Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.fc.adding_fc_to_aggregate" number="4.3" targetptr="ugr.tug.fc.adding_fc_to_aggregate"><ttl>Adding a Flow Controller to an Aggregate Analysis Engine</ttl><xreftext>Section 4.3, âAdding Flow Controller to an Aggregateâ</xreftext></div><div element="section" href="#ugr.tug.fc.adding_fc_to_cpe" number="4.4" targetptr="ugr.tug.fc.adding_fc_to_cpe"><ttl>Adding a Flow Controller to a Collection Processing Engine</ttl><xreftext>Section�
� 4.4, âAdding Flow Controller to CPEâ</xreftext></div><div element="section" href="#ugr.tug.fc.using_fc_with_cas_multipliers" number="4.5" targetptr="ugr.tug.fc.using_fc_with_cas_multipliers"><ttl>Using Flow Controllers with CAS Multipliers</ttl><xreftext>Section 4.5, âUsing Flow Controllers with CAS Multipliersâ</xreftext></div><div element="section" href="#ugr.tug.fc.continuing_when_exceptions_occur" number="4.6" targetptr="ugr.tug.fc.continuing_when_exceptions_occur"><ttl>Continuing the Flow When Exceptions Occur</ttl><xreftext>Section 4.6, âContinuing the Flow When Exceptions Occurâ</xreftext></div></div><div element="chapter" href="#ugr.tug.aas" number="5" targetptr="ugr.tug.aas"><ttl>Annotations, Artifacts, and Sofas</ttl><xreftext>Chapter 5, <i xmlns:xlink="http://www.w3.org/1999/xlink">Annotations, Artifacts, and Sofas</i></xreftext><div element="section" href="#ugr.tug.aas.terminology" number="5.1" targetptr="ugr.tug.aas.term
inology"><ttl>Terminology</ttl><xreftext>Section 5.1, âTerminologyâ</xreftext><div element="section" href="#ugr.tug.aas.artifact" number="5.1.1" targetptr="ugr.tug.aas.artifact"><ttl>Artifact</ttl><xreftext>Section 5.1.1, âArtifactâ</xreftext></div><div element="section" href="#ugr.tug.aas.sofa" number="5.1.2" targetptr="ugr.tug.aas.sofa"><ttl>Subject of Analysis â Sofa</ttl><xreftext>Section 5.1.2, âSubject of Analysis â Sofaâ</xreftext></div></div><div element="section" href="#ugr.tug.aas.sofa_data_formats" number="5.2" targetptr="ugr.tug.aas.sofa_data_formats"><ttl>Formats of Sofa Data</ttl><xreftext>Section 5.2, âFormats of Sofa Dataâ</xreftext></div><div element="section" href="#ugr.tug.aas.setting_accessing_sofa_data" number="5.3" targetptr="ugr.tug.aas.setting_accessing_sofa_data"><ttl>Setting and Accessing Sofa Data</ttl><xreftext>Section 5.3, âSetting and Accessing Sofa Dataâ</xreftext><div e
lement="section" href="#ugr.tug.aas.setting_sofa_data" number="5.3.1" targetptr="ugr.tug.aas.setting_sofa_data"><ttl>Setting Sofa Data</ttl><xreftext>Section 5.3.1, âSetting Sofa Dataâ</xreftext></div><div element="section" href="#ugr.tug.aas.accessing_sofa_data" number="5.3.2" targetptr="ugr.tug.aas.accessing_sofa_data"><ttl>Accessing Sofa Data</ttl><xreftext>Section 5.3.2, âAccessing Sofa Dataâ</xreftext></div><div element="section" href="#ugr.tug.aas.accessing_sofa_data_using_java_stream" number="5.3.3" targetptr="ugr.tug.aas.accessing_sofa_data_using_java_stream"><ttl>Accessing Sofa Data using a Java Stream</ttl><xreftext>Section 5.3.3, âAccessing Sofa Data using a Java Streamâ</xreftext></div></div><div element="section" href="#ugr.tug.aas.sofa_fs" number="5.4" targetptr="ugr.tug.aas.sofa_fs"><ttl>The Sofa Feature Structure</ttl><xreftext>Section 5.4, âThe Sofa Feature Structureâ</xreftext></div><div element="section"
href="#ugr.tug.aas.annotations" number="5.5" targetptr="ugr.tug.aas.annotations"><ttl>Annotations</ttl><xreftext>Section 5.5, âAnnotationsâ</xreftext><div element="section" href="#ugr.tug.aas.built_in_annotation_types" number="5.5.1" targetptr="ugr.tug.aas.built_in_annotation_types"><ttl>Built-in Annotation types</ttl><xreftext>Section 5.5.1, âBuilt-in Annotation typesâ</xreftext></div><div element="section" href="#ugr.tug.aas.annotations_associated_sofa" number="5.5.2" targetptr="ugr.tug.aas.annotations_associated_sofa"><ttl>Annotations have an associated Sofa</ttl><xreftext>Section 5.5.2, âAnnotations have an associated Sofaâ</xreftext></div></div><div element="section" href="#ugr.tug.aas.annotationbase" number="5.6" targetptr="ugr.tug.aas.annotationbase"><ttl>AnnotationBase</ttl><xreftext>Section 5.6, âAnnotationBaseâ</xreftext></div></div><div element="chapter" href="#ugr.tug.mvs" number="6" targetptr="ugr.tug.mvs"><ttl
>Multiple CAS Views of an Artifact</ttl><xreftext>Chapter 6, <i xmlns:xlink="http://www.w3.org/1999/xlink">Multiple CAS Views of an Artifact</i></xreftext><div element="section" href="#ugr.tug.mvs.cas_views_and_sofas" number="6.1" targetptr="ugr.tug.mvs.cas_views_and_sofas"><ttl>CAS Views and Sofas</ttl><xreftext>Section 6.1, âCAS Views and Sofasâ</xreftext><div element="section" href="#ugr.tug.mvs.naming_views_sofas" number="6.1.1" targetptr="ugr.tug.mvs.naming_views_sofas"><ttl>Naming CAS Views and Sofas</ttl><xreftext>Section 6.1.1, âNaming CAS Views and Sofasâ</xreftext></div><div element="section" href="#ugr.tug.mvs.multi_view_and_single_view" number="6.1.2" targetptr="ugr.tug.mvs.multi_view_and_single_view"><ttl>Multi-View, Single-View components & applications</ttl><xreftext>Section 6.1.2, âMulti/Single View parts in Applicationsâ</xreftext></div></div><div element="section" href="#ugr.tug.mvs.multi_view_components" number
="6.2" targetptr="ugr.tug.mvs.multi_view_components"><ttl>Multi-View Components</ttl><xreftext>Section 6.2, âMulti-View Componentsâ</xreftext><div element="section" href="#ugr.tug.mvs.deciding_multi_view" number="6.2.1" targetptr="ugr.tug.mvs.deciding_multi_view"><ttl>How UIMA decides if a component is Multi-View</ttl><xreftext>Section 6.2.1, âDeciding: Multi-Viewâ</xreftext></div><div element="section" href="#ugr.tug.mvs.additional_capabilities" number="6.2.2" targetptr="ugr.tug.mvs.additional_capabilities"><ttl>Multi-View: additional capabilities</ttl><xreftext>Section 6.2.2, âMulti-View: additional capabilitiesâ</xreftext></div><div element="section" href="#ugr.tug.mvs.component_xml_metadata" number="6.2.3" targetptr="ugr.tug.mvs.component_xml_metadata"><ttl>Component XML metadata</ttl><xreftext>Section 6.2.3, âComponent XML metadataâ</xreftext></div></div><div element="section" href="#ugr.tug.mvs.sofa_capabilities_and_a
pis_for_apps" number="6.3" targetptr="ugr.tug.mvs.sofa_capabilities_and_apis_for_apps"><ttl>Sofa Capabilities and APIs for Applications</ttl><xreftext>Section 6.3, âSofa Capabilities & APIs for Appsâ</xreftext></div><div element="section" href="#ugr.tug.mvs.sofa_name_mapping" number="6.4" targetptr="ugr.tug.mvs.sofa_name_mapping"><ttl>Sofa Name Mapping</ttl><xreftext>Section 6.4, âSofa Name Mappingâ</xreftext><div element="section" href="#ugr.tug.mvs.name_mapping_aggregate" number="6.4.1" targetptr="ugr.tug.mvs.name_mapping_aggregate"><ttl>Name Mapping in an Aggregate Descriptor</ttl><xreftext>Section 6.4.1, âName Mapping in an Aggregate Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.mvs.name_mapping_cpe" number="6.4.2" targetptr="ugr.tug.mvs.name_mapping_cpe"><ttl>Name Mapping in a CPE
Descriptor</ttl><xreftext>Section 6.4.2, âName Mapping in a CPE
Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.mvs.specifying_cas_view_for_single_view" number="6.4.3" targetptr="ugr.tug.mvs.specifying_cas_view_for_single_view"><ttl>Specifying the CAS View for a Single-View Component</ttl><xreftext>Section 6.4.3, âCAS View for Single-View Partsâ</xreftext><obj element="para" href="#ugr.tug.mvs.sofa_mapping_leav_out_name" number="" targetptr="ugr.tug.mvs.sofa_mapping_leav_out_name"><ttl>???TITLE???</ttl><xreftext>Section 6.4.3, âCAS View for Single-View Partsâ</xreftext></obj></div><div element="section" href="#ugr.tug.mvs.name_mapping_application" number="6.4.4" targetptr="ugr.tug.mvs.name_mapping_application"><ttl>Name Mapping in a UIMA Application</ttl><xreftext>Section 6.4.4, âName Mapping in a UIMA Applicationâ</xreftext></div><div element="section" href="#ugr.tug.mvs.name_mapping_remote_services" number="6.4.5" targetptr="ugr.tug.mvs.name_mapping_remote_services"><t
tl>Name Mapping for Remote Services</ttl><xreftext>Section 6.4.5, âName Mapping for Remote Servicesâ</xreftext></div></div><div element="section" href="#ugr.tug.mvs.jcas_extensions_for_multi_views" number="6.5" targetptr="ugr.tug.mvs.jcas_extensions_for_multi_views"><ttl>JCas extensions for Multiple Views</ttl><xreftext>Section 6.5, âJCas extensions for Multiple Viewsâ</xreftext></div><div element="section" href="#ugr.tug.mvs.sample_application" number="6.6" targetptr="ugr.tug.mvs.sample_application"><ttl>Sample Multi-View Application</ttl><xreftext>Section 6.6, âSample Multi-View Applicationâ</xreftext><div element="section" href="#ugr.tug.mvs.sample_application.descriptor" number="6.6.1" targetptr="ugr.tug.mvs.sample_application.descriptor"><ttl>Annotator Descriptor</ttl><xreftext>Section 6.6.1, âAnnotator Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.mvs.sample_application.setup" number="6.6.2" target
ptr="ugr.tug.mvs.sample_application.setup"><ttl>Application Setup</ttl><xreftext>Section 6.6.2, âApplication Setupâ</xreftext></div><div element="section" href="#ugr.tug.mvs.sample_application.annotator_processing" number="6.6.3" targetptr="ugr.tug.mvs.sample_application.annotator_processing"><ttl>Annotator Processing</ttl><xreftext>Section 6.6.3, âAnnotator Processingâ</xreftext></div><div element="section" href="#ugr.tug.mvs.sample_application.accessing_results" number="6.6.4" targetptr="ugr.tug.mvs.sample_application.accessing_results"><ttl>Accessing the results of analysis</ttl><xreftext>Section 6.6.4, âAccessing the results of analysisâ</xreftext></div></div><div element="section" href="#ugr.tug.mvs.views_api_summary" number="6.7" targetptr="ugr.tug.mvs.views_api_summary"><ttl>Views API Summary</ttl><xreftext>Section 6.7, âViews API Summaryâ</xreftext></div><div element="section" href="#ugr.tug.mvs.sofa_incompatibiliti
es_v1_v2" number="6.8" targetptr="ugr.tug.mvs.sofa_incompatibilities_v1_v2"><ttl>Sofa Incompatibilities between UIMA version 1 and version 2</ttl><xreftext>Section 6.8, âSofa Incompatibilities: V1 and V2â</xreftext></div></div><div element="chapter" href="#ugr.tug.cm" number="7" targetptr="ugr.tug.cm"><ttl>CAS Multiplier Developer's Guide</ttl><xreftext>Chapter 7, <i xmlns:xlink="http://www.w3.org/1999/xlink">CAS Multiplier Developer's Guide</i></xreftext><div element="section" href="#ugr.tug.cm.developing_multiplier_code" number="7.1" targetptr="ugr.tug.cm.developing_multiplier_code"><ttl>Developing the CAS Multiplier Code</ttl><xreftext>Section 7.1, âDeveloping the CAS Multiplier Codeâ</xreftext><div element="section" href="#ugr.tug.cm.cm_interface_overview" number="7.1.1" targetptr="ugr.tug.cm.cm_interface_overview"><ttl>CAS Multiplier Interface Overview</ttl><xreftext>Section 7.1.1, âCAS Multiplier Interface Overviewâ</xreftext><
/div><div element="section" href="#ugr.tug.cm.how_to_get_empty_cas_instance" number="7.1.2" targetptr="ugr.tug.cm.how_to_get_empty_cas_instance"><ttl>How to Get an Empty CAS Instance</ttl><xreftext>Section 7.1.2, âGetting an empty CAS Instanceâ</xreftext></div><div element="section" href="#ugr.tug.cm.example_code" number="7.1.3" targetptr="ugr.tug.cm.example_code"><ttl>Example Code</ttl><xreftext>Section 7.1.3, âExample Codeâ</xreftext><div element="section" href="#ugr.tug.cm.example_code.overall_structure" number="7.1.3.1" targetptr="ugr.tug.cm.example_code.overall_structure"><ttl>Overall Structure</ttl><xreftext>Section 7.1.3.1, âOverall Structureâ</xreftext></div><div element="section" href="#ugr.tug.cm.example_code.initialize" number="7.1.3.2" targetptr="ugr.tug.cm.example_code.initialize"><ttl>Initialize Method</ttl><xreftext>Section 7.1.3.2, âInitialize Methodâ</xreftext></div><div element="section" href="#ugr.tug.cm.
example_code.process" number="7.1.3.3" targetptr="ugr.tug.cm.example_code.process"><ttl>Process Method</ttl><xreftext>Section 7.1.3.3, âProcess Methodâ</xreftext></div><div element="section" href="#ugr.tug.cm.example_code.hasnext" number="7.1.3.4" targetptr="ugr.tug.cm.example_code.hasnext"><ttl>HasNext Method</ttl><xreftext>Section 7.1.3.4, âHasNext Methodâ</xreftext></div><div element="section" href="#ugr.tug.cm.example_code.next" number="7.1.3.5" targetptr="ugr.tug.cm.example_code.next"><ttl>Next Method</ttl><xreftext>Section 7.1.3.5, âNext Methodâ</xreftext></div></div></div><div element="section" href="#ugr.tug.cm.creating_cm_descriptor" number="7.2" targetptr="ugr.tug.cm.creating_cm_descriptor"><ttl>Creating the CAS Multiplier Descriptor</ttl><xreftext>Section 7.2, âCAS Multiplier Descriptorâ</xreftext></div><div element="section" href="#ugr.tug.cm.using_cm_in_aae" number="7.3" targetptr="ugr.tug.cm.using_cm_in_aae"><
ttl>Using a CAS Multiplier in an Aggregate Analysis Engine</ttl><xreftext>Section 7.3, âUsing CAS Multipliers in Aggregatesâ</xreftext><div element="section" href="#ugr.tug.cm.adding_cm_to_aggregate" number="7.3.1" targetptr="ugr.tug.cm.adding_cm_to_aggregate"><ttl>Adding the CAS Multiplier to the Aggregate</ttl><xreftext>Section 7.3.1, âAggregate: Adding the CAS Multiplierâ</xreftext></div><div element="section" href="#ugr.tug.cm.cm_and_fc" number="7.3.2" targetptr="ugr.tug.cm.cm_and_fc"><ttl>CAS Multipliers and Flow Control</ttl><xreftext>Section 7.3.2, âCAS Multipliers and Flow Controlâ</xreftext></div><div element="section" href="#ugr.tug.cm.aggregate_cms" number="7.3.3" targetptr="ugr.tug.cm.aggregate_cms"><ttl>Aggregate CAS Multipliers</ttl><xreftext>Section 7.3.3, âAggregate CAS Multipliersâ</xreftext></div></div><div element="section" href="#ugr.tug.cm.using_cm_in_cpe" number="7.4" targetptr="ugr.tug.cm.using_cm_in_
cpe"><ttl>Using a CAS Multiplier in a Collection Processing Engine</ttl><xreftext>Section 7.4, âCAS Multipliers in CPE'sâ</xreftext></div><div element="section" href="#ugr.tug.cm.calling_cm_from_app" number="7.5" targetptr="ugr.tug.cm.calling_cm_from_app"><ttl>Calling a CAS Multiplier from an Application</ttl><xreftext>Section 7.5, âApplications: Calling CAS Multipliersâ</xreftext><div element="section" href="#ugr.tug.cm.retrieving_output_cases" number="7.5.1" targetptr="ugr.tug.cm.retrieving_output_cases"><ttl>Retrieving Output CASes from the CAS Multiplier</ttl><xreftext>Section 7.5.1, âOutput CASesâ</xreftext></div><div element="section" href="#ugr.tug.cm.using_cm_with_other_aes" number="7.5.2" targetptr="ugr.tug.cm.using_cm_with_other_aes"><ttl>Using a CAS Multiplier with other Analysis Engines</ttl><xreftext>Section 7.5.2, âCAS Multipliers with other AEsâ</xreftext></div></div><div element="section" href="#ugr.tug.cm.u
sing_cm_to_merge_cases" number="7.6" targetptr="ugr.tug.cm.using_cm_to_merge_cases"><ttl>Using a CAS Multiplier to Merge CASes</ttl><xreftext>Section 7.6, âMerging with CAS Multipliersâ</xreftext><div element="section" href="#ugr.tug.cm.overview_of_how_to_merge_cases" number="7.6.1" targetptr="ugr.tug.cm.overview_of_how_to_merge_cases"><ttl>Overview of How to Merge CASes</ttl><xreftext>Section 7.6.1, âCAS Merging Overviewâ</xreftext></div><div element="section" href="#ugr.tug.cm.example_cas_merger" number="7.6.2" targetptr="ugr.tug.cm.example_cas_merger"><ttl>Example CAS Merger</ttl><xreftext>Section 7.6.2, âExample CAS Mergerâ</xreftext><div element="section" href="#ugr.tug.cm.example_cas_merger.process" number="7.6.2.1" targetptr="ugr.tug.cm.example_cas_merger.process"><ttl>Process Method</ttl><xreftext>Section 7.6.2.1, âProcess Methodâ</xreftext></div><div element="section" href="#ugr.tug.cm.example_cas_merger.hasnext_an
d_next" number="7.6.2.2" targetptr="ugr.tug.cm.example_cas_merger.hasnext_and_next"><ttl>HasNext and Next Methods</ttl><xreftext>Section 7.6.2.2, âHasNext and Next Methodsâ</xreftext></div></div><div element="section" href="#ugr.tug.cm.using_the_simple_text_merger_in_an_aggregate_ae" number="7.6.3" targetptr="ugr.tug.cm.using_the_simple_text_merger_in_an_aggregate_ae"><ttl>Using the SimpleTextMerger in an Aggregate Analysis Engine</ttl><xreftext>Section 7.6.3, âSimpleTextMerger in an Aggregateâ</xreftext></div></div></div><div element="chapter" href="#ugr.tug.xmi_emf" number="8" targetptr="ugr.tug.xmi_emf"><ttl>XMI and EMF Interoperability</ttl><xreftext>Chapter 8, <i xmlns:xlink="http://www.w3.org/1999/xlink">XMI and EMF Interoperability</i></xreftext><div element="section" href="#ugr.tug.xmi_emf.overview" number="8.1" targetptr="ugr.tug.xmi_emf.overview"><ttl>Overview</ttl><xreftext>Section 8.1, âOverviewâ</xreftext></div><div elem
ent="section" href="#ugr.tug.xmi_emf.converting_ecore_to_from_uima_type_system" number="8.2" targetptr="ugr.tug.xmi_emf.converting_ecore_to_from_uima_type_system"><ttl>Converting an Ecore Model to or from a UIMA Type System</ttl><xreftext>Section 8.2, âConverting an Ecore Model to or from a UIMA Type Systemâ</xreftext></div><div element="section" href="#ugr.tug.xmi_emf.using_xmi_cas_serialization" number="8.3" targetptr="ugr.tug.xmi_emf.using_xmi_cas_serialization"><ttl>Using XMI CAS Serialization</ttl><xreftext>Section 8.3, âUsing XMI CAS Serializationâ</xreftext><div element="section" href="#ugr.tug.xmi_emf.xml_character_issues" number="8.3.1" targetptr="ugr.tug.xmi_emf.xml_character_issues"><ttl>Character Encoding Issues with XML Serialization</ttl><xreftext>Section 8.3.1, âCharacter Encoding Issues with XML Serializationâ</xreftext></div></div></div></div>
\ No newline at end of file