The motivation behind the development of Ellogon (which started in 1998) was the inadequacy of existing platforms to support, at that time, some essential properties, such as the ability to
- support a wide range of languages through Unicode,
- function under all major operating systems,
- have as few hardware requirements as possible in terms of processing speed and memory usage,
- be based on an embeddable - decomposable architecture that enables parts to be embedded in other systems and
- provide an extensible, easy to use and powerful user interface.
Ellogon in its present form satisfies all of these requirements. As Ellogon is based on the TIPSTER architecture, it shares many basic properties with other TIPSTER-based infrastructures like GATE. However, Ellogon offers several important features that differentiate it from similar infrastructures:
- Easy Component Development
It is fairly easy to understand the process of developing new components and develop them using the functionalities provided by Ellogon. Additionally, a wide range of programming languages for component development are supported, including C, C++, Java, Tcl, Perl and Python.
- Integrated Development Environment
Ellogon operates as an integrated development environment, as it provides complete support to the development cycle of a component. Components can be created, edited, compiled and linked (whether applicable) from inside Ellogon. Furthermore, C/C++/Java components can be unloaded, modified, compiled and reloaded into Ellogon without having to quit from Ellogon. The ability to unload or reload all components is essential as it can significantly reduce development cycle, since component modifications can be immediately evaluated.
- A ready to use component "toolbox"
Ellogon is equipped with a large number of ready-to-use tools for performing tasks like annotated corpora creation, vector generation or data comparison. Additionally, several sample components are provided that can be adapted to various domains and languages, which perform some basic tasks like tokenization, part-of-speech tagging or gazetteer list lookup. Finally, Ellogon offers several data visualisation tools, ranging from simple viewers for the annotation database to viewers able to display hierarchical information, like syntax trees.
- Easy deployment
As Ellogon implements a decomposable architecture, it is extremely easy to create an easy to use product from a set of components that perform a specific task. All the components along with the needed Ellogon parts can be packaged either in a single executable (which needs no installation) or as an application (which can be ran unmodified under multiple operating systems). These specialised applications can be distributed and used in any system, even if Ellogon has not been installed to the system.