What is DOORS OSLC Extension Language (DXL) | Services | Complete Guide

What is DOORS OSLC Extension Language (DXL) | Services | Complete Guide

DOORS OSLC Extension Language (DXL) is a scripting language used to automate tasks in IBM DOORS. DXL enables the user to access and manipulate DOORS data, create new objects, and automate processes. This guide will provide an introduction to DXL and its capabilities, as well as a step-by-step guide on how to use DXL in IBM DOORS.

Table of Contents

Introduction to DXL

DXL is a scripting language that can be used to automate tasks in IBM DOORS. DXL scripts are stored in modules, which can be accessed and run from within the DOORS user interface. DXL scripts can be used to automate a wide range of tasks, such as creating new objects, modifying existing objects, and generating reports.

DXL provides a rich set of features that can be used to manipulate DOORS data. Some of the key features of DXL include:

  • Access to DOORS data: DXL provides access to DOORS data, including module contents, attributes, and relationships.
  • Object manipulation: DXL can be used to create new objects, modify existing objects, and delete objects.
  • Conditional logic: DXL provides support for conditional logic, including if/else statements and loops.
  • String manipulation: DXL provides a wide range of functions for manipulating strings, including concatenation, comparison, and search.
  • Report generation: DXL can be used to generate custom reports, including tables, charts, and graphs.

Getting Started with DXL

To get started with DXL, you will need to have IBM DOORS installed on your computer. Once you have DOORS installed, you can open the DXL editor by selecting “Tools” -> “DXL Editor” from the main menu.

The DXL editor provides a text editor window where you can write and edit DXL scripts. To run a DXL script, you can either select “Run” -> “Run Module” from the DXL editor menu or use a shortcut key (such as F5).

Writing DXL Scripts

DXL scripts are written in a text editor window, using a syntax that is similar to C or Java. DXL scripts are organized into functions, which can be called from within other functions or from the main program.

Here is an example of a simple DXL script that creates a new object in a DOORS module:

css

Copy code

// Create a new object in the module Object newObj = create() newObj.”Object Heading” = “New Object” newObj.”Object Text” = “This is a new object”

In this example, the create() function is used to create a new object in the current DOORS module. The newObj variable is used to store a reference to the new object, which can be used to set the object’s attributes.

DXL Functions

DXL provides a wide range of built-in functions that can be used to manipulate DOORS data. Some of the key functions include:

  • create(): Creates a new object in the current DOORS module.
  • delete(): Deletes an object from the current DOORS module.
  • allObjects(): Returns a collection of all objects in the current DOORS module.
  • read(): Reads an attribute value from an object.
  • write(): Writes a value to an attribute in an object.
  • find(): Finds an object in the current DOORS module that matches a specified condition.
  • sort(): Sorts a collection of objects by a specified attribute.

DXL Libraries

DXL Libraries in IBM DOORS are pre-built code snippets and functions that allow users to automate and customize DOORS behavior. DXL Libraries can contain code for user-defined attributes, custom menus, reports, dialogs, and queries. They enable users to access and manipulate data stored in DOORS, and can be used to perform complex operations that would otherwise require manual effort.

Users can create DXL Libraries using the built-in DXL Editor, which includes features like syntax highlighting, code completion, and error checking. The DXL Editor can be accessed from the DOORS client by clicking on the “Tools” menu and selecting “Edit DXL.”

DXL Libraries are stored in DOORS as files with the “.dxl” extension. They can be shared among multiple users and projects, making it easy to reuse code and standardize processes across an organization.

Some common uses of DXL Libraries include automating routine tasks, enforcing data quality rules, generating custom reports, and integrating with other tools in the development process.

Overall, DXL Libraries provide a powerful way for users to extend and customize the functionality of IBM DOORS. By using them to automate and standardize processes, organizations can improve their efficiency and ensure consistent, high-quality results.

Visure Solutions' Python Scripting Vs IBM DOORS' DXL Scripting

Visure Solutions is a leading provider of Application Lifecycle Management (ALM) software solutions. Among its offerings, Visure provides the ability to run Python scripts triggered automatically when performing specific actions inside the tool. That feature, added in V7, is key to automating actions such as notifying stakeholders, preventing unwanted changes, etc. Visure’s Python scripting feature opens a broad range of new possibilities making the tool even more flexible and versatile than it already was by default.

On the other hand, IBM DOORS, another ALM software provider, uses DXL (DOORS Extension Language) scripts to customize its software and cover for important features like reusability, which doesn’t come by default. DXL scripts can be used to automate tasks, customize the user interface, and integrate DOORS with other software tools.

While both Python scripts and DXL scripts offer similar benefits, they have different strengths and weaknesses. Python is a more general-purpose programming language that is widely used in many areas of software development. It has a large and active user community and a vast ecosystem of libraries and tools. DXL, on the other hand, is a specialized language designed specifically for DOORS customization. It has a smaller community and ecosystem but offers tighter integration with DOORS.

Don’t forget to share this post!

Synergy Between a Model-Based Systems Engineering Approach & Requirements Management Process

December 17th, 2024

11 am EST | 5 pm CEST | 8 am PST

Fernando Valera

Fernando Valera

CTO, Visure Solutions

Bridging the Gap from Requirements to Design

Learn how to bridge the gap between the MBSE and Requirements Management Process.