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

    Show / Hide Table of Contents
    • Mars.Core
      • DependencyRegistrationCore
    • Mars.Core.Data
      • AbstractConfigLoader
      • AbstractEntityManager
      • AgentManagerImpl
      • DomainDataMediatorImpl
      • EntityManagerImpl
      • IAgentManager
      • IEntityManager
      • IEntityMapping
      • IGeneratedEntityLogger
      • IGeneratedLayerLogger
      • IGeneratedLogger<TModel>
      • IGeneratedTypeLogger
      • IModelCompiler
      • IOutputLogger
      • IPlatformSelector
      • ISchemaMigrationProvider
      • ISerializerManager
      • PlatformSelectorImpl
    • Mars.Core.Data.Compiler
      • AbstractEntityMapper
      • AbstractJitMapper
      • AbstractLayerMapper
      • AbstractMapper<TModel>
      • AbstractTypeMapper
      • RoslynCompilerUtils
    • Mars.Core.Data.Entities
      • CircleFilter
      • Condition
      • ConjunctiveWhere
      • DataFrame
      • DisjunctiveWhere
      • EqualityCondition
      • IntersectionFilter
      • ISelection
      • NearestFilter
      • Query
      • WindowFilter
      • WithinFilter
    • Mars.Core.Data.Exceptions
      • AgentInitializationException
    • Mars.Core.Data.Mapping
      • DefaultSourceProvider
      • ReflectiveMapping
    • Mars.Core.Data.Wrapper
      • AbstractOperationWrapper
      • AbstractWrapper
      • AbstractWrapper<TOptions>
      • GlobalRestrictions
      • ICircleQueryOperation
      • IIntersectionOperation
      • ILookupOperation
      • INearestOperation
      • IOperation
      • IPlatform
      • IQueryOperation
      • ISnapshot
      • IWindowQueryOperation
      • IWithinOperation
      • IWrapper
      • KnnGraphWrapper
      • PostGisWrapper
    • Mars.Core.Data.Wrapper.Document
      • IMongoConnection
      • IMongoWrapper
      • MongoDbIteratorHelper
      • MongoDbWrapper
    • Mars.Core.Data.Wrapper.File
      • AbstractFileWrapper<TOptions>
      • AscWrapper
      • GeoJsonWrapper
    • Mars.Core.Data.Wrapper.Memory
      • DataTableWrapper
      • GeoHashTrieWrapper
      • KdTreeWrapper
      • TripPosition
      • TripPositionCoordinateConverter
      • TripsCollection
      • TripsLineConverter
      • TripsTrajectoryWrapper
    • Mars.Core.Data.Wrapper.Relational
      • AbstractRelationalConnection
      • PostgresSqlDbConnection
      • PostgresSqlWrapper
      • RelationalMapperException
      • RelationalSqlWrapper<TOptions>
      • SqliteDbConnection
      • SqliteWrapper
    • Mars.Core.Data.Wrapper.Stream
      • MqttWrapper
      • SimulationTypeInfo
    • Mars.Core.Executor
      • IRuntimeModel
      • ISimulationProgress
      • IStepExecutor
    • Mars.Core.Executor.Entities
      • Parametrization
      • StepParam
    • Mars.Core.Executor.Implementation
      • RuntimeModelImpl
      • SimulationProgressImpl
      • StepExecutionUseCase
    • Mars.Core.Model
      • IConfigLoader
      • IModelContainer
      • IModelResolver
    • Mars.Core.Model.Entities
      • LayerInstanceContainer
    • Mars.Core.Model.Exceptions
      • InvalidMappingException
      • MissingConstructorException
      • ModelResolutionException
      • ValidationException
    • Mars.Core.Model.Implementation
      • DependencyBuilder
      • MappingHelper
      • ModelContainer
      • ValidationIssueLevel
      • ValidationResult
      • Validator
    • Mars.Core.Simulation
      • ISimulation
      • ISimulationControl
    • Mars.Core.Simulation.Entities
      • SimulationRestartArgs
      • SimulationWorkflowState

    Interface IRuntimeModel

    The core runtime model responsible to manage all instances of entities It can be used to register new objects at the system, so it will be triggered and results are persisted.
    Namespace: Mars.Core.Executor
    Assembly: Mars.Core.dll
    Syntax
    public interface IRuntimeModel : IDisposable

    Properties

    AllActiveLayers

    The set of active layers that have a pre-tick and post-tick method.
    Declaration
    ISet<ISteppedActiveLayer> AllActiveLayers { get; }
    Property Value
    Type Description
    ISet<ISteppedActiveLayer>

    Context

    Gets the simulation context with all time information's about the simulation
    Declaration
    ISimulationContext Context { get; set; }
    Property Value
    Type Description
    ISimulationContext

    ExecutionAgentTypeGroups

    The set of all agent instances in this execution environment grouped by the agent type description
    Declaration
    IDictionary<AgentType, IDictionary<Guid, IAgent>> ExecutionAgentTypeGroups { get; }
    Property Value
    Type Description
    IDictionary<AgentType, IDictionary<Guid, IAgent>>

    ExecutionGroups

    The set of all agent instances in this environment separated by the the tick frequency.
    Declaration
    IDictionary<int, ConcurrentSet<ITickClient>> ExecutionGroups { get; }
    Property Value
    Type Description
    IDictionary<System.Int32, ConcurrentSet<ITickClient>>

    Layers

    All layer instances of the model mapping from the type description 1:1 to the instance.
    Declaration
    TwoWayDictionary<LayerType, ILayer> Layers { get; }
    Property Value
    Type Description
    TwoWayDictionary<LayerType, ILayer>

    RegisterAgent

    Gets the registration handle to load an at the runtime system to get be triggered by them. The runtime system uses the passed executionInterval to associated the object in a specific execution group. Otherwise the type mapping of this object will be used or 1 as default value (triggered in each tick).
    Declaration
    RegisterAgent RegisterAgent { get; }
    Property Value
    Type Description
    RegisterAgent

    UnregisterAgent

    Gets the de-registration handle to unload a from the runtime system associated to the passed The runtime system uses the executionInterval to deregister the tick object from the execution groups
    Declaration
    UnregisterAgent UnregisterAgent { get; }
    Property Value
    Type Description
    UnregisterAgent

    Methods

    AddActiveLayer(ISteppedActiveLayer, LayerType)

    Adds an active layer instance to the runtime model which is capable to run ticks
    Declaration
    bool AddActiveLayer(ISteppedActiveLayer layer, LayerType type)
    Parameters
    Type Name Description
    ISteppedActiveLayer layer The layer instance to register for execution
    LayerType type The corresponding type description
    Returns
    Type Description
    System.Boolean

    AddLayer(ILayer, LayerType)

    Adds a layer instance to the runtime model
    Declaration
    bool AddLayer(ILayer layer, LayerType type)
    Parameters
    Type Name Description
    ILayer layer The layer instance to register
    LayerType type The corresponding type description
    Returns
    Type Description
    System.Boolean

    AddNewAndRemoveDeletedTickClients()

    Declaration
    void AddNewAndRemoveDeletedTickClients()

    AddNewTickClients()

    Declaration
    void AddNewTickClients()

    DeleteRemovedTickClients()

    Deletes all pending entities so they will no longer be executed.
    Declaration
    void DeleteRemovedTickClients()

    RegisterTickClient(ILayer, ITickClient)

    Loads an a at the runtime system to get be triggered by them. The runtime system uses the passed executionInterval to associated the object in a specific execution group. Otherwise the type mapping of this object will be used or 1 as default value (triggered in each tick).
    Declaration
    void RegisterTickClient(ILayer layer, ITickClient tickClient)
    Parameters
    Type Name Description
    ILayer layer The layer responsible for the tick client or the layer itself
    ITickClient tickClient The object which shall be triggered now.

    UnregisterAll()

    Removes all registered entities, agents or layers from this runtime environment.
    Declaration
    void UnregisterAll()

    UnregisterTickClient(ILayer, ITickClient)

    Unloads a from the runtime system associated to the passed The runtime system uses the executionInterval to deregister the tick object from the execution groups
    Declaration
    void UnregisterTickClient(ILayer layer, ITickClient tickClient)
    Parameters
    Type Name Description
    ILayer layer The layer responsible for the tick client or the layer itself
    ITickClient tickClient The object which shall not be triggered anymore.
    Back to top Copyright © MARS GROUP.
    HAW Hamburg