Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
BaSyx / Scenarios / Static Dynamic Extension
This example shows the enrichment of AAS data loaded from an aasx file with a dynamically created Submodel. Its code is available on GitHub
The following components are used:
In the first step an AAS-Server and a Registry-Server is started by the methodes startAASServer()
and startRegistry()
.
Then the AASXPackageManager is used to load example AASs/SMs from an .aasx file into a Set of AASBundle objects.
// Load Bundles from .aasx file AASXPackageManager packageManager = new AASXPackageManager("aasx/01_Festo.aasx"); Set<AASBundle> bundles = packageManager.retrieveAASBundles();
A new Submodel is added to one of the bundles. The correct bundle is found by the idShort of its AAS.
// Get the correct Bundle from the Set AASBundle bundle = findBundle(bundles, AAS_ID_SHORT); // Add the new SubModel to the Bundle bundle.getSubmodels().add(sm);
These bundles are then uploaded to the server using the AASBundleIntegrator.
// Load the new Bundles to the Server AASBundleHelper.integrate(new AASAggregatorProxy(SERVER_URL), bundles);
The last step is to register the newly uploaded AAS/SM objects. This is done by a separate method registerBundles()
. It iterates over a given Set of bundles and registers all contained AASs/SMs.
// Get a RegistryProxy and register all Objects contained in the Bundles AASRegistryProxy proxy = new AASRegistryProxy(REGISTRY_URL); registerBundles(bundles, proxy, SERVER_URL);
An example of how to execute and use the scenario can be found in TestStaticDynamicScenario.