package core
Provides classes, objects and traits that specify the com.markblokpoel.lanag.core architecture of the simulation framework.
Overview
Most of the classes, objects and traits in this packages cannot be used on their own. Instead, they specify what minimally should be implemented in any Lanag agent-based simulation.
- See also
For an example implementation, see the source code of project ambiguity helps.
- Alphabetic
- By Inheritance
- core
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
abstract
class
Agent[I <: Intention, S <: Signal] extends Serializable
Defines the Agent class architecture.
Defines the Agent class architecture.
This is an immutable class. Agents are parameterized by the type of com.markblokpoel.lanag.core.Intention and com.markblokpoel.lanag.core.Signal they use.
- I
The intention type must be a subtype of com.markblokpoel.lanag.core.Intention.
- S
The signal type must be a subtype of com.markblokpoel.lanag.core.Signal.
- Annotations
- @SerialVersionUID()
-
case class
AgentPair[I <: Intention, S <: Signal, A <: Agent[I, S], D <: Data](agent1: A, agent2: A, originData: D) extends Product with Serializable
Data structure for storing pairs of agents, their type and their origin.
-
case class
ContentSignal(content: Option[Int]) extends ContentSignalPrototype[Option[Int]] with Product with Serializable
A basic content signal.
A basic content signal.
The content of this signal type is an index referring to a particular signal, for example, in a com.markblokpoel.lanag.rsa.Lexicon.
- content
The optional signal index.
-
abstract
class
ContentSignalPrototype[T] extends Signal with Serializable
The prototype signal that has some content of type T.
The prototype signal that has some content of type T.
- T
The type of the content.
- Annotations
- @SerialVersionUID()
-
trait
Data extends AnyRef
A prototype type for storing simulation data in case classes.
A prototype type for storing simulation data in case classes. All data case classes are derivatives of this trait.
-
trait
Intention extends AnyRef
The prototype intention type.
The prototype intention type. All intention types are derivatives of this trait.
-
abstract
class
IntentionPrototype[T] extends Intention with Serializable
The prototype intention that has some content of type T.
The prototype intention that has some content of type T.
- T
The type of the content.
- Annotations
- @SerialVersionUID()
-
abstract
class
Interaction[I <: Intention, S <: Signal, A <: Agent[I, S]] extends Serializable
Defines agent interactions.
Defines agent interactions.
Implementations of this class specify the agent types, including the intention and signal type they use.
- I
The intention type used by the agents, must be a subtype of com.markblokpoel.lanag.core.Intention.
- S
The signal type used by the agents, must be a subtype of com.markblokpoel.lanag.core.Signal.
- A
The type of agents, must be a subtype of com.markblokpoel.lanag.core.Agent.
- Annotations
- @SerialVersionUID()
-
trait
Listener[I <: Intention, S <: Signal] extends Agent[I, S]
A special case of Agent where it is in listener mode.
A special case of Agent where it is in listener mode.
This is an immutable class. Listeners are parameterized by the type of com.markblokpoel.lanag.core.Intention and com.markblokpoel.lanag.core.Signal they use.
- I
The intention type must be a subtype of com.markblokpoel.lanag.core.Intention.
- S
The signal type must be a subtype of com.markblokpoel.lanag.core.Signal.
-
case class
NoData() extends Data with Product with Serializable
Use this class in your agent simulation implementation when you have no data to collect.
-
abstract
class
PairGenerator[P <: Parameters, I <: Intention, S <: Signal, A <: Agent[I, S], D <: Data] extends Serializable
Defines a pair generator.
Defines a pair generator.
Implementations of this specify a parameter space and how, for any value in the parameter space, a pair of agents can be randomly generated. This class is parameterized by the parameter type, intention type, signal type, agent type and data type.
- P
Specifies the type of parameters in the parameter space, must be a subtype of com.markblokpoel.lanag.core.Parameters.
- I
Specifies the type of intention the agents generated use, must be a subtype of com.markblokpoel.lanag.core.Intention.
- S
Specifies the type of signal the agents generated use, must be a subtype of com.markblokpoel.lanag.core.Signal.
- A
Specifies the type agents generated, must be a subtype of com.markblokpoel.lanag.core.Agent.
- D
Specifies the data generated, must be a subtype of com.markblokpoel.lanag.core.Data.
- Annotations
- @SerialVersionUID()
-
trait
Parameters extends AnyRef
Prototype type for parameters.
Prototype type for parameters. All implementations of PairGenerator should also specify a case class that implements this.
-
case class
ReferentialIntention(content: Option[Int]) extends IntentionPrototype[Option[Int]] with Product with Serializable
A basic referential intention.
A basic referential intention.
The content of this intention type is an index referring to a particular referent, for example, in a com.markblokpoel.lanag.rsa.Lexicon.
- content
The optional referent index.
-
trait
Repair extends AnyRef
Signals that implement this trait consist of repair information.
-
trait
Signal extends AnyRef
The prototype signal type.
The prototype signal type. All signal types are derivatives of this trait.
-
trait
Speaker[I <: Intention, S <: Signal] extends Agent[I, S]
A special case of Agent where it is in speaker mode.
A special case of Agent where it is in speaker mode.
This is an immutable class. Speakers are parameterized by the type of com.markblokpoel.lanag.core.Intention and com.markblokpoel.lanag.core.Signal they use.
- I
The intention type must be a subtype of com.markblokpoel.lanag.core.Intention.
- S
The signal type must be a subtype of com.markblokpoel.lanag.core.Signal.
Value Members
-
object
ContentSignal extends Product with Serializable
Helper object to create instance of ContentSignal.
-
object
ReferentialIntention extends Product with Serializable
Helper object to create instance of ReferentialIntention.
Language Agents Simulation framework
For detailed documentation on using the framework please see the README.md file at the Github repository at https://github.com/markblokpoel/lanag-core.