Articulo de referencia

Idioma de extensión de puertas

El lenguaje de extensión de DOORS ( DXL ) es un lenguaje de scripting utilizado para extender la funcionalidad de ERM DOORS de IBM . [ 1 ] [ 2 ] [ 3 ] Este lenguaje de programac...

El lenguaje de extensión de DOORS ( DXL ) es un lenguaje de scripting utilizado para extender la funcionalidad de ERM DOORS de IBM . [ 1 ] [ 2 ] [ 3 ] Este lenguaje de programación es algo similar a C y C++ . [ 4 ] Este lenguaje es específico de DOORS y tiene su propia sintaxis, declaración, un foro para discutir el desarrollo, [ 5 ] además de los manuales de referencia específicos. [ 6 ] Los scripts de DXL se utilizaron para ayudar a los usuarios de DOORS. Gran parte de la GUI nativa de DOORS está escrita en DXL. [ 7 ]

DXL se utiliza en la versión "DOORS Classic" basada en cliente-servidor; no se utiliza en la versión más reciente basada en web "DOORS Next Generation".

Uso de DXL

Existen varias formas de utilizar el DXL en IBM ERM DOORS.

  1. "Editor DXL" es un archivo DXL escrito en la ventana del Editor DXL y ejecutado desde allí. Puede que también se guarde en algún archivo. Este archivo DXL suele tener una interfaz de usuario, aunque solo sean instrucciones de impresión.
  2. El menú DXL se almacena en la carpeta Archivos y aparece en las ventanas de DOORS, ya sea en el Explorador o en el Módulo abierto. Los archivos deben ser de tipo .dxl y tanto los archivos como las carpetas de alojamiento deben estar configurados para mostrar los menús de DOORS. Por lo demás, funciona igual que el Editor DXL.
  3. El atributo "DXL" [ 8 ] se almacena en una definición de atributo y se guarda en un módulo. Tiene el contexto de un solo objeto. Cuando se recupera el valor del atributo del objeto (incluso cuando se muestra), el código se ejecuta y calcula el valor para ese objeto. Los valores calculados no se guardan en el módulo. El atributo DXL debe escribirse para ejecutarse sin interfaz de usuario y completarse sin pausas. [ 8 ]
  4. El diseño DXL se define en una columna y se guarda en la vista de un módulo. Se ejecuta para un objeto cuando se muestra la columna de diseño de dicho objeto en la interfaz gráfica de usuario. Por lo demás, es similar a Attr-DXL. El asistente de trazabilidad puede generar el diseño DXL y convertirlo a Attr-DXL.
  5. "Batch DXL" se almacena en archivos. Se ejecuta cuando DOORS se ejecuta en modo por lotes (en segundo plano) como código "Batch", "DXL" o "CLE" definido en la línea de comandos del proceso por lotes. Dado que el modo por lotes no carga una interfaz gráfica de usuario (GUI), DXL, al ejecutarse en modo por lotes, tiene ciertas restricciones en cuanto a qué puede ejecutarse y cómo se ejecuta; sin duda, no puede tener GUI.
  6. "Trigger DXL" se define en un "Trigger" y se almacena en un Módulo, un Proyecto o en la raíz de la Base de Datos. No existe una interfaz nativa para los Triggers; se necesita un DXL basado en archivos para crear o eliminar un Trigger. Cuando ocurre el Evento especificado por el Trigger (como Abrir un Módulo), todos los Triggers asociados a ese evento se ejecutan en orden de prioridad. Existen algunas restricciones sobre lo que puede ejecutarse dentro de un Trigger, pero este puede tener, y a menudo tiene, alguna Interfaz (normalmente solicitando al usuario que continúe o no). Los Triggers "Post" se ejecutan después del evento; los Triggers "Pre" se ejecutan antes del evento y pueden evitar que este ocurra. Los tipos de eventos más comunes son abrir/cerrar un módulo, seleccionar un nuevo objeto o guardar un valor de atributo de objeto. Los Triggers dinámicos no se almacenan y solo existen mientras DOORS se ejecuta en el equipo cliente. Un Trigger dinámico típico sería un Trigger posterior al cierre del módulo que cerrará una GUI (como un cuadro de diálogo de "imprimir") asociada a ese módulo. Un error común al aprender sobre los disparadores es definir un disparador previo al cierre del módulo que siempre impide que el módulo se cierre.
  7. "Eval DXL" se invoca desde otros DXL y se ejecuta en su propio contexto. Generalmente se reserva para DXL avanzados y complejos. El código "Top Eval" se implementa en el "contexto superior" y se aplica a todos los DXL futuros hasta que DOORS se cierre.

Extensiones de script DXL

Los scripts DXL generalmente se almacenan con la extensión " .dxl ", sin embargo, utilizan archivos de biblioteca con la extensión " .inc ".

Ejemplo de "Hola, mundo"

Para imprimir el mensaje " Hola, Mundo ", se utilizará el siguiente código [ 6 ] ,

Imprimir "Hola, mundo"

Editores DXL

Sodius DXL Editor, [ 9 ] basado en Eclipse, es una herramienta que ofrece la opción de editar, explorar, compilar, ejecutar y depurar scripts DXL. Existen muchos editores de código abierto y gratuitos, como Notepad++ y jEdit, que admiten DXL mediante propiedades personalizadas.

Referencias

  1. Thurimella, Anil Kumar; Janzen, Dirk (2011). metadoc Feature Modeler A Plug-in for IBM Rational DOORS (PDF) (Tesis). 15.ª Conferencia Internacional de Líneas de Productos de Software de 2011.
  2. Rahman, Anisur; Amyot, Daniel (2014). "Un DSL para importar modelos en un sistema de gestión de requisitos". 2014 IEEE 4th International Model-Driven Requirements Engineering Workshop (MoDRE) . pp. 37–46 . doi : 10.1109/MoDRE.2014.6890824 . ISBN  978-1-4799-6343-0. S2CID 6414601 . 
  3. Dale, Chris; Anderson, Tom (2009). Safety-Critical Systems: Problems, Process and Practice: Proceedings of the Seventeenth Safety-Critical Systems Symposium Brighton, UK, 3 - 5 February 2009 . Springer Science & Business Media. pp. 80– 89. ISBN  9781848823495Consultado el 28 de diciembre de 2018 .
  4. "Ampliando PUERTAS con DXL" . Enero de 2025.
  5. "IBM TechXchange" . IBM .
  6. 1 2 "Manual de referencia de DXL" (PDF) . IBM .
  7. "LECCIONES APRENDIDAS AL IMPLEMENTAR PUERTAS EN UN ENTORNO CITRIX" (PDF) .
  8. 1 2 "Atributos DXL y diseño de columnas DXL" . IBM .
  9. Editor Sodius DXL
  • Desbloqueando PUERTAS – Una introducción a DXL .