• 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

    Class ModelContainer

    Inheritance
    System.Object
    ModelContainer
    Implements
    IModelContainer
    IModelResolver
    IDisposable
    Namespace: Mars.Core.Model.Implementation
    Assembly: Mars.Core.dll
    Syntax
    public class ModelContainer : object, IModelContainer, IModelResolver, IDisposable

    Constructors

    ModelContainer()

    Creates a new empty IModelContainer
    Declaration
    public ModelContainer()

    ModelContainer(IConfigLoader)

    Declaration
    public ModelContainer(IConfigLoader configLoader)
    Parameters
    Type Name Description
    IConfigLoader configLoader

    Properties

    ConfigLoader

    Gets the current inputConfiguration repository
    Declaration
    public IConfigLoader ConfigLoader { get; }
    Property Value
    Type Description
    IConfigLoader

    Layers

    Gets all resolved layer instances of this simulation.
    Declaration
    public IDictionary<Type, ILayer> Layers { get; }
    Property Value
    Type Description
    IDictionary<Type, ILayer>

    ModelDescription

    Retrieve model description as the root object
    Declaration
    public ModelDescription ModelDescription { get; }
    Property Value
    Type Description
    ModelDescription

    Methods

    AddAgent<TAgent, TLayer>()

    Adds an agent type to the containers with the typename as identifier and the layer type where the agent type lies on.
    Declaration
    public AgentType AddAgent<TAgent, TLayer>()
        where TAgent : class, IAgent where TLayer : class, ILayer
    Returns
    Type Description
    AgentType
    Type Parameters
    Name Description
    TAgent The agent type to add
    TLayer The layer type where the agent lies on

    AddAgent<TAgent, TLayer>(String)

    Adds an agent type to the containers with the specified name and the layer type where the agent type lies on
    Declaration
    public AgentType AddAgent<TAgent, TLayer>(string name)
        where TAgent : class, IAgent where TLayer : class, ILayer
    Parameters
    Type Name Description
    System.String name A name of the agent type, can differ from exact type name
    Returns
    Type Description
    AgentType
    Type Parameters
    Name Description
    TAgent The agent type to add
    TLayer The layer type where the agent lies on

    AddEntity<TEntity>()

    Adds a layer type to the container with typename as identifier and their optional explicit interface implementations
    Declaration
    public EntityType AddEntity<TEntity>()
        where TEntity : class, IEntity, new()
    Returns
    Type Description
    EntityType
    Type Parameters
    Name Description
    TEntity The actual layer type to add

    AddEntity<TEntity>(String)

    Adds a layer type to the container with the specified name and their optional construction dependencies
    Declaration
    public EntityType AddEntity<TEntity>(string name)
        where TEntity : class, IEntity, new()
    Parameters
    Type Name Description
    System.String name The optional differ name of the type
    Returns
    Type Description
    EntityType
    Type Parameters
    Name Description
    TEntity The actual layer type to add

    AddLayer<TLayer>(String, IEnumerable<Type>)

    Adds a layer type to the container with the specified name and their optional construction dependencies
    Declaration
    public LayerType AddLayer<TLayer>(string name, IEnumerable<Type> interfaces = null)
        where TLayer : ILayer
    Parameters
    Type Name Description
    System.String name The optional differ name of the type
    IEnumerable<Type> interfaces All explicit implemented interfaces or null if no interfaces were used
    Returns
    Type Description
    LayerType
    Type Parameters
    Name Description
    TLayer The actual layer type to add

    AddLayer<TLayer>(Type[])

    Adds a layer type to the container with typename as identifier and their optional explicit interface implementations
    Declaration
    public LayerType AddLayer<TLayer>(params Type[] interfaces)
        where TLayer : class, ILayer
    Parameters
    Type Name Description
    Type[] interfaces All explicit implemented interfaces or null if no interfaces were used
    Returns
    Type Description
    LayerType
    Type Parameters
    Name Description
    TLayer The actual layer type to add

    BuildOrder(ModelDescription)

    Calculates the dependency order of the Layer types within the passed model description
    Declaration
    public IList<LayerType> BuildOrder(ModelDescription description)
    Parameters
    Type Name Description
    ModelDescription description model description with layer types
    Returns
    Type Description
    IList<LayerType> A or null if no layer in model description was specified

    CreateModel(ModelDescription, SimulationConfig)

    Declaration
    public IList<TypeMapping> CreateModel(ModelDescription description, SimulationConfig config)
    Parameters
    Type Name Description
    ModelDescription description Static description of all model types
    SimulationConfig config Execution parametrization inputConfiguration
    Returns
    Type Description
    IList<TypeMapping> A collection with mapped types

    CreateModel(ModelDescription, String)

    Creates and persists the passed ModelDescription and associates the specified simulation config as a deserialized
    Declaration
    public SimulationConfig CreateModel(ModelDescription description, string config)
    Parameters
    Type Name Description
    ModelDescription description The model description to set
    System.String config The config as json or yaml as direct content or file path
    Returns
    Type Description
    SimulationConfig

    Dispose()

    Declaration
    public void Dispose()

    Match(ModelDescription, SimulationConfig)

    Matches the the type mappings of the to their respective types of the
    Declaration
    public IList<TypeMapping> Match(ModelDescription description, SimulationConfig config)
    Parameters
    Type Name Description
    ModelDescription description The target model description
    SimulationConfig config The source inputConfiguration for mapping
    Returns
    Type Description
    IList<TypeMapping> A collection with mapped types

    Resolve(ModelDescription)

    Resolve the layer dependency graph and creates layer instances with their expected parameters and dependencies
    Declaration
    public LayerInstanceContainer Resolve(ModelDescription modelDescription)
    Parameters
    Type Name Description
    ModelDescription modelDescription
    Returns
    Type Description
    LayerInstanceContainer

    Validate(ModelDescription, SimulationConfig)

    Validates the model itself, the simulation config itself and their mapping between to check whether the existing simulation config matches the model description
    Declaration
    public IList<ValidationResult> Validate(ModelDescription description, SimulationConfig config)
    Parameters
    Type Name Description
    ModelDescription description The model description of types
    SimulationConfig config The config for the model adjustment and mapping
    Returns
    Type Description
    IList<ValidationResult> Collection of warning and infos identified by the validation

    Implements

    IModelContainer
    IModelResolver
    IDisposable
    Back to top Copyright © MARS GROUP.
    HAW Hamburg