Saul es un lenguaje de modelado implementado como un lenguaje específico de dominio (DSL) en Scala que facilita el diseño de modelos de aprendizaje automático con configuraciones arbitrarias para el programador de aplicaciones, incluyendo la interacción con datos en bruto y su configuración en una estructura de grafo flexible (es decir, modelo de datos) utilizando las estructuras de datos originales disponibles, extracción de características relacionales mediante consultas flexibles del grafo del modelo de datos y diseño de modelos de aprendizaje flexibles que incluyen varias configuraciones en las que los aprendices interactúan.