Format Documentation

SimML Reference

Complete XML schema reference for the .simml simulation model format. Reverse-engineered from the C# desktop engine's [SimMLElement] and [SimMLAttribute] contract decorators.

36 elements176 attributes2 sim types (Kanban & Scrum)

Document Structure

<simulation name="..." locale="...">
  <?parameter name="@var" value="..." ?>
  <execute type="kanban|scrum" limitIntervalsTo="..." ...>
    <visual />
    <monteCarlo cycles="..." />
    <sensitivity cycles="..." estimateMultiplier="..." />
    <addStaff cycles="..." />
    <ballot type="borda|schulze" />
  </execute>
  <setup>
    <backlog type="simple|custom" simpleCount="..." shuffle="true|false">
      <deliverable name="..." order="..." preRequisiteDeliverables="...">
        <custom name="..." count="..." estimateLowBound="..." estimateHighBound="...">
          <column id="..." estimateLowBound="..." estimateHighBound="..." />
        </custom>
      </deliverable>
      <custom name="..." count="..." ... />
    </backlog>
    <columns>
      <column id="..." wipLimit="..." estimateLowBound="..." estimateHighBound="..." buffer="false" />
    </columns>
    <iteration storyPointsPerIterationLowBound="..." storyPointsPerIterationHighBound="..." />
    <defects>
      <defect columnId="..." occurrenceLowBound="..." occurrenceHighBound="..." count="...">
        <column columnId="..." estimateLowBound="..." estimateHighBound="..." />
      </defect>
    </defects>
    <blockingEvents>
      <blockingEvent columnId="..." occurrenceLowBound="..." occurrenceHighBound="..."
                     estimateLowBound="..." estimateHighBound="..." />
    </blockingEvents>
    <addedScopes>
      <addedScope occurrenceLowBound="..." occurrenceHighBound="..." count="..." />
    </addedScopes>
    <forecastDate startDate="..." costPerDay="..." targetDate="...">
      <excludes><exclude date="..." /></excludes>
      <actuals><actual date="..." count="..." annotation="..." /></actuals>
    </forecastDate>
    <distributions>
      <distribution name="..." shape="..." parameters="..." />
    </distributions>
    <phases unit="percentage|interval|iteration">
      <phase start="..." end="..." estimateMultiplier="..." costPerDay="...">
        <column id="..." wipLimit="..." />
      </phase>
    </phases>
    <classOfServices>
      <classOfService order="..." default="false" violateWIP="false" skipPercentage="0">
        <column id="..." estimateLowBound="..." estimateHighBound="..." />
      </classOfService>
    </classOfServices>
  </setup>
</simulation>

Element Explorer

<simulation>

<simulation>

simulationrequired

Root element of every SimML document. Defines a complete simulation model containing execution parameters and setup configuration.

Attributes(2)

AttributeTypeDescriptionDefaultValues
namestringA user-defined name for this simulation model. For reference only.""
localestringISO locale culture string (e.g. "en-US"). If omitted, the culture of the environment running the simulation engine will be used.System culture

Child Elements (3)

<?parameter>

Declares a reusable variable that can be referenced by @name throughout the SimML document. Values are substituted befor...

<execute>

Defines how the simulation is run: simulation type, cycle limits, output formatting, and which analysis modes (visual, M...

<setup>

Contains the complete simulation configuration: backlog, columns, events, iterations, forecast dates, distributions, pha...

Implementation

C# class: SimulationData

File: FocusedObjective.Contract/Data/SimulationData.cs

Attribute Quick Reference

Every attribute across all elements, searchable. Click an element name to jump to the explorer.

ElementAttributeTypeReqDescriptionDefault

Enumeration Reference

SimulationType

Determines whether the simulation uses Kanban flow or Scrum iteration mechanics.

kanbanscrum

BacklogType

Simple creates N identical items. Custom uses deliverables and typed entries.

simplecustom

OccurrenceType

Unit of measure for event occurrence rates. 'count'/'cards'/'stories' are equivalent count-based triggers. 'size'/'points' use story points (Scrum). 'percentage' is a per-interval probability.

countcardsstoriessizepointspercentage

PullOrder

Controls how items are selected for processing. 'afterOrdering' randomizes items that share the same priority. 'fifoStrict' prevents out-of-order completion.

afterOrderingrandomindexfifofifoStrict

AggregationValue

Statistical method for summarizing Monte Carlo results into a single forecast.

averagemedianfifthtwentyfifthseventyfifthninetyfifth

PhaseUnit

Unit system for phase start/end trigger values.

percentageintervaliteration

ShufflePositions

Controls backlog randomization. 'afterOrdering' shuffles within same-priority groups.

afterOrderingtruefalseFIFOFIFOStrict

BoundProcessing

How distribution values outside bounds are handled. 'clip' truncates, 'stretch' rescales.

clipstretch

ZeroHandling

How zero values in sample data are processed. 'value' replaces them with zeroValue.

keepremovevalue

RevenueUnit

Time period for the revenue attribute in cost-of-delay calculations.

dayweekmonthyear