LOTOS ( Eng. Language Of Temporal Ordering Specification - "lenguaje de especificación de ordenamiento temporal") es un lenguaje de especificación estandarizado, originalmente destinado a describir sistemas distribuidos y de comunicación . LOTOS consta de dos lenguajes complementarios: el lenguaje de descripción de tipo de datos abstractos ACT ONE y el lenguaje de descripción de comportamiento de álgebra de proceso [1] [2] .
Aunque LOTOS ha demostrado ser ampliamente aplicable, la Organización Internacional de Normalización ha emprendido el desarrollo de una versión mejorada: E-LOTOS (ISO/IEC 15437:2001) [3] [1] .
En LOTOS y E-LOTOS, el sistema a especificar es modelado por un conjunto de procesos que interactúan entre sí y con su entorno [1] .
Los puertos de comunicación de un proceso se denominan canales de eventos . Los procesos se parametrizan por sus canales y estado. La entrada y la salida corresponden a eventos , es decir, interacciones en canales entre dos procesos o un sistema y su entorno. Un evento ocurre cuando dos partes se sincronizan en oraciones de eventos coincidentes , es decir, cuando existe la necesidad de comunicación de ambas partes. En el caso de varias ofertas simultáneas, se hace una elección que puede afectar el comportamiento posterior del sistema [1] .
LOTOS está respaldado por herramientas de especificación , simulación , compilación , generación de pruebas y verificación formal . Ejemplos de herramientas: CADP (CÆSAR/ALDÉBARAN Development Package) [4] , LITE, LOLA [1] .