Contents |
Migrate from Madkit to Janus
This page provides a mapping of the MadKit features to the Janus features.
The version of MadKit described on this page is the 4.2.0; and the version of TurtleKit is the 2.4.6.
Legend
The following colors indicates the type of support by Janus of the features:
- green: fully supported Madkit feature.
- orange: supported Madkit feature by an extension or a specific kernel usage.
- brown: supported Madkit feature, but hidden to Janus users.
- red: discarted Madkit feature.
General Mapping
| Madkit | Janus |
|---|---|
| AgentAddress | |
| GroupIdentifier | |
| Kernel | |
| MadKit | |
| Message | |
| ObjectMessage | |
| Probe | |
| StringMessage | |
| Utils |
Mapping to Organizational Context
The following tables permit to retreive the Janus features in an organizational context (Organization, role, capacity or role player) of the Madkit features.
AbstractAgent
Agent
| Madkit | Janus | |
|---|---|---|
| Class | Function | |
| exitImmediatelyOnKill() | Role | "commit suicide" flag. |
| RoleCapacityImplementation | ||
| RolePlayer | ||
| live() | Role | |
| RoleCapacityImplementation | ||
| RolePlayer | ||
| waitNextMessage() | Role | |
| RoleCapacityImplementation | ||
| RolePlayer | ||
| waitNextMessage(timeout) | Role | |
| RoleCapacityImplementation | ||
| RolePlayer | ||
Activator
| Madkit | Janus | |
|---|---|---|
| Class | Function | |
| execute() | RoleActivator | |
| getAgentNb() | AbstractActivableContainer | |
| getAgentsIterator() | AbstractActivableContainer | |
| getCommunity() | ||
| getCurrentAgentsList() | AbstractActivableContainer | |
| getGroup() | ||
| getRole() | ||
| getShuffledAgentsIterator() | AbstractActivableContainer | |
| initialize() | RoleActivator | |
| numberOfAgents() | AbstractActivableContainer | |
| update(agent, added) | AbstractActivator | |
Mapping to Agent Context
The following tables permit to retreive the Janus features in an agent context (Agent or Kernel agent) of the Madkit features.
Let Agent class extends RolePlayer, so that all functions available for RolePlayer are also available for Agent.
Let KernelAgent class extends Agent, so that all functions available for Agent are also available for KernelAgent.
AbstractAgent
| Madkit | Janus | |
|---|---|---|
| Class | Function | |
| activate() | Agent | |
| end() | Agent | |
| getAgentInformation(). getCreationDate() | Agent | |
| getAgentInformation(). getOwner() | Agent | |
| KernelAgent | ||
| getController() | Agent | controller is the agent or its roles. |
| getCurrentKernelAddress() | Agent | |
| getMessageBoxSize() | Agent | |
| isMessageBoxEmpty() | Agent | |
| killAgent (agentInstance) | Agent | |
| launchAgent (agentInstance, name, hasGUI) | Agent | |
| launchAgent (agentInstance, name, position, dimension) | ||
| nextMessage() | Agent | |
| sendMessage (agentAddress, message) | Agent | |
| setController (controller) | Agent | see role playing |
Agent
| Madkit | Janus | |
|---|---|---|
| Class | Function | |
| connectAgencyToAgency (host, port) | NetworkingKernelAgent | see network support. |
| createPlace (place) | NetworkingKernelAgent | see network support. |
| createPlace (place, information) | NetworkingKernelAgent | see network support. |
| enableMobility (name) | NetworkingKernelAgent | see network support. |
| enableMobility (name, port) | NetworkingKernelAgent | see network support. |
| exitImmediatlyonKill () | NetworkingKernelAgent | "commit suicide" flag. |
| getAgentNamed (name) | Agent | |
| joinPlace (place, pwd) | NetworkingKernelAgent | see network support. |
| joinPlace (community, place, pwd) | NetworkingKernelAgent | see network support. |
| live() | Agent | |
| pause(t) | Agent | |
| receiveMessage (message) | Agent | see Mailbox. |
| run() | Kernel | |
| waitNextMessage() | ||
| waitNextMessage(timeout) | ||
Activator
| Madkit | Janus | |
|---|---|---|
| Class | Function | |
| execute() | AgentActivator | |
| getAgentNb() | AbstractActivableContainer | |
| getAgentIterator() | AbstractActivableContainer | |
| getCommunity() | ||
| getCurrentAgentsList() | AbstractActivableContainer | |
| getGroup() | ||
| getRole() | ||
| getShuffledAgentsIterator() | AbstractActivableContainer | |
| initialize() | AgentActivator | |
| numberOfAgents() | AbstractActivableContainer | |
| update(agent, added) | AbstractActivator | |
Scheduler
| Madkit | Janus | |
|---|---|---|
| Class | Function | |
| addActivator (activator) | AbstractScheduler | |
| addActivator (activator, accessCard) | AbstractScheduler | |
| end() | AbstractScheduler | |
| getActivators() | AbstractActivableContainer | |
| removeActivator (activator) | AbstractScheduler | |
| removeActivators() | AbstractScheduler | |
SynchroScheduler
| Madkit | Janus | |
|---|---|---|
| Class | Function | |
| addActivator (activator) | AbstractScheduler | |
| addActivator (activator, accessCard) | AbstractScheduler | |
| end() | AbstractScheduler | |
| getActivators() | AbstractActivableContainer | |
| removeActivator (activator) | AbstractScheduler | |
| removeActivators() | AbstractScheduler | |
Migrate from TurtleKit to Janus
TurtleKit is an extension of MadKit. It provides a discrete situated environment and a high-level language similar to LOGO.
TurtleKit source code could be mapped to Jaak, which is a Janus extention with discrete situated 2D environment.


