La plataforma de programación Visual Tersus es una plataforma de desarrollo de software que permite el desarrollo de aplicaciones, principalmente aplicaciones web, dibujando diagramas en vez de código escrito.
El lenguaje de modelado Tersus es un lenguaje visual para definir la interfaz de usuario, el comportamiento en el lado del cliente y los procesos del servidor. Este lenguaje comparte varias características de los lenguajes de programación de flujo de datos(Dataflow Programming en inglés).
Cuando es utilizado en desarrollo web, Tersus puede ser clasificado como un Cliente + Servidor (utilizando las técnicas de AJAX).
El Tersus Studio es un entorno de desarrollo integrado, (del inglés IDE) una extensión de la plataforma Eclipse, usado por desarrolladores (modeladores) para definir gráficamente la funcionalidad de las aplicaciones.
Las aplicaciones modeladas son ejecutadas por el Servidor Tersus.
La plataforma contiene también una capacidad de depuración visual. El servidor de Tersus puede registrar cada paso durante la ejecución de la aplicación, y esta grabación ("huella"), puede ser reproducida por el Tersus Studio para ver el flujo de la aplicación y el valor de cada elemento de dato.
Tanto el Studio como el Servidor están disponibles en una variedad de plataformas, que incluyen Microsoft Windows, UNIX, Linux, y Mac OS X. La última versión estable de Tersus es la versión 2.1.8.2, lanzada en mayo de 2012.
Una aplicación se define por una jerarquía de modelos visuales, donde los modelos de alto nivel se componen de componentes de nivel inferior. El desarrollador (modelador), empleando un "tablero de dibujo infinito" que muestra gráficamente toda la jerarquía del modelo, comienza en un diagrama de nivel superior que representan todo el sistema, y luego continúa con un proceso iterativo de refinamiento (top-down), ingresando dentro de cada modelo para especificar sus componentes. En el nivel inferior es utilizada una biblioteca de componentes atómicos, que incluye, entre otros, los tipos de datos, elementos de interfaz gráfica de usuario, funciones matemáticas, las acciones de base de datos, y las acciones de manipulación de documentos.
Procesos (y en algunos casos también elementos de visualización) pueden recibir y enviar datos a través de entradas "slots" ( "triggers") y ranuras de salida ("exits"). El flujo de datos entre procesos, así como la secuencia de los procesos, se rige por los "flujos" (visualmente representados como flechas que conectan los elementos del modelo).
Al desarrollar una aplicación web, los modelos de alto nivel definen disposición de la pantalla de la aplicación y la interfaz gráfica de usuario, utilizando "elementos de visualización" (texto, enlaces, botones, tablas, imágenes, etc.) Los modelos de menor nivel determinan la lógica de la aplicación, utilizando "elementos de datos" y "elementos del proceso".
La plataforma incluye:
El Tersus Studio y el servidor Tersus se implementan en Java, mientras que el comportamiento del lado del cliente es ejecutado por JavaScript y HTML, que son generados por el servidor Tersus según el modelo.
Los usuarios finales invocan las aplicaciones desde sus navegadores (para aplicaciones web), o directamente desde sus dispositivos móviles (por ejemplo, para las aplicaciones nativas de iPhone).