Running a dynamic assembly simulation

This procedure describes how to run a Dynamic Assembly Simulation.

The Dynamic Assembly Simulator wizard is accessed from the Create menu and enables you to specify the following:
  • Fabric Project
  • Namespace
  • Label Description (optional) - this field enables you to describe your simulation and what it does.
  • Dynamic Assembly Component (DAC) - this is selectable from a list of all visible DACs.
  • There is also a special entry for the Fabric Hub. The Context Specification that will be used for the new simulation is either the Fabric Hub Context if the Fabric Hub was selected for the DAC, or the Context Specification that is associated with the DAC that was selected. You can view or edit this for a DAC by using the DAC editor.
There are currently four supported simulation operations:
  1. Build Policy Context
  2. Build Selection Policy
  3. Find Candidates
  4. Select Endpoint

Detail Views

The Detail view has a General tab and an Error tab. All detail views display the name of the DAC and the operation in the upper left. The Errors tab lists all errors that occurred during that operation.

The detailed views support the following operations:
  • Merged Policy - This operation enables you to see what policy each assertion came from, and the values associated with it. Clicking the policy link takes you to the policy editor for that policy. Clicking the Assertion Type takes you to the Assertion Type editor.
  • Find Candidates - This operation employs three tabs: Candidate Endpoints, Rejected Candidates and Errors.
    • Candidate Endpoints displays endpoints that matched the policy in the previous operation and their tier. Clicking on the endpoint takes you to the editor for that endpoint.
    • Rejected Endpoints contains all the endpoints that were discarded and the reason they were discarded. Clicking the endpoint take you to it’s editor.
    • Select Endpoint employs other tabs. If an endpoint was selected, you would see it in an individual tab (not in the screen shot). You are able to click the endpoint to get to its editor. The Propagated Policy tab contains a view of the propagated policy, it is similar to the Composite Policy tab.
  • Rejected Candidates - Rejected Candidates lists all possible candidates that were not selected.
Below is a description of each tab by operation.
  1. Build Policy Context
    1. General – General statement regarding what Build Policy Context means
    2. Errors
  2. Build Selection Policy
    1. Composite Policy – Contains a list of all the assertions used in the simulation as well as what policy the assertion came from and the values used during the simulation.
    2. Errors
  3. Find Candidates
    1. Candidate Endpoints – Table of endpoints that meet the criteria from the built selection policy as well as their tier. Tier is an integer value starting at zero. Endpoints with a lower tier value are selected. Endpoints with the same tier value will round-robin at runtime.
    2. Rejected Candidates – Endpoints that could service the request but were rejected because of the selection policy. For your simulation, there are going to be endpoints that support the specified interface. There are several reasons why an Endpoint can be rejected at this phase including: Unsupported Address Type, Filtered by Selection Policy, Filtered by Endpoint Requirement.
    3. Errors
  4. Select Endpoint
    1. Selected Endpoint – This tab only displays if there was a selected endpoint and no error during this operation. It displays a link to the selected endpoint.
    2. Propagated Policy – This tab shows the policy that would be propagated to the endpoint. This is configured using the Propagate Policy assertion. This assertion states that an endpoint should receive a specific subset or all of the selection policy. This result lets you see what policy data is sent to your endpoint.
    3. Rejected Candidates – Displays a list of endpoints that were not selected and the reason for not selecting them.
    4. Errors

To run a dynamic assembly simulation

  1. Invoke the simulation wizard by clicking Simulation button on the toolbar or by creating a new simulation in the Business Service Explorer. The Simulation popup window displays.
    This is a dynamic assembly simulation dialog screen
  2. Enter the project name in the Project field.
  3. Enter the name of your simulation in the Name field.
  4. Enter the namespace in the Namespace field.
  5. Enter the DAC to be used (or select Fabric Hub) in the Dynamic Assembly Component field.
  6. Enter a description of your simulation in the Description field.
  7. Click Finish. The Simulation Window (Editor) displays.
    This is the dynamic assembly simulation input editor
    • The Simulation Context area (upper right) contains a read-only context specification link as well as may contain read-only links to the Dynamic Assembly Component and Composite Service used for this simulation; and an invocation time for the simulation. The invocation time consists of a Date, a Time, and a Time Zone.
    • The two buttons at the bottom right (Add Model Dimension and Add Content-based Dimension…) are disabled if the context specification that this simulation is running is set by default as Only use specified context at runtime. Any dimensions added with these buttons are placed in the optional context section along with non-required dimension specs from the context specification.
  8. When adding a Model Dimension the Model Dimension popup screen displays.
    this is the model dimension dialog screen
    When you add a content-based dimension the Select Assertion Type screen displays:
    this is the select assertion type dialog screen
    Both screens are similar to the same dialog screens you used when editing a context specification.
  9. Editing a content-based dimension is similar, except you have two buttons: Edit and Clear, shown in the screen below.
    • Clicking the Clear button removes the specified property value from the content based dimension.
    • Clicking the Edit button presents the standard dialog used for editing a content-based assertion (it will look different depending on the properties of the assertion type being edited).
  10. To edit a model dimension, click the Browse button next to it. Refer to the dynamic assembly simulation input screen shown above. You will be presented with a reference/type selection dialog containing instances of the type of model dimension you are browsing.
  11. Once you have entered all the appropriate values, click the Run button at the bottom right. The results tab appear on the Dynamic Assembly Simulation input editor screen. The results page displays all the operations that took place during the simulation and whether they were successful.
  12. Clicking the details link of a simulation operation opens a detailed view of the operation in the lower view.
Related concepts
Understanding the context specification editor