Connectors
Welcome to the Connectors section of the Genie User Manual.
This section provides comprehensive documentation for building and implementing connector systems that integrate external tools and simulation engines with the Genie platform. Connectors are built using the Connector Development Kit (CDK) framework and follow standardized patterns for WebSocket-based communication, data validation, and request handling.
What You'll Find Here
CDK (Connector Development Kit)
Core framework components for building connectors:
- BaseConnector - Abstract base class for WebSocket-based connectors
- BaseDomain - Foundation for domain-specific request handlers
- Router - Endpoint registration and request dispatching system
- Middleware - Request/response processing pipeline
- CDKSettings - Configuration management
- Registration - Orchestrator registration utilities
SimPackage Implementation
A complete connector implementation for simulation engines:
- SimConnector - Simulation-focused connector implementation
- SimInterface - Abstract interface for simulator backends
- Simulator - Domain handler for simulation requests
- Router Handlers - API endpoints for simulation operations
- Connector Models - Pydantic data validation models
Architecture Overview
Connectors follow a layered architecture:
- Connection Layer: WebSocket-based communication with the Genie orchestrator
- Routing Layer: Request dispatching to appropriate handlers with middleware support
- Domain Layer: Business logic processing with strategy pattern implementations
- Data Layer: Pydantic models for structured data validation and serialization
Why Use the CDK Framework?
The CDK provides a standardized approach to connector development:
- Consistent Interface: All connectors follow the same communication patterns
- Built-in Features: WebSocket management, heartbeat handling, error recovery
- Middleware Support: Extensible request/response processing pipeline
- Type Safety: Pydantic-based data validation and serialization
- Strategy Pattern: Pluggable backend implementations via interface abstractions
- Production Ready: Connection pooling, thread management, and robust error handling
Current Connector Implementations
- Simulation Connectors: Support for electrical circuit simulators (NgSpice, LTSpice, Cadence)
- Schematic upload and netlist extraction
- Parameter extraction and modification
- Simulation execution and results capture
- Dependency management and circuit porting
Getting Started
For Connector Users
Navigate to the SimPackage section to learn how to configure and use existing simulation connectors.
For Connector Developers
Start with the CDK documentation to understand the framework components, then examine the SimPackage implementation as a reference for building domain-specific connectors.
Each connector must implement:
- A strategy class extending the appropriate interface
- Domain-specific request handlers
- Data models for request/response validation
- Registration with the Genie orchestrator