Automatización en la validación de software
El lenguaje de modelado unificado (UML) incluye anotaciones para describir las visiones estructurales y de distinto comportamiento de una aplicación, así como información sobre la plataforma. La propuesta OMEGA de calidad de software es utilizar el UML para describir un modelo de referencia único del que se derivan modelos semánticamente relacionados para el análisis funcional, de validación y de resultados, y para las implementaciones. Por este motivo, el proyecto OMEGA identificó un subconjunto razonable y efectivo de herramientas UML que se pueden usar para desarrollar sistemas integrados reactivos y en tiempo real. El perfil se ha definido en fases, comenzando con el denominado Modelo Kernel, que representa un subconjunto operacional de gran utilidad. En el modelo Kernel de OMEGA, la estructura estática del sistema se describe en términos de diagramas de clase y máquinas de estado con algunas extensiones y restricciones, sobre todo en torno a las asociaciones y la comunicación. Una clase es la descripción de un conjunto de objetos que comparten las mismas características, operaciones, señales, relaciones y semántica. Las máquinas de estado de sus clases definen el comportamiento de los objetos en un sistema. Las clases se diferencian en activas y pasivas; las activas tienen su propio hilo de control y una cola de sucesos asociada, y realizan la búsqueda paso a paso. El modelo kernel define la semántica formal para verificar el comportamiento de una serie de clases y diagramas de estado asociadas con las herramientas existentes de comprobación de modelos. El comportamiento del sistema se describe por medio de un lenguaje de acción explícito y necesario que se usa para la creación y destrucción de objetos, la comunicación y la descripción de los sistemas de transición ampliados con datos. La comunicación entre los objetos se realiza a través de señales asíncronas o de llamadas de operaciones asíncronas, durante las cuales el llamante queda bloqueado hasta que vuelve la llamada. El modelo kernel de OMEGA y otros resultados mejoran las herramientas y los métodos actuales, y promueven la automatización en la validación del software junto con la coherencia de las herramientas de verificación.