Skip to content
github-actions[bot] edited this page Jun 22, 2026 · 2 revisions

Mnestix Logo

Mnestix AAS Generator

Made by XITASO MIT License

Welcome to the Mnestix AAS Generator Wiki!

Mnestix AAS Generator is an open-source .NET application that provides REST APIs and services for managing Asset Administration Shells (AAS) within the Eclipse Mnestix ecosystem. It enables automated Submodel generation from structured data using a rules engine, template management, repository integration, and more.

Note: The proxy which handles requests to BaSyx is in a separate repository. The AAS Generator component within this repository handles the generation of Submodels from structured data using a rules engine.

Features

  • AAS Creation: Create AAS instances with optional auto-generated Submodels (supports overwriting existing shells)
  • Template Management: Blueprint-based AAS and Submodel templates
  • AAS Generator (Rules Engine): Automated generation of AAS Submodels from structured data
  • Authentication & Authorization: API key and OAuth-based security
  • Repository Integration: Proxy services for Eclipse BaSyx repositories
  • ID Generation: Standardized identifier creation for AAS components
  • Configuration Management: Dynamic configuration of system behavior

Core Components

  • MnestixApi: REST API controllers, authentication, middleware
  • MnestixCore: Business logic, services, and core functionality
    • AasCreator: Create complete AAS instances
    • AASGenerator: Rules-based Submodel generation
    • TemplateBuilder: Template and blueprint management
    • IdGenerator: AAS/Submodel ID generation services
    • RepoProxyClient: Eclipse BaSyx repository integration
    • ConfigurationService: Runtime configuration management
  • Testing: Comprehensive unit and integration test suites

Quick Start

Development Setup

  1. Prerequisites: .NET 8, Docker (for BaSyx), MongoDB
  2. Local Run: dotnet watch run or use Rider configuration
  3. Docker: docker compose -f ./docker-compose/compose.dev.go.yml up

Key Endpoints

  • /api/v2/DataIngest - Generate Submodels from templates and data
  • /api/v2/Blueprints - Manage Submodel blueprints
  • /api/v2/AasCreator - Create an AAS with optional Submodels
  • /swagger - Interactive API documentation

Configuration

Key settings in appsettings.json:

  • Features__UseAuthentication - Enable/disable auth
  • Features__RequiredShells - Assert required shells exist on startup
  • CustomerEndpointsSecurity__ApiKey - API key for secured endpoints
  • Configuration__SubmodelTemplatesApiUrl - Optional remote templates API URL

BaSyx repository addresses are configured via ReverseProxy__Clusters environment variables in the Docker Compose file (see docker-compose/compose.dev.go.yml).

Documentation

Clone this wiki locally