You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2016/10/14 22:02:37 UTC

svn commit: r1764970 - in /uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src: docbook/ docbook/images/references/ docbook/images/references/ref.resources/ image-source/

Author: schor
Date: Fri Oct 14 22:02:36 2016
New Revision: 1764970

URL: http://svn.apache.org/viewvc?rev=1764970&view=rev
Log:
[UIMA-5137] work on doc for ref - resource.  Note: this is temporarily part of uv3, but will likely be in uv2 as well.

Added:
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_kinds.png   (with props)
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_lifecycles.png   (with props)
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_user.png   (with props)
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/ref.resources.xml
Modified:
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uima_v3_users_guide.xml
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml
    uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/image-source/source.pptx

Added: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_kinds.png
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_kinds.png?rev=1764970&view=auto
==============================================================================
Binary file - no diff available.

Propchange: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_kinds.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_lifecycles.png
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_lifecycles.png?rev=1764970&view=auto
==============================================================================
Binary file - no diff available.

Propchange: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_lifecycles.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_user.png
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_user.png?rev=1764970&view=auto
==============================================================================
Binary file - no diff available.

Propchange: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/images/references/ref.resources/res_resource_user.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/ref.resources.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/ref.resources.xml?rev=1764970&view=auto
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/ref.resources.xml (added)
+++ uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/ref.resources.xml Fri Oct 14 22:02:36 2016
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"[
+<!ENTITY imgroot "images/references/ref.resources/">
+<!ENTITY tp "ugr.ref.resources.">
+<!ENTITY % uimaents SYSTEM "../../target/docbook-shared/entities.ent" >  
+%uimaents;
+]>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<chapter id="ugr.ref.resources">
+  <title>UIMA Resources</title>
+  <titleabbrev>UIMA Resources</titleabbrev>
+
+  <section id="ugr.ref.resources.overview">
+    <title>What is a UIMA Resource?</title>
+    <para>UIMA uses the term <code>Resource</code> to describe all UIMA components
+    that can be acquired by an application or by other resources.  These are typically
+    written by users, and are not part of the UIMA framework itself.</para>
+    
+    <figure id="ref.resource.fig.kinds">
+      <title>Resource Kinds</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata width="3in" format="PNG" fileref="&imgroot;res_resource_kinds.png"/>
+        </imageobject>
+        <textobject><phrase>Resource Kinds</phrase>
+        </textobject>
+      </mediaobject>
+    </figure>
+    
+    <para>Resource kinds include:
+      <variablelist>
+    
+        <varlistentry>
+          <term><emphasis role="strong">Annotator</emphasis></term>
+          <listitem><para>a user written component, receives a CAS, does some processing, and returns the possibly
+          updated CAS.  Variants include CollectionReaders, CAS Consumers, CAS Multipliers.</para></listitem>
+        </varlistentry>
+    
+        <varlistentry>
+          <term><emphasis role="strong">Flow Controller</emphasis></term>
+          <listitem><para>a user written component controlling the flow of CASes within an aggregate.</para></listitem>
+        </varlistentry>
+        
+        <varlistentry>
+          <term><emphasis role="strong">External Resource</emphasis></term>
+          <listitem><para>a user written component. Variants include:
+            <itemizedlist spacing="compact">
+              <listitem><para>Data - includes special lifecycle call to load data</para></listitem>
+              <listitem><para>Parameterized - allows multiple instantiations with simple string parameter variants;
+                example: a dictionary, that has variants in content for different languages</para></listitem>
+              <listitem><para>Configurable - supports configuration from the XML specifier</para></listitem>
+            </itemizedlist>
+          </para></listitem>
+        </varlistentry>
+        
+        <varlistentry>
+          <term><emphasis role="strong">CAS Pools</emphasis></term>
+          <listitem><para>This is a UIMA framework resource, providing a pooling mechanism to efficiently
+            share CAS instances with identicial type systems with multiple UIMA pipelines.</para></listitem>
+        </varlistentry>
+    
+      </variablelist>
+    </para>
+
+   <section id="ugr.ref.resources.framework-vs-resources">
+      <title>Resources-framework versus Resources</title>
+      <para>It is easy to confuse UIMA framework classes and methods designed to support resources, with the 
+        resources themselves.  There are many different specializations of resources, and corresponding
+        parts of the UIMA framework that support these.</para>
+        
+      <para>Here's a small part of the UIMA Frame support classes, in green, showing some of the User resources that
+        have been (in this example) instantiated, in yellow.
+        The yellow components have their own superclass hierarchy, indicated by the upwards pointing arrow,
+        independent from the resource framework implementation.
+        Each Resource has its own set of framework class instances, starting with a <code>Resource_Impl</code> instance, 
+        and also its own User code instance.  For clarity, the multiple instances are omitted in the middle of the 
+        diagram.</para>
+        
+    <figure id="ref.resource.fig.framework-vs-resources">
+      <title>Resource Kinds</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata width="5.5in" format="PNG" fileref="&imgroot;res_resource_user.png"/>
+        </imageobject>
+        <textobject><phrase>Framework versus User components</phrase>
+        </textobject>
+      </mediaobject>
+    </figure>
+        
+   </section>
+
+  </section>
+
+  <section id="ugr.ref.resources.resource-specifiers">
+    <title>Resource Specifiers</title>
+    
+    <para>Resources are instantiated from specifications contained in XML Resource Specifiers.
+      These are described in the reference chapter on component descriptors.  A common 
+      <code>initialize</code> method that is part of UIMA framework classes that supports Resources, 
+      takes the <code>ResourceSpecifier</code> (the internal Java form of the XML resource specifier),
+      plus a key-value map of arbitrary additional parameters, and is responsible for configuring
+      the instance of the UIMA framework support class so that it can respond to subsequent method calls
+      to get an instance of the resource.
+      </para>
+      
+      <para>Note that this <code>initialize</code> method is different from the <code>initialze(uimaContext)</code> method
+         that is part of the API for AnalysisEngines.</para>
+  </section>
+  
+  <section id="ugr.ref.resources.sharing-across-pipelines">
+    <title>Sharing Resources, even across pipelines</title>
+    <titleabbrev>Sharing Resources</titleabbrev>
+    <para>UIMA applications run one or more UIMA Pipelines.  Each pipeline has a top-level Analysis Engine, which
+    may be an aggregation of many other Analysis Engine components.  The UIMA framework instantiates Annotator 
+    resources as specified to configure the pipelines.</para>
+    
+    <para>Sometimes, many identical pipelines are created (for example,
+    in order to exploit multi-core hardware by processing multiple CASes in parallel). In this case, the framework
+    would produce multiple instances of those Annotation resources; these are implemented as multiple instances
+    of the same Java class.</para>
+    
+    <para>Multiple resources in addition to the Annotators are set up and kept in a single instance of
+    the ResourceManager; this instance serves to allow sharing of 3 types of things across one or more pipelines.
+    These are: 
+    <itemizedlist>
+      <listitem>
+        <para>The UIMA Extension ClassLoader (if specified) - used to find the resources</para>
+        <para>The <code>External Resources</code></para>
+        <para>The CAS Pool</para>
+      </listitem>
+    </itemizedlist> </para>
+    
+    <para>In typical use, no existing ResourceManager used when creating a pipeline; this results in a new
+    ResourceManager being created and used for that pipeline.  However, in many cases, it may be advantageous to
+    share the same Resources across multiple pipelines; this is easily doable by passing a common instance of the
+    ResourceManager to the pipeline creation methods (using the additional parameters).</para>
+    
+    <para>For PEAR wrapper usage, a special extra version of an existing ResourceManager is created, called the
+    <code>ResourceManagerPearWrapper</code>, which keeps all the same resources, except that it has a separate
+    value for the UIMA Extension Classloader.  This is used to support the classpath isolation feature of PEARs.</para>
+  </section>
+  
+  <section id="ugr.ref.resources.lifecycles">
+    <title>Resource lifecycles</title>
+    <para>The lifecycle for resources includes several events.</para>
+
+    <figure id="ref.resource.fig.lifecycles">
+      <title>Resource Lifecycles</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata width="4in" format="PNG" fileref="&imgroot;res_resource_lifecycles.png"/>
+        </imageobject>
+        <textobject><phrase>Resource lifecycles</phrase>
+        </textobject>
+      </mediaobject>
+    </figure>
+
+    <para>Annotators are <code>instantiated</code> by the various flavors of <code>produceResource</code>, 
+    and their <code>initialize(UimaContext)</code>  method
+    is called.  
+    While the pipe line is running, each new CAS that arrives is passed in via the <code>process</code>
+    method. The UIMA Framework doesn't generate a <code>destroy</code> call on its own, because only the 
+    application code making use of the UIMA Framework knows when a pipeline is finished and can be destroyed.</para>
+    
+    <para>External Resources are instantiated as a side effect of running <code>produceResource</code>
+    to produce a pipeline. Instances of DataResource have their <code>load</code> method called during this time.
+    Instances of ConfigurableDataResource defer their call to <code>load</code> until a call is made to get the
+    resource - this call supplies a parameter, such as a language code, used to pick one of several inputs to 
+    load.</para>
+    
+    <para>CasPools are instantiated lazily, when a Cas is requested from the pipeline, or when a pool of a given
+    size needs to be set up for some pipeline configurations.  For instance, the MultiprocessingAnalysisEngine 
+    configuration sets up a pool with the size equal to the number of parallel pipelines being configured.</para>
+    
+    <para>(New as of UIMA 2.10.0) For both External Resources and the Cas Pool, <code>destroy</code> is not
+    generated internally by the UIMA framework, because it doesn't know when the application (which might be
+    sharing the ResourceManager's resources among multiple pipelines) is finished.  The application may 
+    call <code>destroy</code> on the ResourceManager instance, which will then forward this to the External Resources,
+    and the CAS Pool.</para>
+    
+  </section>   
+
+  <section id="ugr.ref.resources.ResourceManager-and-PEARs">
+    <title>ResourceManager and PEARs</title>
+    <para></para>
+
+    <section id="ugr.ref.resources.lifecycle-PEARs">
+      <title>Lifecycle for PEARs</title>
+      <para></para>
+    </section>
+  </section>
+  
+  <section id="ugr.ref.resources.external-resources">
+    <title></title>
+    <para></para>
+
+    <section id="ugr.ref.resources.external-resource-multiple-parameterized-instances">
+      <title>Multiple Parameterized Instances of a particular resource</title>
+      <para></para>
+    </section>
+    
+  </section>
+  
+  <section id="ugr.ref.resources.configuration">
+    <title>Resource Configuration</title>
+    <para></para>
+
+    <section id="ugr.ref.resources.external-resource-configuration">
+      <title>Configuration of External Resources</title>
+      <para></para>
+    </section>
+  </section>
+
+  <section id="ugr.ref.resources.cas-pools">
+    <title>CAS Pools</title>
+    <para></para>
+  </section>
+  
+</chapter>
\ No newline at end of file

Modified: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uima_v3_users_guide.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uima_v3_users_guide.xml?rev=1764970&r1=1764969&r2=1764970&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uima_v3_users_guide.xml (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uima_v3_users_guide.xml Fri Oct 14 22:02:36 2016
@@ -26,8 +26,9 @@ under the License.
   <toc/>
   
   <!-- xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="uv3.overview.xml"/-->
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="uv3.select.xml"/>
+  <!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="uv3.select.xml"/> -->
   <!-- xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="uv3.migrating_jcas.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="uv3.backwards_compatibility.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="uv3.performance.xml"/-->
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ref.resources.xml"/>
 </book>

Modified: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml?rev=1764970&r1=1764969&r2=1764970&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml Fri Oct 14 22:02:36 2016
@@ -28,7 +28,7 @@ under the License.
   <titleabbrev>Select framework</titleabbrev>
   
   <para>The <emphasis>select</emphasis> framework provides a concise way to work with
-  data stored in the CAS. It is integrated with the Java 8 <emphasis>stream</emphasis>
+  Feature Structure data stored in the CAS. It is integrated with the Java 8 <emphasis>stream</emphasis>
   framework, and provides additional capabilities supported by the underlying 
   UIMA framework, including the ability to move both forwards and backwards while iterating,
   moving to specific positions, and doing various kinds of specialized Annotation 
@@ -36,7 +36,7 @@ under the License.
   annotation, and the Sentences or Tokens within that).
   </para>
   
-  <para>There are 3 main parts:</para>
+  <para>There are 3 main parts to this framework:</para>
   
   <itemizedlist spacing="compact">
     <listitem>
@@ -93,70 +93,83 @@ under the License.
   <section id="uv3.select.sources">
     <title>Sources of Feature Structures</title>
     
-    <para>Feature Structures are kept in the CAS, and are accessed using UIMA Indexes.  There are separate sets of these
-    indexes per CAS view.  A common source is the Feature Structures belonging to a particular index, in a particular
-    CAS view.</para>
-    
-    <para>You can omit the index, in which case, the default is to start with all Feature Structures in a Cas View,
-    or, if the selection and ordering specifications require an AnnotationIndex, it defaults to that index.
-    There is a way to extend this to all Feature Structures in all views.</para>
+    <para>Feature Structures are kept in the CAS, and are accessed using UIMA Indexes.  
+    Feature Structures may, additionally, be kept in <code>FSArrays</code> and <code>FSLists</code>.
+    All three of these sources may be used with <code>select</code>.</para>
+    
+    <para>For CAS sources, there are separate sets of indexes per CAS view; a typical CAS source is    
+    the Feature Structures belonging to a particular index, in a particular
+    CAS view, perhaps filtered by UIMA Type.</para>
     
-    <para>If the index is omitted, Omitted index</para>
+    <para>You can omit the index; in that case, the default is 
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>all Feature Structures in a Cas View, or</para>
+      </listitem>
+      <listitem>
+        <para>(if the selection and ordering specifications require an AnnotationIndex), 
+        all Feature Structures in the view&apos;s AnnotationIndex.</para>
+      </listitem>
+    </itemizedlist></para>
+    
+    <para>You can extend any selection to be an aggregation over all the CAS views.</para>
     
     <para>A UIMA index is the usual source.  If a CAS is used, all Feature Structures that were added to the index in the
-  specified CAS view are used as the source.  The FSArray and FSList sources have more limited configurability,
-  because they are considered non-sorted, and therefore cannot be used for an operations which require a sorted order.</para>
+      specified CAS view are used as the source.  The FSArray and FSList sources have more limited configurability,
+      because they are considered non-sorted, and therefore cannot be used for an operations which require a sorted order.</para>
+      
     <para>There are 4 sources of Feature Structures supported:</para>
+
     <itemizedlist spacing="compact">
-    <listitem>
-      <para>a CAS view
-      </para>
-    </listitem>
-    <listitem>
-      <para>an Index over a CAS view
-      </para>
-    </listitem>
-    <listitem>
-      <para>Feature Structures in a UIMA FSArray instance
-      </para>
-    </listitem>
-    <listitem>
-      <para>Feature Structures in a UIMA FSList
-      </para>
-    </listitem>
-  </itemizedlist>
-  
-  <para>Each of these sources has a new API method, <code>select(...)</code>, which initiates the select specification.
-  The select method can take an optional  positional parameter, specifying the UIMA type to return.</para>
-  
-  <figure id="uv3.select.source_type">
-    <title>select method with type</title>
-    <mediaobject>
-      <imageobject>
-        <imagedata width="5.5in" format="PNG" fileref="&imgroot;select_source_type.png"/>
-      </imageobject>
-      <textobject><phrase>Sources have select method, which has optional type argument</phrase>
-      </textobject>
-    </mediaobject>
-  </figure>
-  
-  <para>A UIMA index is the usual source.  If a CAS is used, all Feature Structures that were added to the index in the
-  specified CAS view are used as the source.  The FSArray and FSList sources have more limited configurability,
-  because they are considered non-sorted, and therefore cannot be used for an operations which require a sorted order.</para>
-  
-  <para>
-  The optional type argument for <code>select(...)</code> specifies a UIMA type.  This restricts the Feature Structures
-  to just those of the specified type or any of its subtypes.  If omitted, if an index is used as a source, 
-  its type specification is used; otherwise the TOP type is used (meaning all types).</para>
-  
-  <para>Type specifications may be specified in multiple ways.  
-  The best practice, if you have a JCas cover class
-  defined for the type, is to use the form <code>MyJCasClass.class</code>.  This has the advantage of setting the 
-  expected generic type of the select to that Java type.
-  </para>
-  
-  <para>The type may also be specified by using the actual UIMA type instance (useful if not using the 
-  JCas), using a fully qualified type name as a string, or using the JCas class static <code>type</code> field.</para>
+	    <listitem>
+	      <para>a CAS view: all the FSs that were added to the indexes for this view (in arbitrary order)
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>an Index over a CAS view
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>Feature Structures in a UIMA FSArray instance
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>Feature Structures in a UIMA FSList
+	      </para>
+	    </listitem>
+	  </itemizedlist>
+	  
+	  <para>Each of these sources has a new API method, <code>select(...)</code>, which initiates the select specification.
+	  The select method can take an optional  positional parameter, specifying the UIMA type to return.</para>
+	  
+	  <figure id="uv3.select.source_type">
+	    <title>select method with type</title>
+	    <mediaobject>
+	      <imageobject>
+	        <imagedata width="5.5in" format="PNG" fileref="&imgroot;select_source_type.png"/>
+	      </imageobject>
+	      <textobject><phrase>Sources have select method, which has optional type argument</phrase>
+	      </textobject>
+	    </mediaobject>
+	  </figure>
+	  
+	  <para>A UIMA index is the usual source.  If a CAS is used, all Feature Structures that were added to the index in the
+	  specified CAS view are used as the source.  The FSArray and FSList sources have more limited configurability,
+	  because they are considered non-sorted, and therefore cannot be used for an operations which require a sorted order.</para>
+	  
+	  <para>
+	  The optional type argument for <code>select(...)</code> specifies a UIMA type.  This restricts the Feature Structures
+	  to just those of the specified type or any of its subtypes.  If omitted, if an index is used as a source, 
+	  its type specification is used; otherwise the TOP type is used (meaning all types).</para>
+	  
+	  <para>Type specifications may be specified in multiple ways.  
+	  The best practice, if you have a JCas cover class
+	  defined for the type, is to use the form <code>MyJCasClass.class</code>.  This has the advantage of setting the 
+	  expected generic type of the select to that Java type.
+	  </para>
+	  
+	  <para>The type may also be specified by using the actual UIMA type instance (useful if not using the 
+	  JCas), using a fully qualified type name as a string, or using the JCas class static <code>type</code> field.</para>
   
   <section id="uv3.select.sources.generics">
     <title>Sources and generic typing</title>
@@ -293,20 +306,10 @@ FSIterator&lt;Token&gt; token_iterator =
 			      <code>allViews()</code>.
 			      </para>
 			      
-			      <para>When this is specified, it acts in one of two ways:
-				      <itemizedlist spacing="compact">
-				        <listitem>
-				          <para>as an aggregation, in no particular order, of the underlying selections, each over a single CAS view.
+			      <para>When this is specified, it acts 
+				          as an aggregation, in no particular order, of the underlying selections, one per view in the CAS.
 				          Because of this implementation, the items in the selection may not be unique - that is a single
-				          Feature Structure may be in multiple views.</para>
-				        </listitem>
-	              <listitem>
-	                <para>(when no index is specified, and AnnotationIndex is not otherwise implied) a special selection
-	                of all Feature Structures in the CAS in any view, guaranteed to be distinct.  This means only one
-	                instance of a Feature Structure is included, even if it is indexed in multiple CAS views.
-	                </para>
-	              </listitem>
-				      </itemizedlist>
+				          Feature Structure may be in multiple views.
             </para>
           </listitem>
         </varlistentry>
@@ -668,12 +671,11 @@ startAt(begin, end, shifted) // same as
       Variations may throw exceptions on empty or more than one item situations.</para>
       
       <para>These have no-argument forms as well as argument forms identical to <code>startAt</code> (see above).
-      When arguments are specified, they server to adjust the item returned by positioning within the index 
+      When arguments are specified, they adjust the item returned by positioning within the index 
       according to the arguments.</para>
         
       <note>
-        <para>If the positioning arguments is other than a simple shift or omitted, then the
-        underlying index must be an AnnotationIndex.
+        <para>Positioning arguments with a Feature Structure or begin and end require an Annotation Index.
         </para>
       </note>
       

Modified: uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/image-source/source.pptx
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uima-docbook-v3-users-guide/src/image-source/source.pptx?rev=1764970&r1=1764969&r2=1764970&view=diff
==============================================================================
Binary files - no diff available.