summaryrefslogtreecommitdiff
path: root/src/main/java/prefs/VSDefaultPrefs.java
AgeCommit message (Collapse)Author
2026-03-27sr: retune Raft replay for faster reelectionPaul Buetow
2025-06-20Implement Raft consensus algorithm for distributed systems simulatorPaul Buetow
This commit adds a complete implementation of the Raft consensus algorithm, providing a robust solution for achieving consensus in distributed systems. Key features implemented: - Three-state system: Follower, Candidate, and Leader states - Leader election with randomized election timeouts (150-300ms) - Log replication for state machine commands - Heartbeat mechanism to maintain leader authority - Safety guarantees through term numbers and log consistency checks - Proper handling of split votes and network partitions Implementation details: - Added VSRaftProtocol.java with full Raft algorithm logic - Integrated with existing event-driven simulation framework - Supports dynamic cluster sizes with proper quorum calculations - Implements RequestVote and AppendEntries RPCs - Maintains persistent state (currentTerm, votedFor, log entries) - Includes comprehensive logging for debugging and visualization Testing: - Added VSRaftProtocolTest.java with unit tests covering: - Leader election scenarios - Log replication mechanics - State transitions - Message handling for all RPC types Integration: - Registered protocol in VSRegisteredEvents for simulator discovery - Added human-readable names in VSDefaultPrefs for UI display - Compatible with existing visualization and timing systems This implementation follows the Raft paper closely while adapting to the simulator's event-driven architecture and message-passing model. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20Implement dynamic version injection from pom.xmlPaul Buetow
- Create version.properties resource file with Maven placeholders - Enable Maven resource filtering for version.properties - Add VSVersionInfo utility class to read version at runtime - Update VSDefaultPrefs to use dynamic version instead of hardcoded - Version now shows "Distributed Systems Simulator 1.0.1-SNAPSHOT" - Includes build timestamp for better traceability The version in the title bar is now automatically updated from the pom.xml version during the build process. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20Replace VS-Simulator with Distributed Systems Simulator in title barPaul Buetow
Change application name from "VS-Simulator 1.2-beta" to "Distributed Systems Simulator 1.2-beta" for better clarity. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20Complete implementation of timestamp event classesPaul Buetow
- Add language strings for all timestamp events and demo protocol in VSDefaultPrefs - Register new timestamp events and protocol in VSRegisteredEvents: - VSLamportTimestampEvent - VSVectorTimestampEvent - VSTimestampMonitorEvent - VSTimestampTriggeredEvent - VSTimestampDemoProtocol - Integrate VSVectorClockMonitor into VSInternalProcess: - Add vectorClockMonitor field - Override increaseVectorTime() and updateVectorTime() to trigger monitor - Clear monitor events on reset - Add getVectorClockMonitor() accessor - Add serialization support to VSTimestampTriggeredEvent for persistence - Fix VSTimestampDemoProtocol to use process's vector clock monitor - All 132 unit tests pass 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-12Remove hard-coded German locale and improve English localizationPaul Buetow
- Change default locale from German to English in VSMain.java - Fix language key typos: "loging" → "logging" throughout codebase - Improve English language strings: - "Insert" → "Add" for better UX terminology - "Fullfilled" → "Fulfilled" (spelling correction) - "GLobal" → "Global" (capitalization fix) - "Delete logs" → "Clear logs" (more appropriate action) - Update all references to changed language keys 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06Modernize UI and fix localization: - Rollback to Swing UI - Update build ↵Paul Buetow
configuration - Fix localization string handling - Add missing localization strings - Improve protocol event handling
2025-06-06Modernize project structure, update Maven config, move sources, add logging ↵Paul Buetow
config, update README and .gitignore