Enterprise-grade Asset Administration Shell (AAS) data modeling and management platform with comprehensive business logic, authentication, and data governance capabilities
The AAS Data Modeling Engine is a comprehensive platform designed for enterprise-scale Asset Administration Shell (AAS) operations, providing:
- π§ Core Business Services - Organizations, projects, files, and workflow management
- π Authentication & Authorization - User management, role-based access control, and security
- π Data Governance - Lineage tracking, quality assessment, change management, versioning, and policy enforcement
- π€ AI/ML Integration Ready - Built-in support for AI, RAG, and specialized processing modules
- π Scalable Architecture - Modular design with clean separation of concerns
- π Enterprise Security - Comprehensive audit trails, compliance monitoring, and data protection
- π Real-time Monitoring - Health monitoring, analytics, and performance tracking
- π§ͺ Comprehensive Testing - Unit tests, integration tests, and validation frameworks
The engine follows a two-tier integration approach that separates core business logic from specialized processing modules:
src/
βββ engine/ # Core Business Platform
β βββ services/
β β βββ business_domain/ # β
COMPLETED
β β β βββ organization_service.py
β β β βββ project_service.py
β β β βββ file_service.py
β β β βββ workflow_service.py
β β βββ auth/ # β
COMPLETED
β β β βββ user_service.py
β β β βββ role_service.py
β β β βββ auth_service.py
β β β βββ metrics_service.py
β β βββ data_governance/ # β
COMPLETED
β β β βββ lineage_service.py
β β β βββ quality_service.py
β β β βββ change_service.py
β β β βββ version_service.py
β β β βββ policy_service.py
β β βββ integration/ # Internal Engine Integration
β β βββ audit_service.py
β β βββ compliance_service.py
β β βββ workflow_orchestration.py
β βββ models/ # Data models and validation
β βββ repositories/ # Data access layer
β βββ database/ # Database management
βββ modules/ # Task modules
β βββ aasx/ # AASX processing
β β βββ models/
β β βββ repositories/
β β βββ services/
β βββ ai_rag/ # AI/RAG processing
β β βββ models/
β β βββ repositories/
β β βββ services/
β βββ kg_neo4j/ # Knowledge graph (Neo4j)
β β βββ models/
β β βββ repositories/
β β βββ services/
β βββ twin_registry/ # Digital twin registry
β β βββ models/
β β βββ repositories/
β β βββ services/
β βββ certificate_manager/ # Certificate management
β βββ physics_modeling/ # Physics modeling
β βββ federated_learning/ # Federated learning
βββ integration/ # Cross-Module Integration Layer
βββ module_orchestrator.py # Coordinates between engine and task modules
βββ cross_module_workflow.py # Workflows spanning multiple modules
βββ unified_api_gateway.py # Single entry point for all modules
βββ global_monitoring.py # System-wide monitoring and metrics
- Scope: Integrate services within the
src/engine/directory - Purpose: Create a cohesive core business platform
- Services: Business domain, authentication, data governance
- Status: π TO BE IMPLEMENTED
- Scope: Integrate
src/engine/with external task modules - Purpose: Connect core business logic with specialized processing
- Modules: aasx, ai_rag, kg_neo4j, twin_registry, etc.
- Status: π TO BE IMPLEMENTED
Specialized processing lives in src/modules/. Each module has its own models, repositories, services, and (where needed) core logic and integrations.
| Module | Path | What it does |
|---|---|---|
| AASX | src/modules/aasx/ |
AASX file ingestion and ETL. Validates and processes AASX packages, runs extraction/generation workflows, and orchestrates population of AASX-dependent modules (e.g. Twin Registry, AI RAG, KG). |
| Twin Registry | src/modules/twin_registry/ |
Digital twin lifecycle, sync, and relationships. Manages twin instances, configuration, and events; provides lifecycle status, sync operations, and real-time monitoring. |
| KG Neo4j | src/modules/kg_neo4j/ |
Knowledge graph over AAS/twin data. Neo4j-backed graph management, analytics, and lifecycle; supports extraction/generation workflows and integration with the rest of the platform. |
| AI RAG | src/modules/ai_rag/ |
Retrieval-augmented generation and document intelligence. Handles embedding, vector search, LLM-backed generation, document processing (including CAD/code), and graph metadata for knowledge extraction. |
| Federated Learning | src/modules/federated_learning/ |
Privacy-preserving distributed ML across twins and organizations. Trains models from data that stays at the source; aggregates only model updates. See Federated Learning below for details. |
| Physics Modeling | src/modules/physics_modeling/ |
Physics and simulation. Plugin-based framework for custom physics types and solvers (e.g. thermal, structural), model creation from twins, and integration with the shared database. |
| Certificate Manager | src/modules/certificate_manager/ |
Digital certificate lifecycle and trust. Creates and manages certificates for AAS/digital twin use cases, supports multi-format export (PDF, HTML, JSON, etc.), signing, QR codes, and audit trails. |
The engine is built for enterprise AAS operations with clear separation between core platform and task modules. Below is what each area provides.
The codebase is organized so that business logic, data access, and configuration are clearly separated. Components are loosely coupled and easier to test and extend.
- Clean Architecture - Separation of concerns with distinct layers
- Dependency Injection - Loose coupling between components
- Repository Pattern - Abstracted data access layer
- Service Layer - Business logic encapsulation
- Configuration Management - Environment-specific settings
Data is organized in a hierarchy (use cases β projects β files), validated on input, and tracked for lineage and changes. Multiple formats are supported with consistent IDs and audit trails.
- Multi-Format Support - Process data into various formats
- Hierarchical Organization - Use Cases β Projects β Files structure
- Unique ID Management - UUID-based identification with context awareness
- Data Validation - Comprehensive input validation and sanitization
- Audit Trails - Complete change tracking and history
Access is controlled by roles and permissions; authentication uses JWT. Data is protected in transit and at rest, with sanitization and audit logging for compliance.
- Role-Based Access Control - Granular permissions system
- Authentication & Authorization - JWT-based security
- Data Encryption - At-rest and in-transit encryption
- Input Sanitization - Protection against injection attacks
- Audit Logging - Security event tracking
The platform supports RAG, vector search, and federated learning so you can run semantic search and train models across sites without centralizing raw data. Model lifecycle and analytics pipelines are supported.
- RAG Integration - Retrieval-Augmented Generation support
- Vector Databases - Semantic search capabilities
- Federated Learning - Privacy-preserving distributed ML (see Federated Learning below)
- Model Management - AI model versioning and deployment
- Analytics Pipeline - Data science workflow support
Health, performance, and errors are monitored across the system. Usage and custom dashboards support operations and tuning.
- Health Monitoring - System and component health tracking
- Performance Metrics - Real-time performance monitoring
- Error Tracking - Comprehensive error handling and reporting
- Usage Analytics - User behavior and system usage insights
- Custom Dashboards - Configurable analytics views
The engine includes a Federated Learning task module for privacy-preserving, distributed machine learning across digital twins and organizations. Training data stays at each site; only model updates (e.g. gradients or weights) are sent to an aggregator, so multiple parties can improve a shared model without sharing raw data.
- Input: Fed by the Population Orchestrator (twin tables and AASX-derived data) after governance and module sync.
- Output: Feeds into Cross-Module Fusion with other modules (AI RAG, KG Neo4j, Physics Modeling, etc.) for orchestrated workflows and quality assessment.
See the framework flowchart for the full data and control flow.
- Federation engine & orchestration β
FederationEngine,FederatedLearningService, and advanced federation orchestration. - Local training & aggregation β
LocalTrainerfor on-site training andAggregationServerfor secure model aggregation (e.g. FedAvg). - Privacy & compliance β Differential privacy, secure aggregation, privacy preservation and compliance monitoring services.
- Registry & metrics β Federated learning registry (45-column schema) and metrics for participation, rounds, and performance.
- Integrations β AASX, Twin Registry, AI RAG, KG Neo4j, and Physics Modeling for federation discovery and data preparation.
Federations can be created or enriched from:
- AASX module β federation opportunities from file/asset analysis
- Twin Registry β federation opportunities from twin analysis
- AI RAG β discovery from knowledge graphs and semantic search
- External ML platforms β federation data from external systems
- Manual creation β user-initiated federation setup
- Module:
src/modules/federated_learning/ - Registry & roadmap:
src/modules/federated_learning/services/README_ROADMAP.md
- Python 3.8+ - Modern Python with async support
- SQLite - Lightweight relational database for development
- Pydantic - Data validation using Python type annotations
- Repository Pattern - Abstracted data access
- Service Layer - Business logic encapsulation
- Observer Pattern - Event-driven communication
- Strategy Pattern - Configurable business logic
- Factory Pattern - Service instantiation management
- pytest - Testing framework
- asyncio - Asynchronous programming support
- logging - Comprehensive logging system
aas-data-modeling/
βββ src/
β βββ engine/ # Core Business Platform
β β βββ models/ # Data models
β β βββ repositories/ # Data access layer
β β βββ services/ # Business logic services
β β βββ database/ # Database management
β β βββ CORE_BUSINESS_LOGIC_PLAN.md
β βββ modules/ # Task modules
β β βββ aasx/ # AASX processing
β β βββ ai_rag/ # AI/RAG processing
β β βββ kg_neo4j/ # Knowledge graph (Neo4j)
β β βββ twin_registry/ # Digital twin registry
β β βββ certificate_manager/ # Certificate management
β β βββ physics_modeling/ # Physics modeling
β β βββ federated_learning/ # Federated learning
β βββ integration/ # Cross-module integration
βββ scripts/ # Test and utility scripts
βββ tests/ # Test suites
βββ docs/ # Documentation
βββ README.md # This file
- Python 3.8 or higher
- SQLite (for development)
- Git
# Clone the repository
git clone <repository-url>
cd aas-data-modeling
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt# Run all tests
python scripts/test_data_governance_services.py
# Run specific test suites
python -m pytest tests/- Complete Phase 6A - Internal engine integration
- Implement Task Modules - Each module with complete architecture
- Complete Phase 6B - Cross-module integration
- End-to-End Testing - Validate complete system integration
- Production Deployment - Enterprise-grade deployment
- Performance Optimization - Scalability and performance tuning
- Additional Modules - Expand specialized processing capabilities
- API Documentation - Comprehensive API documentation
- User Interface - Web-based user interface
We welcome contributions! Please see our contributing guidelines for details on:
- Code style and standards
- Testing requirements
- Pull request process
- Issue reporting
For support and questions:
- Create an issue in the repository
- Check the documentation
- Review the test examples
Note: This README documents the current state of the AAS Data Modeling Engine. The two-tier integration architecture ensures clean separation between core business logic and specialized processing modules, enabling scalable and maintainable development.