• Documentation
  • Core API
  • SmartOpenHamburg API
  • Model Components API
  • Common API

    Show / Hide Table of Contents
    • Mars.Components
      • DependencyRegistrationModelling
    • Mars.Components.Agents
      • AbstractAgent
      • AbstractEntity
      • Agent
    • Mars.Components.Environments
      • AbstractEnvironment
      • AbstractGraphElement
      • AlwaysPassingNodeGuard
      • EntityLane<TEntity>
      • GeoEnvironment
      • GeoHashEnvironment<T>
      • IEnvironmentMediator
      • IModalChoiceResolver
      • PathHeuristics
      • SpatialEdge
      • SpatialGraphEntityExtensions
      • SpatialGraphEnvironment
      • SpatialGraphHelper
      • SpatialHashEnvironment<TEntity>
      • SpatialNode
      • WorldIndexExtensions
    • Mars.Components.Environments.Cartesian
      • CartesianEnvironment<TEntity>
      • CollisionEnvironment<TCharacter, TObstacle>
      • CollisionKind
      • ConeExplorationView
      • ExplorationView
      • GeometryFactory
      • ICartesianEnvironment<TEntity>
      • ICharacter
      • ICollidable
      • ICollisionEnvironment<TCharacter, TObstacle>
      • IObstacle
      • IVisible
      • RayExplorationView
      • TrapezoidExploration
      • VisibilityKind
    • Mars.Components.Environments.Cartesian.Routing
      • CartesianRoutingService<TObstacle>
      • GeometryCoordinatesRoutingPointsGenerator
      • HomogenousRoutingPointsGenerator
      • IRoutingPointsGenerator
      • RandomRoutingPointsGenerator
      • SectionalRandomRoutingPointsGenerator
    • Mars.Components.Layers
      • AbstractActiveLayer
      • AbstractEnvelopedLayer
      • AbstractLayer
      • AbstractVectorFeature
      • AgentSchedulerLayer<TAgent, TLayer>
      • QuerySourceLoader
      • RasterLayer
      • SchedulerEntry
      • SchedulerLayer
      • VectorFeature
      • VectorLayer
      • VectorLayer<T>
      • VectorLayerHelper
    • Mars.Components.Layers.Temporal
      • IQueryFieldProvider
      • ITemporalObjectCatalog
      • ITemporalObjectIterator
      • TemporalCatalogFeature<TKey>
      • TemporalFeatureKind
      • TemporalMetadataLoader
    • Mars.Components.Services
      • AgentManager
    • Mars.Components.Services.Explorations
      • BoltzmannExploration
      • EpsilonGreedyExploration
      • IExplorationPolicy
      • RouletteWheelExploration
      • TabuSearchExploration
    • Mars.Components.Services.Learning
      • InfiniteQLearning
      • QLearning
      • Sarsa
    • Mars.Components.Services.Planning
      • ActionPlanResult
      • GoapAction
      • GoapAgentStates
      • GoapGoal
      • GoapPlanner
      • GoapStateKey<T>
      • GoapStateProperty
      • GoapStateProperty<TElement>
      • IGoapAction
      • IGoapAgentStates
      • IGoapGoal
      • IGoapPlanner
      • IGoapStateKey
      • StatesCommons
    • Mars.Components.Services.Planning.ActionCommons
      • AllGoalsSatisfiedAction
      • NoGoalReachableAction
    • Mars.Components.Starter
      • Command
      • CommandArgumentContainer
      • CommandParser
      • CommandSet
      • HelpCommand
      • Option
      • OptionContext
      • OptionException
      • OptionSet
      • OptionValueCollection
      • OptionValueType
      • SimulationStarter
    • Mars.Components.Starter.Exceptions
      • SimulationStartupException
    • Mars.Interfaces
      • IModelObject
      • ISimulationContainer
      • ISimulationContext
      • ISimulationModule
      • ISimulationState
      • IStepExecutionContext
      • SimulationContext
      • SimulationContext.WorkflowStateType
    • Mars.Interfaces.Agents
      • IAgent
      • IAgent<TLayer>
      • IEntity
      • IMarsDslAgent
      • IModalCapabilitiesAgent
      • ISpatialGraphEntity
      • ITickClient
    • Mars.Interfaces.Annotations
      • ActiveConstructor
      • PropertyDescription
    • Mars.Interfaces.Data
      • AbstractDomainData
      • GeometryData
      • IDomainData
      • IGeometryData
      • IIdentifiableData
      • IMarsFeature
      • IRasterBandData
      • ISource
      • IStringData
      • IStringStructuredData
      • IStructuredData
      • IStructuredDataGeometry
      • IValueData
      • LayerInitData
      • RasterBandData
      • StringDataDto
      • StructuredData
      • VectorStructuredData
    • Mars.Interfaces.Environments
      • BoundingBox
      • DirectionType
      • EdgeExploreResult
      • EdgeStop
      • ExploreDirection
      • GeoPositionExtension
      • HighwayType
      • IEdge<TEdge, TNode>
      • IEntityLane<TEntity>
      • IEnvironment
      • IEnvironment<TEntity>
      • IGeoGridEnvironment<T>
      • IGraphEntity
      • IGraphEnvironment<TEdge, TNode>
      • INode<TEdge, TNode>
      • INodeGuard
      • IPositionable
      • IRoutePlanner
      • ISpatialEdge
      • ISpatialGraphEnvironment
      • ISpatialLane
      • ISpatialNode
      • LaneExploreResult
      • ModalChoice
      • MultimodalRoute
      • NodeIntegrationKind
      • Position
      • Route
      • RouteStop
      • Size
      • SpatialGraphExploreResult
      • SpatialModalityType
      • TrafficLightPhase
    • Mars.Interfaces.Layers
      • FinallySimulationStep
      • IChangingLayer
      • IDataContainer
      • IDataLayer
      • IDataSet
      • IEnvelopDataLayer
      • ILayer
      • IMarsDslLayer
      • IModalChoiceConsumer
      • InitSimulationStep
      • INotifyChangedSource<T>
      • IRaster<TValue>
      • IRasterLayer
      • ISteppedActiveLayer
      • IVectorFeature
      • IVectorLayer
      • IVectorLayer<T>
      • IVectorNode<TEntity>
      • RegisterAgent
      • UnregisterAgent
    • Mars.Interfaces.Model
      • ActiveTypeMapping
      • AgentMapping
      • AgentType
      • ConstructorType
      • ContainsOperator
      • DataContainer
      • DataType
      • EntityMapping
      • EntityType
      • Execution
      • FeatureType
      • Globals
      • IdentifiableElement
      • IndividualMapping
      • Input
      • InputConfiguration
      • LayerMapping
      • LayerType
      • ModelDescription
      • ModelElement
      • ObjectType
      • Output
      • OutputConfiguration
      • OutputFilter
      • OutputKind
      • OutputTargetType
      • ParameterMapping
      • Processing
      • ProcessingConfiguration
      • ProcessingTargetType
      • PropertyType
      • SimulationConfig
      • TimeSpanUnit
      • TimeSpanUnitExtensions
      • TypeElement
      • TypeMapping
    • Mars.Interfaces.Model.Converters
      • CultureConverter
      • SerializationTypeConverter
      • TimeSpanUnitConverter
    • Mars.Interfaces.Model.Exceptions
      • InvalidTypeException
      • MissingTypeException
    • Mars.Interfaces.Model.Options
      • AbstractEndpointOptions
      • AbstractFileOptions
      • AbstractOptions
      • AscOptions
      • CsvOptions
      • GeoJsonOptions
      • MongoOptions
      • MqttOptions
      • PostgresSqlOptions
      • RedisOptions
      • RelationalEndpointOptions
      • SerializationType
      • SocketOutputOptions
      • SpatialGraphOptions
      • SqLiteOptions
      • TripsOptions

    Class SimulationStarter

    This class is the entry point of the simulation Use the static factory method Mars.Components.Starter.SimulationStarter.Start(Mars.Components.Starter.CommandArgumentContainer,Mars.Interfaces.Model.SimulationConfig) to create a new simulation application and to interact with it.
    Inheritance
    IDisposable
    SimulationStarter
    Namespace: Mars.Components.Starter
    Assembly: Mars.Components.dll
    Syntax
    public class SimulationStarter : IDisposable

    Methods

    Build(ModelDescription, SimulationConfig)

    Prepares a simulation infrastructure to start the preparation and simulation interaction, controlled by the returning ISimulation interface. The build expects the ModelDescription with all entity types to simulate and the SimulationConfig initialization data and global configurations e.g. the amount of steps and steps size. The returning ISimulation interface represents the endpoint to control the whole simulation execution.
    Declaration
    public static ISimulation Build(ModelDescription description, SimulationConfig config)
    Parameters
    Type Name Description
    ModelDescription description Static type description with all entity types to simulate.
    SimulationConfig config The global and type specific inputConfiguration object with all input data references for the types.
    Returns
    Type Description
    ISimulation The root ISimulation endpoint to prepare, start and control the simulation execution.

    Build(ModelDescription, String[])

    Expects a SimulationConfig as passed arguments given by the simulation config itself or the file reference. For more details see in the description of Build(ModelDescription, SimulationConfig)
    Declaration
    public static ISimulation Build(ModelDescription description, params string[] args)
    Parameters
    Type Name Description
    ModelDescription description Static type description with all entity types to simulate.
    System.String[] args The argument list for the simulation execution.
    Returns
    Type Description
    ISimulation

    BuildApplication(ModelDescription, SimulationConfig)

    Constructs the whole simulation application together and pass the optional ModelDescription and SimulationConfig to the components. When nothing was passed the extra PrepareSimulation step have to performed.
    Declaration
    public static ISimulationContainer BuildApplication(ModelDescription description = null, SimulationConfig config = null)
    Parameters
    Type Name Description
    ModelDescription description The static model description or null
    SimulationConfig config The init startup inputConfiguration for the execution.
    Returns
    Type Description
    ISimulationContainer

    BuildApplication(ModelDescription, String[])

    Constructs the whole simulation application together and pass the ModelDescription and inputConfiguration arguments to the components. To start a simulation use the returned ISimulationContainer and resolve the ISimulation component.
    Declaration
    public static ISimulationContainer BuildApplication(ModelDescription description, string[] args)
    Parameters
    Type Name Description
    ModelDescription description The static model description or null
    System.String[] args All command line arguments.
    Returns
    Type Description
    ISimulationContainer Returns a new application container able to resolve each component and service in the system.

    Dispose()

    Release all acquired resources of the simulation and closes all in/output connections of this simulation application.
    Declaration
    public void Dispose()

    Run()

    Starts the simulation execution
    Declaration
    public SimulationWorkflowState Run()
    Returns
    Type Description
    SimulationWorkflowState The last SimulationWorkflowState where the simulation was paused, finished or aborted

    Start(ModelDescription, SimulationConfig)

    Stars a simulation with the specified simulation config for the registered description. This creates a SimulationStarter handle which has created the internal simulation application and can be started directly. In order to interact with the simulation please use the BuildApplication(ModelDescription, SimulationConfig) function instead and resolve the ISimulation component.
    Declaration
    public static SimulationStarter Start(ModelDescription description, SimulationConfig config)
    Parameters
    Type Name Description
    ModelDescription description The model describing all layer and agent types.
    SimulationConfig config The deserialized simulation config with configured simulation steps, inputs and outputs
    Returns
    Type Description
    SimulationStarter Returns a new SimulationStarter handle which internally has constructed the simulation already.
    Exceptions
    Type Condition
    SimulationStartupException config or description is null

    Start(ModelDescription, String[])

    Stars a simulation with the specified simulation inputConfiguration arguments args for the registered model description. This creates a SimulationStarter handle which has created the internal simulation application and can be started directly. In order to interact with the simulation please use the BuildApplication(ModelDescription, SimulationConfig) function instead and resolve the ISimulation component.
    Declaration
    public static SimulationStarter Start(ModelDescription description, params string[] args)
    Parameters
    Type Name Description
    ModelDescription description The model describing all layer and agent types.
    System.String[] args Arguments for the simulation config in order to use the simulation starter with the command line interface.
    Returns
    Type Description
    SimulationStarter Returns a new SimulationStarter handle which internally has constructed the simulation already.
    Exceptions
    Type Condition
    SimulationStartupException args is null or has no parameter or description is null
    Back to top Copyright © MARS GROUP.
    HAW Hamburg