VIATRA es un marco de transformación de modelos de código abierto basado en el Eclipse Modeling Framework (EMF) y alojado por la Eclipse Foundation .
VIATRA admite el desarrollo de transformaciones de modelos, centrándose especialmente en transformaciones reactivas basadas en eventos, es decir, escenarios basados en reglas donde las transformaciones se producen como reacciones a ciertos cambios externos en el modelo.
Partiendo de la base de un sistema de consultas incrementales para localizar patrones y cambios en el modelo, VIATRA ofrece un lenguaje (el lenguaje de consulta VIATRA , VQL) para definir transformaciones y un motor de transformación reactivo para ejecutar ciertas transformaciones ante cambios en el modelo subyacente.
Dominios de aplicación
VIATRA, como plataforma de código abierto, funciona como punto de integración central y motor facilitador en diversas aplicaciones, tanto en el ámbito industrial como académico. Versiones anteriores de la plataforma se han utilizado ampliamente para brindar herramientas de soporte para el desarrollo y la verificación de sistemas embebidos críticos en numerosos proyectos de investigación europeos, como DECOS, MOGENTES, INDEXYS y SecureChange.
Como una de las principales aplicaciones industriales de VIATRA, se utiliza como motor subyacente de consulta y transformación de modelos en la suite IncQuery. De este modo, VIATRA constituye un componente técnico clave en diversas colaboraciones industriales centradas en la ingeniería de sistemas basada en modelos (MBSE), impulsando prácticas innovadoras de ingeniería de sistemas en ámbitos como el aeroespacial, la fabricación, la automatización industrial y la automoción. Además, a través de las aplicaciones de la suite IncQuery, VIATRA sirve de base para iniciativas basadas en modelos de proyectos europeos de digitalización industrial a gran escala, como Arrowhead Tools y Embrace.
VIATRA está bien integrado con las herramientas de modelado de Eclipse. [ 1 ] Sin embargo, VIATRA también funciona fuera del entorno de Eclipse, como lo demuestra el proyecto IncA utilizando la plataforma JetBrains MPS .
Funcionalidad
VIATRA ofrece los siguientes servicios principales:
- Un motor de consultas incremental junto con un lenguaje basado en patrones gráficos para especificar y ejecutar consultas de modelos de manera eficiente.
- Un DSL interno sobre el lenguaje Xtend para especificar transformaciones reactivas, tanto por lotes como basadas en eventos.
- Un ofuscador de modelos para eliminar información sensible de un modelo confidencial (por ejemplo, para crear informes de errores).
Orígenes e historia
El proyecto VIATRA actual es una reescritura completa del marco VIATRA2 anterior, con compatibilidad total y soporte para modelos EMF. El proyecto incluye una página wiki de historial que describe las principales diferencias entre las distintas versiones. [ 2 ]
En cuanto a las aplicaciones del marco VIATRA2 anterior, sirvió como motor de transformación de modelos subyacente de la propiedad intelectual europea DECOS en el campo de los sistemas embebidos confiables. Además, un área de aplicación tradicional para VIATRA2, desde 1998, fue apoyar el análisis de modelos de sistemas tomados de diversas áreas de aplicación (sistemas críticos para la seguridad y/o sistemas embebidos , aplicaciones robustas de comercio electrónico , middleware , arquitectura orientada a servicios ) descritos utilizando varios lenguajes de modelado (SysML, UML, BPMN, etc.) durante un proceso de ingeniería de sistemas dirigido por modelos. Dicho análisis de modelos también suele incluir la verificación y validación , las pruebas, el análisis de seguridad y protección , así como la evaluación temprana de características no funcionales (como confiabilidad, disponibilidad , capacidad de respuesta , rendimiento , etc.) del sistema en diseño.
Estos casos de uso y campos de aplicación siguen constituyendo áreas clave para VIATRA, abordadas principalmente a través de IncQuery Suite como interfaz para el usuario.
Acercarse
Dado que el desarrollo de sistemas precisos basados en modelos es el principal ámbito de aplicación de VIATRA, es necesario que (i) las transformaciones de modelos se especifiquen con precisión matemática y (ii) estas transformaciones se automaticen para que los modelos matemáticos de destino se puedan derivar de forma totalmente automática. Para lograrlo, VIATRA se basa en un formalismo de especificación matemáticamente preciso y basado en reglas: la transformación de grafos (GT). VIATRA busca métodos formales invisibles: en este caso, los detalles formales se ocultan mediante transformaciones de modelos automatizadas que proyectan los modelos del sistema en diversos dominios matemáticos (y, preferiblemente, viceversa).
El concepto fundamental para definir las transformaciones de modelos en VIATRA es el patrón (de grafo). Un patrón es una colección de elementos del modelo organizados en una estructura determinada que cumple con restricciones adicionales (definidas por condiciones de atributos u otros patrones). Los patrones se pueden comparar con ciertas instancias del modelo y, tras la coincidencia exitosa, la manipulación elemental del modelo se especifica mediante reglas de transformación de grafo. Al igual que en OCL , las reglas de transformación de grafo describen precondiciones y postcondiciones para las transformaciones, pero se garantiza su ejecución, lo que constituye una diferencia conceptual clave.
En particular, dado que las transformaciones reactivas basadas en eventos son el enfoque actual de VIATRA, esta incluye un motor de ejecución de reglas que supervisa los cambios (interpretados como eventos) en el modelo y activa una regla siempre que un cambio conduzca al cumplimiento de la condición previa para esa regla (y, potencialmente, si también se cumplen algunas condiciones de control adicionales).
Véase también
Referencias
- ↑ Ujhelyi, Zoltán; Bergmann, Gabor; Hegedüs, Ábel; Horváth, Ákos; Izsó, Benedek; Ráth, István; Szatmári, Zoltán; Varró, Daniel (01/02/2015). "EMF-IncQuery: un entorno de desarrollo integrado para consultas de modelos en vivo". Ciencia de la programación informática . Quinto número de Experimental Software and Toolkits (EST): un número especial sobre modelado académico con Eclipse (ACME2012). 98 : 80– 99. doi : 10.1016/j.scico.2014.01.004 . ISSN 0167-6423 .
- ↑ Varró, Daniel; Bergmann, Gabor; Hegedüs, Ábel; Horváth, Ákos; Ráth, István; Ujhelyi, Zoltán (1 de julio de 2016). "Camino hacia una plataforma de transformación de modelos reactiva e incremental: tres generaciones del framework VIATRA" . Modelado de software y sistemas . 15 (3): 609– 629. doi : 10.1007/s10270-016-0530-4 . ISSN 1619-1374 . S2CID 254171359 .
Enlaces externos
- Página del proyecto VIATRA Eclipse
- Lenguaje Unificado de Modelado
- Reescritura de grafos