Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
- Installing MiCA
- The MiCA paper (PDF)
- Introduction video
- Debugging and logging HOWTO and collecting debug information
Example Composite Protocol Code
Example implementation of four simple protocols, composition into a composite protocol using the correlated merge operator, and running a simulation of the composite using the TestHarness class.
- Leader election protocol: MinAddressLeaderElection.java
- Spanning tree overlay protocol: SpanningTreeOverlay.java
- Tree node-counting protocol: TreeCountNodes.java
- Tree node-labeling layer: TreeLabelNodes.java
- Putting it all together: Merging and running a simulation of the composite protocol. ExampleCompositeProtocolTest.java
Important Library Classes Javadocs
- BaseProtocol - Base class for protocols
- Distribution - Used for representing views. Probability-weighted collection of objects.
- MergeCorrelated - Correlated merge operator for protocol composition
- MergeIndependent - Independent merge operator for protocol composition
- Overlay - "Smart view" object used to delegate views to other protocol layers
- TestHarness - Launch a simulation of one or many MiCA nodes for testing, either in a simulated network or on a local machine using many protocol instances communicating with TCP/IP in the same JVM.
- MicaOptions - Command line options for TestHarness specify number of nodes, network topology, etc.
- Launcher - Launch a single MiCA node from the command line.