All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.unibo.jakta.agents.bdi.Mas.kt Maven / Gradle / Ivy

There is a newer version: 0.11.102
Show newest version
package it.unibo.jakta.agents.bdi

import it.unibo.jakta.agents.bdi.actions.effects.EnvironmentChange
import it.unibo.jakta.agents.bdi.environment.Environment
import it.unibo.jakta.agents.bdi.executionstrategies.ExecutionStrategy
import it.unibo.jakta.agents.bdi.impl.MasImpl

interface Mas {
    val environment: Environment
    val agents: Iterable
    val executionStrategy: ExecutionStrategy

    fun start(debugEnabled: Boolean = false)

    fun applyEnvironmentEffects(effects: Iterable)

    companion object {
        fun of(
            executionStrategy: ExecutionStrategy,
            environment: Environment,
            agent: Agent,
            vararg agents: Agent,
        ): Mas =
            of(executionStrategy, environment, agents.asIterable() + agent)

        fun of(
            executionStrategy: ExecutionStrategy,
            environment: Environment,
            agents: Iterable,
        ): Mas = MasImpl(executionStrategy, environment, agents)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy