blob: f17b96f32d2eefccbaed255dcb3506a9665d150e [file] [log] [blame]
#######
SUMMARY
#######
uimaFIT is a library that provides factories, injection, and testing utilities for UIMA. The following list
highlights some of the features uimaFIT provides:
* Factories: simplify instantiating UIMA components programmatically without descriptor files.
For example, to instantiate an AnalysisEngine a call like this could be made:
AnalysisEngineFactory.createPrimitive(MyAEImpl.class, myTypeSystem, paramName, paramValue)
* Injection: handles the binding of configuration parameter values to the corresponding member variables
in the analysis engines and handles the binding of external resources. For example, to bind a configuration
parameter just annotate a member variable with @ConfigurationParameter. Then add one line of code to
your initialize method - ConfigurationParameterInitializer.initialize(this, uimaContext). This is handled
automatically if you extend the uimaFIT JCasAnnotator_ImplBase class.
* Testing: uimaFIT simplifies testing in a number of ways described in the documentation. By making it
easy to instantiate your components without descriptor files a large amount of difficult-to-maintain and
unnecessary XML can be eliminated from your test code. This makes tests easier to write and maintain.
Also, running components as a pipeline can be accomplished with a method call like this:
SimplePipeline.runPipeline(reader, ae1, ..., aeN, consumer1, ... consumerN)
uimaFIT requires Java 1.5 or higher and UIMA 2.4.0 or higher.
############
AVAILABILITY
############
uimaFIT is licensed with Apache Software License 2.0 and is available from Google Code at:
http://uimafit.googlecode.com
http://code.google.com/p/uimafit/wiki/Documentation
uimaFIT is available via Maven Central. If you use maven for your build environment, then you can add uimaFIT
as a dependency to your pom.xml file with the following:
<dependency>
<groupId>org.uimafit</groupId>
<artifactId>uimafit</artifactId>
<version>1.4.0</version>
</dependency>
#########
Reference
#########
If you use uimaFIT to support academic research, then please cite the following paper as appropriate:
@InProceedings{ogren-bethard:2009:SETQA-NLP,
author = {Ogren, Philip and Bethard, Steven},
title = {Building Test Suites for {UIMA} Components},
booktitle = {Proceedings of the Workshop on Software Engineering, Testing, and Quality Assurance for Natural Language Processing (SETQA-NLP 2009)},
month = {June},
year = {2009},
address = {Boulder, Colorado},
publisher = {Association for Computational Linguistics},
pages = {1--4},
url = {http://www.aclweb.org/anthology/W/W09/W09-1501}
}
########
ABOUT US
########
uimaFIT is a collaborative effort between the Center for Computational Pharmacology at the University of
Colorado Denver, the Center for Computational Language and Education Research at the University of
Colorado at Boulder, and the Ubiquitous Knowledge Processing (UKP) Lab at the Technische Universität
Darmstadt. uimaFIT is extensively used by projects being developed by these groups.
The uimaFIT development team is:
Philip Ogren, University of Colorado, USA
Richard Eckart de Castilho, Technische Universität Darmstadt, Germany
Steven Bethard, Stanford University, USA
with contributions from Niklas Jakob, Fabio Mancinelli, Chris Roeder, Philipp Wetzler, Shuo Yang,
Torsten Zesch.
#######
SUPPORT
#######
Please address questions to uimafit-users@googlegroups.com.
#####
Misc.
#####
uimaFIT was formerly known as UUTUC.