La arquitectura LEGOLANGUAGE está inspirada en la estructura ANSI SPARC centrada en datos, estándar de los actuales sistemas de BDs. La arquitectura de LEGOLANGUAGE se basa en tres niveles: el nivel conceptual, el nivel lógico y el nivel físico. Estos niveles serán independientes, pudiendo sustituir cada uno de ellos por otros modelos, tecnologías o distintas aproximaciones.
En la Figura 1 se puede apreciar la estructura de niveles de LegoLang.
Figura 1: Estructura de niveles de la implementación de LEGOLANGUAGE¹
*EN CONSTRUCCION*
En el nivel conceptual se diseñan y se definen intelectualmente los procesos de TLH. El diseñador de una herramienta o proceso TLH usará el modelo conceptual LEGOLANGUAGE para documentar sus componentes fundamentales y hacer entender su funcionamiento a terceros. El modelo conceptual LEGOLANGUAGE se apoyará en una estructura lógica en la que se definirán los objetos del modelo. En este modelo existen tres tipos de objetos (ladrilllos L-BRICKS, herramientas L-TOOLS, y recursos L-RECS, así como las relaciones entre ellos.
qué tipo de información se almacenará en los ladrillos, que relaciones habrá entre ellos y qué operaciones se podrán hacer. Deberá haber una interfaz gráfica que permita construir estos L-BRICKS de forma visual. Además, estos ladrillos podrán ser compartidos a partir de una plataforma de compartición de ladrillos L-BRICK que permitirá que estructuras (a nivel conceptual) creadas por un investigador puedan ser reutilizadas por otros investigadores y desarrolladores en sus herramientas con LegoLang.
El nivel lógico es la traducción del diseño conceptual al esquema Fénix. Fénix es un formato de representación e intercambio de datos modular, escalable y diseñado para el intercambio de información entre herramientas desarrollado por GPLSI durante el proyecto Text-Mess2.0. Este sistema tiene la ventaja de que no es un estándar cerrado sino que se puede permitir nuevos esquemas a partir de nuevas herramientas. Esto lo hace ideal para implementar los ladrillos L-BRICK de LegoLang.
Finalmente, el nivel físico, nos permitirá acceder al API y herramientas de desarrollo con el que se manejarán los ladrillos L-BRICKS así como su modo de almacenamiento (XML, BD, ficheros de texto plano, etc.). Hay que destacar que este nivel será bidireccional, es decir, no sólo se aportará un API que acceda a la información, sino que a través del nivel conceptual y lógico, se crearán de forma automática nuevos wrappers para usar los nuevos L-BRICKS definidos de forma fácil e intuitiva, con el objetivo de abstraer al desarrollador de la complejidad de los esquemas Fénix para tratar con los ladrillos.
Tanto el nivel lógico como el nivel físico podrán ser sustituidos por otros equivalentes. Es decir, si el nivel físico se desarrolla en JAVA, se podrá cambiar este nivel por otro que tenga las mismas funciones en otro lenguaje de programación. Con respecto al nivel lógico, Fénix podrá ser reemplazado por otro formato de representación e intercambio de datos como pueda ser los utilizados en los sistemas GATE o UIMA.