dart_aas (EXPERIMENTAL)

The Full Profile of the Asset Administration Shell Repository Service Specification as part of Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023

This Dart package is partially generated by the OpenAPI Generator project:

Note: This package doesn't check for unexpected additional properties when parsing data. All optional data validation is assertion based, not running in release mode.

Installation & Usage

pub.dev

dependencies:
  dart_aas: 1.0.0

Gitlab

dependencies:
  dart_aas:
    git:
      url: https://git.rwth-aachen.de/co2for-it/s3i/dart_aas.git
      #ref: main

Local development

dependencies:
  dart_aas:
    path: /path/to/dart_aas

Getting Started

Please follow the installation procedure and then run the following:

import 'package:dart_aas/dart_aas.dart';


final api = AASapi().getAssetAdministrationShellRepositoryAPIApi();
final String aasIdentifier = BYTE_ARRAY_DATA_HERE; // String | The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)

try {
    api.deleteAssetAdministrationShellById(aasIdentifier);
} catch on DioException (e) {
    print("Exception when calling AssetAdministrationShellRepositoryAPIApi->deleteAssetAdministrationShellById: $e\n");
}

You can find a more thorough example in the example/ directory.

Example for manually de-/serializing classes

void main() {
  AssetAdministrationShell? aas = standardSerializers
      .deserializeWith(AssetAdministrationShell.serializer, 'serialized');
}

Roadmap

This package has not reached 1.0. Breaking changes may occur without notice until that version is reached. The following should be completed before reaching v1.0.

  • implement soft checks like length (AAS "constraints") where possible
  • Clean up todos across code
  • Improve XsdValue dart API to improve ergonomics in practice
  • Replace SubmodelsElements .copy API with .copyWith API for all model classes

Libraries

dart_aas