# Architecture Documentation
This directory contains the architectural design and documentation for the Jakarta Migration MCP server.
## Documents
### [Core Modules Design](./core-modules-design.md)
Comprehensive neuro-symbolic architecture design for the three core modules:
- **Module 1: Dependency Analysis Module** - Analyzes Java dependencies and identifies javax/jakarta compatibility
- **Module 2: Code Refactoring Module** - Systematically refactors code using OpenRewrite with intelligent ordering
- **Module 3: Runtime Verification Module** - Verifies migration success through runtime execution and monitoring
### [UML Diagrams](./uml-diagrams.md)
Visual representations of the architecture:
- Class diagrams for each module
- Sequence diagrams showing interaction flows
- Integrated migration flow diagram
- Neuro-symbolic engine architecture
## Architecture Overview
The Jakarta Migration MCP follows a **neuro-symbolic architecture** that combines:
1. **Symbolic Layer**: Rule-based logic using OpenRewrite recipes, dependency graphs, and migration patterns
2. **Neural Layer**: ML models for predicting compatibility, optimal refactoring order, and risk assessment
3. **Hybrid Reasoning**: Validates neural predictions with symbolic rules and provides explainable decisions
## Module Interactions
```
Dependency Analysis → Migration Planning → Incremental Refactoring → Runtime Verification
↓ ↓ ↓ ↓
Neuro-Symbolic Engine (Validates, Explains, Learns)
```
## Key Design Principles
1. **Incremental Migration**: Break down refactoring into manageable phases
2. **Intelligent Ordering**: Use ML to predict optimal refactoring sequence
3. **Progress Tracking**: Maintain detailed state of migration progress
4. **Runtime Verification**: Validate migration success through actual execution
5. **Explainable AI**: Provide human-readable explanations for all decisions
## Implementation Status
- ✅ Architecture design complete
- ✅ UML diagrams created
- ⏳ Implementation pending (see implementation strategy in core-modules-design.md)
## Next Steps
1. Review and refine the architecture design
2. Begin implementation with Module 1 (Dependency Analysis)
3. Integrate OpenRewrite recipes
4. Build ML models for prediction
5. Implement neuro-symbolic reasoning engine
---
*Last Updated: 2026-01-27*