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 2006/12/03 22:37:09 UTC

svn commit: r481918 [3/3] - in /incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/overview_and_setup: ./ images/ images/conceptual_overview_files/ images/eclipse_setup_files/

Added: incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/overview_and_setup/project_overview.xml
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/overview_and_setup/project_overview.xml?view=auto&rev=481918
==============================================================================
--- incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/overview_and_setup/project_overview.xml (added)
+++ incubator/uima/uimaj/trunk/uima-docbooks/src/docbook/overview_and_setup/project_overview.xml Sun Dec  3 13:37:07 2006
@@ -0,0 +1,802 @@
+<?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 % uimaents SYSTEM "../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.project_overview">
+  <!-- id="_crossRef356" -->
+  <!-- check: use of SDK -->
+  <title>Apache UIMA Project Overview</title>
+  
+  <para>The Unstructured Information Management Architecture (UIMA) is an architecture
+    and software framework for creating, discovering, composing and deploying a broad range
+    of multi-modal analysis capabilities and integrating them with search
+    technologies.</para>
+  
+  <para>The <emphasis>UIMA framework</emphasis> provides a run-time environment in which
+    developers can plug in and run their UIMA component implementations and with which they
+    can build and deploy UIM applications. The framework is not specific to any IDE or
+    platform.</para>
+  
+  <para>The <emphasis>UIMA Software Development Kit (SDK)</emphasis> includes an
+    all-Java implementation of the UIMA framework for the development, description,
+    composition and deployment of UIMA components and applications. It also provides the
+    developer with an Eclipse-based (<ulink url="http://www.eclipse.org/"/>)
+    development environment that includes a set of tools and utilities for using UIMA.
+    </para>
+  
+  <para>The <emphasis>Apache UIMA project</emphasis> also includes a C++ version of the
+    framework, and enablements for Annotators built in Perl, Python, and TCL.</para>
+  
+  <para>This chapter is the intended starting point for readers that are new to the Apache UIMA
+    Project. It includes this introduction and the following sections:</para>
+  
+  <itemizedlist>
+    <listitem>
+      <para> <xref linkend="ugr.project_overview_doc_overview"/> provides a list of the
+        chapters included in the UIMA SDK documentation with a brief summary of each. </para>
+    </listitem>
+    <listitem>
+      <para> <xref linkend="ugr.project_overview_doc_use"/> describes a recommended
+        path through the documentation to help get the reader up and running with UIMA </para>
+    </listitem>
+    <listitem>
+      <para> <xref linkend="ugr.project_overview_whats_new"/> </para>
+    </listitem>
+  </itemizedlist>
+  
+  <section id="ugr.project_overview_doc_overview">
+    <!-- _crossRef357 -->
+    <title>Apache UIMA Project Documentation Overview</title>
+    <para> The user documentation for UIMA is organized into several parts.
+      <itemizedlist>
+        <listitem>
+          <para> <xref linkend="ugr.project_overview_overview"/> - this documentation
+            </para>
+        </listitem>
+        <listitem>
+          <para> <xref linkend="ugr.project_overview_setup"/> </para>
+        </listitem>
+        <listitem>
+          <para> <xref linkend="ugr.project_overview_tutorials_dev_guides"/>
+            </para>
+        </listitem>
+        <listitem>
+          <para> <xref linkend="ugr.project_overview_tool_guides"/> </para>
+        </listitem>
+        <listitem>
+          <para> <xref linkend="ugr.project_overview_reference"/> </para>
+        </listitem>
+      </itemizedlist> </para>
+    
+    <section id="ugr.project_overview_overview">
+      <title>Overviews</title>
+      
+      <informaltable frame="all" rowsep="1" colsep="1">
+        <tgroup cols="2">
+          <colspec colnum="1" colname="col1" colwidth="1*"/>
+          <colspec colnum="2" colname="col2" colwidth="2.5*"/>
+          <tbody>
+            <row>
+              <entry><emphasis>Overview of the Documentation</emphasis></entry>
+              <entry><para>Lists the documents provided in the UIMA SDK documentation
+                set.</para>
+                <para>Provides a recommended path through the documentation for getting
+                  started using UIMA.</para>
+                <para>Includes release notes.</para>
+                <para>Provides a brief high-level description of the different software
+                  modules included in the UIMA SDK.</para></entry>
+            </row>
+            <row>
+              <entry><emphasis>Conceptual Overview</emphasis></entry>
+              <entry>Provides a broad conceptual overview of the UIMA component
+                architecture; includes references to the other documents in the
+                documentation set that provide more detail.</entry>
+            </row>
+            <row>
+              <entry><emphasis>UIMA FAQs</emphasis></entry>
+              <entry>Frequently Asked Questions about general UIMA concepts. (Not a
+                programming resource.)</entry>
+            </row>
+            <row>
+              <entry><emphasis>Glossary</emphasis></entry>
+              <entry>UIMA terms and concepts and their basic definitions.</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </section>
+    <section id="ugr.project_overview_setup">
+      <title>Eclipse Tooling Installation and Setup</title>
+      <para>Provides step-by-step instructions for installing the UIMA SDK in the Eclipse
+        Interactive Development Environment.</para>
+    </section>
+    
+    <section id="ugr.project_overview_tutorials_dev_guides">
+      <title>Tutorials and Developer&apos;s Guides</title>
+      <informaltable>
+        <tgroup cols="2">
+          <colspec colnum="1" colname="col1" colwidth="1*"/>
+          <colspec colnum="2" colname="col2" colwidth="2.5*"/>
+          <tbody>
+            <row id="ugr.project_overview_tutorial_annotator">
+              <entry><emphasis>Annotators and Analysis Engines</emphasis></entry>
+              <entry>Tutorial-style guide for building UIMA annotators and analysis
+                engines. This chapter introduces the developer to creating type systems
+                and using UIMA&apos;s common data structure, the CAS or Common Analysis
+                Structure. It demonstrates how to use built in tools to specify and create
+                basic UIMA analysis components.</entry>
+            </row>
+            <row id="ugr.project_overview_tutorial_cpe">
+              <entry><emphasis>Building UIMA Collection Processing
+                Engines</emphasis></entry>
+              <entry>Tutorial-style guide for building UIMA collection processing
+                engines. These manage the analysis of collections of documents from source
+                to sink.</entry>
+            </row>
+            <row id="ugr.project_overview_tutorial_application_development">
+              <entry><emphasis>Developing Complete Applications</emphasis></entry>
+              <entry>Tutorial-style guide on using the UIMA APIs to create, run and manage
+                UIMA components from your application. Also describes APIs for saving and
+                restoring the contents of a CAS using an XML format called <trademark
+                  class="registered"> XMI</trademark>.</entry>
+            </row>
+            <row id="ugr.project_overview_guide_flow_controller">
+              <entry><emphasis>Flow Controller</emphasis></entry>
+              <entry>When multiple components are combined in an Aggregate, each CAS flow
+                among the various components. UIMA provides two built-in flows, and also
+                allows custom flows to be implemented.</entry>
+            </row>
+            <row id="ugr.project_overview_guide_multiple_sofas">
+              <entry><emphasis>Developing Applications using Multiple Subjects of
+                Analysis</emphasis></entry>
+              <entry>A single CAS maybe associated with multiple subjects of analysis
+                (Sofas). These are useful for representing and analyzing different
+                formats or translations of the same document. For multi-modal analysis,
+                Sofas are good for different modal representations of the same stream
+                (e.g., audio and close-captions).This chapter provides the developer
+                details on how to use multiple Sofas in an application.</entry>
+            </row>
+            <row id="ugr.project_overview_guide_cas_multiplier">
+              <entry><emphasis>CAS Multiplier</emphasis></entry>
+              <entry>A component may add additional CASes into the workflow. This may be
+                useful to break up a large artifact into smaller units, or to create a new CAS
+                that collects information from multiple other CASes.</entry>
+            </row>
+            <row id="ugr.project_overview_xmi_emf">
+              <entry><emphasis>XMI and EMF Interoperability</emphasis></entry>
+              <entry>The UIMA Type system and the contents of the CAS itself can be
+                externalized using the XMI standard for XML MetaData. Eclipse Modeling
+                Framework (EMF) tooling can be used to develop applications that use this
+                information.</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </section>
+    
+    <section id="ugr.project_overview_tool_guides">
+      <title>Tools Users&apos; Guides</title>
+      
+      <informaltable>
+        <tgroup cols="2">
+          <colspec colnum="1" colname="col1" colwidth="1*"/>
+          <colspec colnum="2" colname="col2" colwidth="2.5*"/>
+          <tbody>
+            <row id="ugr.project_overview_tools_component_descriptor_editor">
+              <entry><emphasis>Component Descriptor Editor</emphasis></entry>
+              <entry>Describes the features of the Component Descriptor Editor Tool. This
+                tool provides a GUI for specifying the details of UIMA component
+                descriptors, including those for Analysis Engines (primitive and
+                aggregate), Collection Readers, CAS Consumers and Type Systems.</entry>
+            </row>
+            <row id="ugr.project_overview_tools_cpe_configurator">
+              <entry><emphasis>Collection Processing Engine Configurator</emphasis>
+                </entry>
+              <entry>Describes the User Interfaces and features of the CPE Configurator
+                tool. This tool allows the user to select and configure the components of a
+                Collection Processing Engine and then to run the engine.</entry>
+            </row>
+            <row id="ugr.project_overview_tools_pear_packager">
+              <entry><emphasis>Pear Packager</emphasis></entry>
+              <entry>Describes how to use the PEAR Packager utility. This utility enables
+                developers to produce an archive file for an analysis engine that includes
+                all required resources for installing that analysis engine in another UIMA
+                environment.</entry>
+            </row>
+            <row id="ugr.project_overview_tools_pear_installer">
+              <entry><emphasis>Pear Installer</emphasis></entry>
+              <entry>Describes how to use the PEAR Installer utility. This utility
+                installs and verifies an analysis engine from an archive file (PEAR) with
+                all its resources in the right place so it is ready to run.</entry>
+            </row>
+            <row id="ugr.project_overview_tools_pear_merger">
+              <entry><emphasis>Pear Merger</emphasis></entry>
+              <entry>Describes how to use the Pear Merger utility, which does a simple merge
+                of multiple PEAR packages into one.</entry>
+            </row>
+            <row id="ugr.project_overview_tools_document_analyzer">
+              <entry><emphasis>Document Analyzer</emphasis></entry>
+              <entry>Describes the features of a tool for applying a UIMA analysis engine to
+                a set of documents and viewing the results.</entry>
+            </row>
+            <row id="ugr.project_overview_tools_cas_visual_debugger">
+              <entry><emphasis>CAS Visual Debugger</emphasis></entry>
+              <entry>Describes the features of a tool for viewing the detailed structure
+                and contents of a CAS. Good for debugging.</entry>
+            </row>
+            <row id="ugr.project_overview_tools_jcasgen">
+              <entry><emphasis>JCasGen</emphasis></entry>
+              <entry>Describes how to run the JCasGen utility, which automatically builds
+                Java classes that correspond to a particular CAS Type System.</entry>
+            </row>
+            <row id="ugr.project_overview_tools_xml_cas_viewer">
+              <entry><emphasis>XML CAS Viewer</emphasis></entry>
+              <entry>Describes how to run the supplied viewer to view externalized XML
+                forms of CASes. This viewier is used in the examples.</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </section>
+    
+    <section id="ugr.project_overview_reference">
+      <title>References</title>
+      <informaltable>
+        <tgroup cols="2">
+          <colspec colnum="1" colname="col1" colwidth="1*"/>
+          <colspec colnum="2" colname="col2" colwidth="2.5*"/>
+          <tbody>
+            <row id="ugr.project_overview_xml_ref_component_descriptor">
+              <entry><emphasis>XML: Component Descriptor</emphasis></entry>
+              <entry>Provides detailed XML format for all the UIMA component descriptors,
+                except the CPE (see next)</entry>
+            </row>
+            <row
+              id="ugr.project_overview_xml_ref_collection_processing_engine_descriptor">
+              <entry><emphasis>XML: Collection Processing Engine
+                Descriptor</emphasis></entry>
+              <entry>Provides detailed XML format for the Collection Processing Engine
+                descriptor.</entry>
+            </row>
+            <row id="ugr.project_overview_javadocs">
+              <entry><emphasis>Introduction to the UIMA API JavaDocs</emphasis>
+                </entry>
+              <entry>JavaDocs detailing the UIMA programming interfaces</entry>
+            </row>
+            <row id="ugr.project_overview_cas">
+              <entry><emphasis>CAS</emphasis></entry>
+              <entry>Provides detailed description of the principal CAS
+                interface.</entry>
+            </row>
+            <row id="ugr.project_overview_jcas">
+              <entry><emphasis>JCas</emphasis></entry>
+              <entry>Provides details on the JCas, a native Java interface to the
+                CAS.</entry>
+            </row>
+            <row id="ugr.project_overview_ref_pear">
+              <entry><emphasis>PEAR Reference</emphasis></entry>
+              <entry>Provides detailed description of the deployable archive format for
+                UIMA components.</entry>
+            </row>
+            <row id="ugr.project_overview_xmi_cas_serialization">
+              <entry><emphasis>XMI CAS Serialization Reference</emphasis></entry>
+              <entry>Provides detailed description of the deployable archive format for
+                UIMA components.</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </section>
+  </section>
+  
+  <section id="ugr.project_overview_doc_use">
+    <!-- _crossRef358 -->
+    <title>Using the Documentation to get started with the UIMA SDK</title>
+    <orderedlist>
+      <listitem>
+        <para>Explore this chapter to get an overview of the different documents that are
+          included with the SDK.</para>
+      </listitem>
+      <listitem>
+        <para> Read <olink targetdoc="uima_docs_overview"
+            targetptr="ugr.conceptual_overview"/> to get a broad view of the basic UIMA
+          concepts and philosophy with reference to the other documents included in the
+          documentation set which provide greater detail. </para>
+      </listitem>
+      <listitem>
+        <para> For more general information on the UIMA architecture and how it has been used,
+          refer to the IBM Systems Journal special issue on Unstructured Information
+          Management, on-line at <ulink
+            url="http://www.research.ibm.com/journal/sj43-3.html"/> or to the
+          section of the UIMA project website on Apache website where other publications are
+          listed. </para>
+      </listitem>
+      <listitem>
+        <para> Set up the UIMA SDK in your Eclipse environment. To do this, follow the
+          instructions in <xref linkend="ugr.project_overview_setup"/>. </para>
+      </listitem>
+      <listitem>
+        <para> Develop sample UIMA annotators, run them and explore the results. Read <olink
+            targetdoc="uima_docs_tutorial_guides"
+            targetptr="annotators_and_analysis_engines"/> and follow it like a
+          tutorial to learn how to develop your first UIMA annotator and set up and run your
+          first UIMA analysis engines.
+          <itemizedlist>
+            <listitem>
+              <para> As part of this you will use a few tools including
+                <itemizedlist>
+                  <listitem>
+                    <para> The UIMA Component Descriptor Editor, described in more detail
+                      in <olink targetdoc="uima_docs_tools"
+                        targetptr="cde_chapter"/> and </para>
+                  </listitem>
+                  <listitem>
+                    <para> The Document Analyzer, described in more detail in <olink
+                        targetdoc="uima_docs_tools"
+                        targetptr="document_analyzer_chapter"/>. </para>
+                  </listitem>
+                  
+                </itemizedlist> </para>
+              
+            </listitem>
+            <listitem>
+              <para>While following along in <olink
+                  targetdoc="uima_docs_tutorial_guides"
+                  targetptr="annotators_and_analysis_engines_chapter"/>,
+                reference documents that may help are:
+                <itemizedlist>
+                  <listitem>
+                    <para> <olink targetdoc="uima_docs_ref"
+                        targetptr="ref_ae_descriptors_chapter"/> for understanding
+                      the analysis engine descriptors </para>
+                  </listitem>
+                  <listitem>
+                    <para> <olink targetdoc="uima_docs_ref"
+                        targetptr="ref_jcas_chapter"/> for understanding the JCas
+                      </para>
+                  </listitem>
+                </itemizedlist> </para>
+            </listitem>
+          </itemizedlist> </para>
+      </listitem>
+      <listitem>
+        <para> Learn how to create, run and manage a UIMA analysis engine as part of an
+          application. <phrase condition="juru">Connect your analysis engine to the
+          provided semantic search engine to learn how a complete analysis and search
+          application may be built with the UIMA SDK.</phrase> <olink
+            targetdoc="uima_docs_tutorial_guides"
+            targetptr="application_dev_chapter"/> will guide you through this process.
+          <itemizedlist>
+            <listitem>
+              <para> As part of this you will use the document analyzer (described in more
+                detail in <olink targetdoc="uima_docs_tools"
+                  targetptr="document_analyzer_chapter"/> <phrase
+                  condition="juru">and semantic search GUI tools (see <olink
+                  targetdoc="uima_docs_tutorial_guides"
+                  targetptr="search_query_tool"/></phrase>. </para>
+            </listitem>
+          </itemizedlist> </para>
+      </listitem>
+      <listitem>
+        <para> Pat yourself on the back. Congratulations! If you reached this step
+          successfully, then you have an appreciation for the UIMA analysis engine
+          architecture. You would have built a few sample annotators, deployed UIMA
+          analysis engines to analyze a few documents, searched over the results using the
+          built-in semantic search engine and viewed the results through a built-in viewer
+          &ndash; all as part of a simple but complete application. </para>
+      </listitem>
+      <listitem>
+        <para> Develop and run a Collection Processing Engine (CPE) to analyze and gather the
+          results of an entire collection of documents. <olink
+            targetdoc="uima_docs_tutorial_guides" targetptr="cpe_chapter"/> will
+          guide you through this process.
+          <itemizedlist>
+            <listitem>
+              <para> As part of this you will use the CPE Configurator tool. For details see
+                  <olink targetdoc="uima_docs_tools"
+                  targetptr="cpe_configurator_chapter"/>. </para>
+            </listitem>
+            <listitem>
+              <para> You will also learn about CPE Descriptors. The detailed format for
+                these may be found in <olink targetdoc="uima_docs_ref"
+                  targetptr="cpe_chapter"/>. </para>
+            </listitem>
+          </itemizedlist> </para>
+      </listitem>
+      <listitem>
+        <para> Learn how to package up an analysis engine for easy installation into another
+          UIMA environment. <olink targetdoc="uima_docs_tools"
+            targetptr="pear_packager_chapter"/> and <olink
+            targetdoc="uima_docs_tools" targetptr="pear_installer_chapter"/> will
+          teach you how to create UIMA analysis engine archives so that you can easily share
+          your components with a broader community. </para>
+      </listitem>
+    </orderedlist>
+  </section>
+  
+  <section id="ugr.project_overview_whats_new">
+    <title>What's new in Apache UIMA Version 2.0</title>
+    <para>Version 2.0 provide new capabilities and refines several areas of the UIMA
+      architecture, as compared with version 1. The Apache UIMA also changes the namespace of
+      the UIMA components to start with the prefix org.apache. This change requires that all
+      user code written to previous APIs be updated to reflect this new namespace, and
+      recompiled. </para>
+    
+    <section id="ugr.project_overview_new_capabilities">
+      <title>New Capabilities</title>
+      <section id="ugr.project_overview_new_data_types">
+        <title>New Primitive data types</title>
+        <para>UIMA now supports Boolean (bit), Byte, Short (16 bit integers), Long (64 bit
+          integers), and Double (64 bit floating point) primitive types, and arrays of
+          these. These types can be used like all the other primitive types.</para>
+      </section>
+      <section>
+        <title>Simpler Analysis Engines and CASes</title>
+        <para>Version 1.x made a distinction between Analysis Engines and Text Analysis
+          Engines. This distinction has been eliminated in Version 2 - new code should just
+          refer to Analysis Engines. Analysis Engines can operate on multiple kinds of
+          artifacts, including text.</para>
+        
+        <para>Version 1.x made a distinction between CASes and TCASes. TCAS are now
+          deprecated; new code should just refer to CASes. The JCas capability to have a
+          Java-friendly way to work with CAS types remains; we clarify that the JCas is just
+          (one of potentially several) interfaces to the CAS.</para>
+      </section>
+      <section>
+        <title>Sofas and CAS Views simplified</title>
+        <para>The APIs for manipulating multiple subjects of analysis (Sofas) and their
+          corresponding CAS Views have been simplified.</para>
+      </section>
+      <section>
+        <title>Analysis Component generalized to support multiple new CAS
+          outputs</title>
+        <para>Analysis Components, in general, can make use of new capabilities to return
+          multiple new CASes, in addition to returning the original CAS that is passed in.
+          This allows components to have Collection Reader-like capabilities, but be
+          placed anywhere in the flow. See <olink targetdoc="uima_docs_tutorial_guides"
+            targetptr="cas_multiplier_chapter"/>.</para>
+      </section>
+      <section>
+        <title>User-customized Flow Controllers</title>
+        <para>A new component, the Flow Controller, can be supplied by the user to implement
+          arbitrary flow control for CASes within an Aggregate. This is in addition to the two
+          built-in flow control choices of linear and language-capability flow. See <olink
+            targetdoc="uima_docs_tutoria_guilds"
+            targetptr="flow_controller_chapter"/>.</para>
+      </section>
+      <section>
+        <title>Search Engine</title>
+        <para>The versions of the UIMA SDK prior to the move into Apache came with a semantic
+          search engine. The Apache version does not include this search engine. The intent
+          is to hook up (over time) with the Lucene search engine project in Apache.</para>
+      </section>
+    </section>
+    <section id="ugr.project_overview_backwards_compatibility">
+      <title>Backwards Compatibility</title>
+      <para>Applications and components must update references to UIMA APIs to reflect the
+        change in namespace to "org.apache.". Because of this, backwards compatibility is
+        not maintained.</para>
+      <para>However, other than this and the exceptions following, applications and
+        components should not need other changes because of version 2.0 Here are the
+        exceptions, the non-compatible changes:
+        <itemizedlist>
+          <listitem>
+            <para> There have been some changes to ResultSpecifications. We do not
+              guarantee 100% backwards compatibility for applications that made use of
+              them, although most cases should work. </para>
+          </listitem>
+          <listitem>
+            <para> For applications that deal with multiple subjects of analysis (Sofas),
+              the rules that determine whether a component is Multi-View or Single-View
+              have been made more consistent. A component is considered Multi-View if and
+              only if it declares at least one inputSofa or outputSofa in its descriptor.
+              This leads to the following incompatibilities in unusual cases:
+              <itemizedlist>
+                <listitem>
+                  <para> It is an error if an annotator that implements the TextAnnotator or
+                    JTextAnnotator interface also declares inputSofas or outputSofas in
+                    its descriptor. Such annotators must be Single-View. </para>
+                </listitem>
+                <listitem>
+                  <para> </para>
+                </listitem>
+              </itemizedlist> </para>
+          </listitem>
+          <listitem>
+            <para> Annotators that implement GenericAnnotator but do not declare any
+              inputSofas or outputSofas will now be passed the view of default Sofa instead
+              of the Base CAS. </para>
+          </listitem>
+        </itemizedlist> </para>
+      
+    </section>
+    <section>
+      <title>Other Changes</title>
+      <para>TextAnalysisEngine has been deprecated - it is now no different than
+        AnalysisEngine. Previous code that uses this should still continue to work,
+        however.</para>
+      
+      <para>Methods that were defined on the TCAS interface have been moved to the base CAS
+        interface; the TCAS interface is no longer needed.</para>
+      
+      <para>The DocumentAnalyzer tool saves outputs in the new XMI serialization format.
+        The XCasAnnotationViewer and SemanticSearchGUI tools can read both the new XMI
+        format and the previous XCAS format.</para>
+      
+    </section>
+  </section>
+  <section id="ugr.project_overview_summary">
+    <title>Apache UIMA SDK Summary</title>
+    <section>
+      <title>General</title>
+      <para>The UIMA SDK supports the development, discovery, composition and deployment
+        of multi-modal analytics for the analysis of unstructured information and its
+        integration with search technologies.</para>
+      
+      <para>It includes APIs and tools for creating analysis components. Examples of
+        analysis components include tokenizers, summarizers, categorizers, parsers,
+        named-entity detectors etc. Tutorial examples are provided with the SDK;
+        additional components are available from the community. </para>
+      
+      <para condition="juru">The UIMA SDK also includes a semantic search engine for
+        indexing the results of analysis and for using this semantic index to perform more
+        advanced search. </para>
+    </section>
+    <section>
+      <title>Programming Language Support</title>
+      <para>UIMA supports the development and integration of analysis algorithms
+        developed in different programming languages. </para>
+      
+      <para><phrase condition="precpp">The Apache UIMA project is initially a Java
+        framework. In the next several months we plan to bring into the project the C++
+        enablement component, which will enable annotators written in C++ to run together
+        with Java based components. The C++ enablement layer also enables annotators to be
+        written in Perl, Python, and TCL, and to interoperate with those written in other
+        languages. </phrase> <phrase condition="postcpp">The Apache UIMA project is both
+        a Java framework and a matching C++ enablement layer, which allows annotators to be
+        written in C++ and have access to a C++ version of the CAS. The C++ enablement layer also
+        enables annotators to be written in Perl, Python, and TCL, and to interoperate with
+        those written in other languages. Documentation for this is provided here (link to be
+        filled in).</phrase></para>
+      
+    </section>
+    <section>
+      <title>Multi-Modal Support</title>
+      <para>The UIMA architecture supports the development, discovery, composition and
+        deployment of multi-modal analytics, including text, audio and video. <olink
+          targetdoc="uima_docs_tutorial_guides"
+          targetptr="sofa_chapter_annotations_artifacts"/> discuss this is more
+        detail.</para>
+    </section>
+    <section>
+      <title>Semantic Search Components</title>
+      <para> The Lucene search engine as of this writing (November, 2006) does not support
+        searching with annotations. <phrase
+          condition="juru_apache_pkg_on_alphaworks_ready">The site <ulink
+          url="http://www.alphaworks.ibm.com/tech/uima"/> provides a download of a
+        semantic search engine, a simple demo query tool, some documentation on the semantic
+        search engine, and a component that connects the results of UIMA analysis to the
+        indexer so that the annotations as well as key-words can be indexed.</phrase>
+        </para>
+      
+      <para>Previous versions of the UIMA SDK (prior to the Apache versions) are available
+        from IBM's alphaWorks (<ulink
+          url="http://www.alphaworks.ibm.com/tech/uima"/>). The source code for
+        previous versions of the main UIMA framework is available on SourceForge (<ulink
+          url="http://uima-framework.sourceforge.net/"/>).</para>
+      
+    </section>
+  </section>
+  
+  <section id="ugr.project_overview_summary_sdk_capabilities">
+    <title>Summary of UIMA SDK Capabilities</title>
+    <informaltable frame="all" rowsep="1" colsep="1">
+      <tgroup cols="2">
+        <colspec colnum="1" colname="col1" colwidth=".75*"/>
+        <colspec colnum="2" colname="col2" colwidth="*"/>
+        <tbody>
+          <row>
+            <entry role="tableSubhead">Module</entry>
+            <entry role="tableSubhead">Description</entry>
+          </row>
+          <row>
+            <entry>UIMA Framework Core</entry>
+            <entry><para>A framework integrating core functions for creating,
+              deploying, running and managing UIMA components, including analysis
+              engines and Collection Processing Engines in collocated and/or distributed
+              configurations. </para>
+              
+              <para>The framework includes an implementation of core components for
+                transport layer adaptation, CAS management, workflow management based on
+                declarative specifications, resource management, configuration
+                management, logging, and other functions.</para></entry>
+          </row>
+          <row>
+            <entry>C++ and other programming language Interoperability</entry>
+            
+            <entry>
+              <para>Includes C++ CAS and supports the creation of UIMA compliant C++
+                components that can be deployed in the UIMA run-time through a built-in JNI
+                adapter. This includes high-speed binary serialization.</para>
+              
+              <para>Includes support for creating service-based UIMA engines outside of
+                SDK. This is ideal for wrapping existing code written in different
+                languages.</para>
+            </entry>
+          </row>
+          <row>
+            <entry role="tableSubhead">Framework Services and APIs</entry>
+            <entry role="tableSubhead">Note that interfaces of these components are available to the developer
+              but different implementations are possible in different implementations of
+              the UIMA framework.</entry>
+          </row>
+          <row>
+            <entry>CAS</entry>
+            <entry>These classes provide the developer with typed access to the Common
+              Analysis Structure (CAS), including type system schema, elements, subjects
+              of analysis and indices. Multiple subjects of analysis (Sofas) mechanism
+              supports the independent or simultaneous analysis of multiple views of the
+              same artifacts (e.g. documents), supporting multi-lingual and multi-modal
+              analysis.</entry>
+          </row>
+          <row>
+            <entry>JCas</entry>
+            <entry>An alternative interface to the CAS, providing Java-based UIMA
+           Analysis components with native Java object access to CAS types and their
+            attributes or features, using the JavaBeansconventions of getters and setters.</entry>
+          </row>
+
+          <row>
+            <entry>Collection Processing Management (CPM)</entry>
+            <entry>Core functions for running UIMA collection processing engines in
+              collocated and/or distributed configurations. The CPM provides
+              scalability across parallel processing pipelines, check-pointing,
+              performance monitoring and recoverability.</entry>
+          </row>
+          <row>
+            <entry>Resource Manager</entry>
+            <entry>Provides UIMA components with run-time access to external resources
+              handling capabilities such as resource naming, sharing, and caching.
+            </entry>
+          </row>
+          <row>
+            <entry>Configuration Manager</entry>
+            <entry>Provides UIMA components with run-time access to their configuration
+              parameter settings.
+            </entry>
+          </row>
+          <row>
+            <entry>Logger</entry>
+            <entry>Provides access to a common logging facility.</entry>
+          </row>
+          <row>
+            <entry namest="col1" nameend="col2" align="center"  role="tableSubhead"> Tools and Utilities
+            </entry>
+          </row>
+          <row>
+            <entry>JCasGen</entry>
+            <entry>Utility for generating a Java object model for CAS types from a UIMA XML
+              type system definition.</entry>
+          </row>
+          <row>
+            <entry>Saving and Restoring CAS contents</entry>
+            <entry>APIs in the core framework support saving and restoring the contents of a
+              CAS to streams using an XMI format.
+            </entry>
+          </row>
+          <row>
+            <entry>PEAR Packager for Eclipse</entry>
+            <entry>Tool for building a UIMA component archive to facilitate porting,
+              registering, installing and testing components.</entry>
+          </row>
+          <row>
+            <entry>PEAR Installer</entry>
+            <entry>Tool for installing and verifying a UIMA component archive in a UIMA
+              installation.</entry>
+          </row>
+          <row>
+            <entry>PEAR Merger</entry>
+            <entry>Utility that combines multiple PEARs into one.</entry>
+          </row>
+          <row>
+            <entry>Component Descriptor Editor</entry>
+            <entry>Eclipse Plug-in for specifying and configuring component descriptors
+              for UIMA analysis engines as well as other UIMA component types including
+              Collection Readers and CAS Consumers.</entry>
+          </row>
+          <row>
+            <entry>CPE Configurator</entry>
+            <entry>Graphical tool for configuring Collection Processing Engines and
+              applying them to collections of documents.</entry>
+          </row>
+          <row>
+            <entry>Java Annotation Viewer</entry>
+            <entry>Viewer for exploring annotations and related CAS data.</entry>
+          </row>
+          <row>
+            <entry>CAS Visual Debugger</entry>
+            <entry>GUI Java application that provides developers with detailed visual
+              view of the contents of a CAS.</entry>
+          </row>
+          <row>
+            <entry>Document Analyzer</entry>
+            <entry>GUI Java application that applies analysis engines to sets of documents
+              and shows results in a viewer.</entry>
+          </row>
+          <row>
+            <entry namest="col1" nameend="col2" align="center"  role="tableSubhead"> Example Analysis
+              Components
+            </entry>
+          </row>
+          <row>
+            <entry>Database Writer</entry>
+            <entry>CAS Consumer that writes the content of selected CAS types into a
+              relational database, using JDBC. This code is in
+              cpe/PersonTitleDBWriterCasConsumer.
+            </entry>
+          </row>
+          <row>
+            <entry>Annotators</entry>
+            <entry> Set of simple annotators meant for pedagogical purposes. Includes:
+              Date/time, Room-number, Regular expression, Tokenizer, and
+              Meeting-finder annotator. There are also sample wrappers for annotators
+              obtainable from <ulink url="opennlp.org"></ulink>. There are sample CAS
+              Multipliers as well.
+            </entry>
+          </row>
+          <row>
+            <entry>Flow Controllers</entry>
+            <entry> There is a sample flow-controller based on the whiteboard concept of
+              sending the CAS to whatever annotator hasn't yet processed it, when that
+              annotator's inputs are available in the CAS.
+            </entry>
+          </row>
+          <row>
+            <entry>XMI Collection Reader, CAS Consumer</entry>
+            <entry>Reads and writes the CAS in the XMI format</entry>
+          </row>
+          
+          <row>
+            <entry>File System Collection Reader</entry>
+            <entry> Simple Collection Reader for pulling documents from the file system and
+              initializing CASes.
+            </entry>
+          </row>
+          <row>
+            <entry namest="col1" nameend="col2" align="center" role="tableSubhead"> Components available
+              from <ulink url="www.alphaworks.ibm.com/tech/uima"></ulink>
+            </entry>
+          </row>
+          <row>
+            <entry>Semantic Search CAS Indexer</entry>
+            <entry>A CAS Consumer that uses the semantic search engine indexer to build an
+              index from a stream of CASes. Requires the semantic search engine (available
+              from the same place).
+            </entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+  </section>
+  
+</chapter>
\ No newline at end of file