This documentation supports the 21.3 version of BMC Helix CMDB.

To view an earlier version, select the version from the Product version menu.

Creating service models by using Dynamic Service Modeling

Use the Dynamic Service Modeling tool to automatically create relationships between CIs and business, technical, or application service CIs. This saves time and effort of manually creating relationships between CIs and the services to which they contribute.

The high level steps to create a service model by using Dynamic Service Modeling are as follows:

  1. Define queries for CIs that contribute to a business, technical, or application service.
  2. Specify the frequency with which these queries are run.
    CMDB runs the queries and finds the CIs matching your criteria. CMDB then creates relationships between these CIs and the CI representing the business, technical, or application service.

The following animation shows a highly simplified example to explain the concept of Dynamic Service Modeling. 

The queries that you define in the older versions of CMDB are also displayed in the Dynamic Service Modeling page. 

The following video (2:41) explains the concept of Dynamic Service Modeling using a highly simplified example scenario. In this example, relationships are created between computer CIs and the payroll service using the following criteria:

  • BMC_ComputerSystem class that is associated with BMC_Person class
  • The BMC_Person class having the PersonDepartment equal to Payroll

Before you begin

You must have one of the following permissions to access the Dynamic Service Modeling page in CMDB: 

  • Administrator
  • RE Definition Author

The business service CI must match one of these criteria to be listed in the Dynamic Service Modeling page:

  • The ServiceType attribute of the CI has the value as either BusinessServiceTechnicalService, or Unknown.
  • It is of class BMC_Application.
  • It has a dynamic service model query associated with it.

To build a dynamic service model

  1. Open the Dynamic Service Modeling page.
    CIs > Dynamic Service Modeling
  2. From the list, select a service you want to model.

    The service CIs representing the service you select appear in the Create and schedule queries for CIs list.
  3. In the Queries column, click the down arrow next to Show to view the details of the service CI.
    If there is no query defined for this CI, the Create Query button appears.
  4. Click Create Query.
    The Create Query for Dynamic Service Modeling page opens.

    If the service CI you are looking for does not appear in the Dynamic Service Modeling page, perform the following steps:

    1. Search for the service CI.
    2. In the search results, expand the CI properties by clicking the down arrow.
    3. Click Map Related CIs.
      The Create Query for Dynamic Service Modeling page opens.

  5. In the Query Name field, enter a name for the query.
    If you retain the Query Type toggle key in its default position, the query is visible to other users in the query library after you save it.
  6. Use the Class Palette option to define a new query or the Query Library option to use a pre-exisiting query.
    For more information on graph queries, see Creating a graph query to search for a CI.
  7. Click Test query to make sure the query finds the correct CIs.
  8. Click Save.
    The Dynamic Service Modeling page opens, listing the CI and the query.
  9. Click the down arrow under Show Queries to view the queries. 
  10. In the Run Query Every fields, set the frequency of the search.


  • If you edit the qualification in an existing DSM query, the previously created relationships from that query are not deleted. 
  • You can also create a graph query for a CI in Explorer by right-clicking the CI and selecting Map Related CIs.
  • If you refresh the page while creating a query, sometimes you might get the error this.config is undefined. To avoid this error, do not refresh the page while creating a query.

Defining a dynamic service model for a payroll service scenario


Consider the following example of Allen the service manager who wants to maintain an updated payroll service in CMDB. He wants the CMDB to be updated every 24 hours with all the new devices that are added to the payroll department. 

  1. Allen searches for a BMC_BusinessService class with ServiceType attribute with the value Payroll.
    The service CI representing the payroll service appears in the search results.
  2. Allen expands the CI properties by clicking the down arrow.
  3. Allen clicks Map Related CIs.
    The Create Query for Dynamic Service Modeling page opens.
  4. In the Query Name field, he types Payroll Service.
  5. He uses the Class Palette option or the Query Library option to build a graph query that specifies the following CI search criteria:
    • BMC_ComputerSystem class that is associated with BMC_Person class.
    • The BMC_Person class having the PersonDepartment equal to Payroll or any other name that is given to the department.
  6. He clicks Test query to make sure the search results are as expected and then saves the query.
    The Dynamic Service Modeling page opens listing the CI and the query.
  7. In the Queries column, he clicks the down arrow beside Show to view the queries. 
  8. In the Run Query Every field, he enters 24 and selects Hours in the list.
    The query runs once a day and assigns the CIs from the search results to the business service CI.


The service model is regularly updated with CIs that match the criteria you specified. You can change the frequency of the service model updates, if required, by using the Run Query Every field in the Dynamic Service Modeling page. 

Where to go from here

You can perform other activities such as impact simulation on the service model. For information on simulating impact, see Simulating the impact of changes to CIs.

Related topics

Building a service model

Service modeling

Was this page helpful? Yes No Submitting... Thank you