DiMaWo 0.1 API

The DiMaWo framework eases the development of distributed applications based on a Master/Worker architecture.

See:
          Description

Packages
dimawo Contains helper classes for reflection as well as the core base classes of a DiMaWo application.
dimawo.agents Contains the base implementation of DiMaWo agents.
dimawo.agents.events Contains events that may be handled by any agent.
dimawo.exec This package provides classes used to execute DiMaWo Master and Workers.
dimawo.fileTransfer Contains classes common to DiMaWo's file transfer agents; in particular, a message factory interface whose implementation must be provided in order to use file transfer agents.
dimawo.fileTransfer.client Contains classes implementing DiMaWo's file transfer client.
dimawo.fileTransfer.client.events Provides the events handled by the file transfer client agent.
dimawo.fileTransfer.client.messages Provides the interfaces of the messages handled by a file transfer client agent.
dimawo.fileTransfer.server Contains classes implementing DiMaWo's file transfer server.
dimawo.fileTransfer.server.events Provides the events handled by file transfer agent server.
dimawo.fileTransfer.server.messages Provides the interfaces of the messages handled by a file transfer server agent.
dimawo.fileTransfer.test Contains a test-suite for DiMaWo's file transfer components.
dimawo.master.events Provides the events handled by DiMaWo's master agent.
dimawo.master.messages Provides the messages handled by DiMaWo's master agent.
dimawo.middleware.barriersync Contains the base implementation of a barrier synchronization agent.
dimawo.middleware.barriersync.events Provides the events handled by base implementation of barrier synchronization agent.
dimawo.middleware.commonEvents Provides events common to most DiMaWo's middleware components.
dimawo.middleware.communication Contains the implementation of DiMaWo's communication framework.
dimawo.middleware.communication.events Provides the events handled by the Communicator.
dimawo.middleware.communication.inputStream Contains the implementation of the thread reading messages from a socket created after the connection by a remote message writing thread.
dimawo.middleware.communication.messages Contains the messages directly handled by the Communicator.
dimawo.middleware.communication.outputStream Provides the implementation of the thread sending messages submitted by local components to a remote reception thread.
dimawo.middleware.communication.server Provides the implementation of the server thread accepting connections from remote computers.
dimawo.middleware.communication.testing Provides a test-suite for sending and reception threads.
dimawo.middleware.distributedAgent Contains the implementation of the Distributed Agent.
dimawo.middleware.distributedAgent.events Provides the events handled by the Distributed Agent.
dimawo.middleware.distributedAgent.logging Provides several implementations of a simple logging system that can be used by Distributed Agent.
dimawo.middleware.distributedAgent.messages Provides messages handled by a Distributed Agent.
dimawo.middleware.fileSystem Contains the implementation of DiMaWo's distributed file system.
dimawo.middleware.fileSystem.events Provides the events handled by File System Agent.
dimawo.middleware.fileSystem.fileDB Contains the implementation of the local file table and the partial global file table used by File System Agent.
dimawo.middleware.fileSystem.fileTransfer Contains the implementation of the file downloader.
dimawo.middleware.fileSystem.fileTransfer.downloader Contains the implementation of the file downloader.
dimawo.middleware.fileSystem.fileTransfer.downloader.events Provides the events handled by file downloader.
dimawo.middleware.fileSystem.fileTransfer.downloader.messages Provides the messages handled by file downloader.
dimawo.middleware.fileSystem.fileTransfer.messages Provides messages exchanged by file downloader and uploader.
dimawo.middleware.fileSystem.fileTransfer.uploader Provides the implementation of file uploader.
dimawo.middleware.fileSystem.fileTransfer.uploader.events Provides the events handled by file uploader.
dimawo.middleware.fileSystem.fileTransfer.uploader.messages Provides the messages handled by file uploader.
dimawo.middleware.fileSystem.messages Provides the messages handled by File System Agent.
dimawo.middleware.overlay Contains all interfaces related to the overlay agent.
dimawo.middleware.overlay.faultdetection Contains the implementation of fault detection service.
dimawo.middleware.overlay.faultdetection.events Provides events handled by fault detection agent.
dimawo.middleware.overlay.faultdetection.messages Provides messages handled by fault detection agent.
dimawo.middleware.overlay.impl.central Provides a centralized implementation of the overlay.
dimawo.middleware.overlay.impl.central.barrier Provides a centralized implementation of barrier synchronization.
dimawo.middleware.overlay.impl.central.barrier.messages Provides the messages used by centralized implementation of barrier synchronization.
dimawo.middleware.overlay.impl.central.broadcast Provides a centralized implementation of broadcast.
dimawo.middleware.overlay.impl.central.events Provides the events handled by the agents implementing centralized broadcast.
dimawo.middleware.overlay.impl.central.map Contains the centralized implementation of shared map.
dimawo.middleware.overlay.impl.central.messages Provides the messages exchanged in the context of the centralized implementation of the overlay.
dimawo.middleware.overlay.impl.decentral Contains the implementation of the mostly decentralized overlay.
dimawo.middleware.overlay.impl.decentral.barriersync Contains a barrier synchronization implementation based on a computer tree.
dimawo.middleware.overlay.impl.decentral.barriersync.events Provides the events handled by barrier synchronization implementation based on a computer tree.
dimawo.middleware.overlay.impl.decentral.barriersync.messages Provides the messages handled by barrier synchronization implementation based on a computer tree.
dimawo.middleware.overlay.mntree Contains the implementation of the MN-tree overlay (see MnTreePeerAgent class for more details).
dimawo.middleware.overlay.mntree.events Provides the events handled by MNTreePeerAgent.
dimawo.middleware.overlay.mntree.forwarding Contains the implementation of MNTreePeerAgent's reliable forwarding component.
dimawo.middleware.overlay.mntree.forwarding.messages Provides the messages exchanged in the context of reliable forwarding.
dimawo.middleware.overlay.mntree.messages Provides the messages exchanged MN-tree peer agents.
dimawo.middleware.sharedMap Provides a base implementation of shared-map agent.
dimawo.middleware.sharedMap.dht.chord Provides an implementation of shared-map agent based on Chord DHT (see ChordAgent class).
dimawo.middleware.sharedMap.dht.chord.callstates Contains call states of Chord shared-map Agent.
dimawo.middleware.sharedMap.dht.chord.events Contains the events handled by Chord shared-map agent.
dimawo.middleware.sharedMap.dht.chord.messages Contains the messages handled by Chord shared-map agent.
dimawo.middleware.sharedMap.events Contains the events handled by base shared-map agent.
dimawo.middleware.sharedMap.messages Contains the messages handled by base shared-map agent.
dimawo.middleware.stabilizer Contains the implementation of a stabilizer.
dimawo.simulation This package contains the core classes of DiMaWo's simulator.
dimawo.simulation.cluster Provides the implementation of a virtual cluster.
dimawo.simulation.host Contains the implementation of a virtual computer called virtual host.
dimawo.simulation.host.events This package contains the events handled by a virtual host.
dimawo.simulation.middleware Contains the implementation of the virtual middleware.
dimawo.simulation.middleware.events Contains the events handled by the virtual middleware.
dimawo.simulation.net Contains the implementation of the virtal network connecting the virtual hosts of a virtual cluster together.
dimawo.simulation.socket Contains the implementation of virtal and real sockets used by simulated or non simulated processes to communicate.
dimawo.simulation.testing Provides a simple test-suite for simulation components.
dimawo.timer Contains the implementation of a simple timer wrapper.

 

The DiMaWo framework eases the development of distributed applications based on a Master/Worker architecture. The framework provides common services (broadcasting, leader election, etc.) that are implemented in a mostly decentralized way.

DiMaWo applications are composed of agents interacting in an asynchronous way. The user must at least provide 2 types of agents: the Worker Agent (WA) and the Master Agent (MA). He does so through a specific implementation of Master/Worker Factory interface. The WA implements the workers of the application and the MA the master. DiMaWo provides generic "executable" (i.e defining a static main method) classes that can be used to easily deploy a DiMaWo application (see exec package).

In addition to user provided agents, a DiMaWo application implies several core agents:

Each core agent is instantiated one time per computer running a DiMaWo application's process. Each computer therefore also runs a WA and, if the computer is the elected leader, the MA.

DiMaWo provides agents that implement a simple file transfer protocol that uses DiMaWo's COM. In particular, these agents are used by the FSA. For more details, see fileTransfer package.



Copyright © 2011 DiMaWo Team. All Rights Reserved.