Merge "vab:ElementMap: Allow to be useful on its own!"
diff --git a/sdks/c++/basys.sdk.cc/CMakeLists.txt b/sdks/c++/basys.sdk.cc/CMakeLists.txt
index 43c948b..c79f618 100644
--- a/sdks/c++/basys.sdk.cc/CMakeLists.txt
+++ b/sdks/c++/basys.sdk.cc/CMakeLists.txt
@@ -108,7 +108,6 @@
 ###############################################
 include_directories("${BASYX_INCLUDE_DIR}")
 
-#add_subdirectory(src/aas)
 add_subdirectory(src/abstraction)
 add_subdirectory(src/logging)
 add_subdirectory(src/shared)
@@ -116,6 +115,7 @@
 add_subdirectory(src/vab)
 add_subdirectory(src/server)
 add_subdirectory(src/submodel)
+add_subdirectory(src/aas)
 
 ###############################################
 ###           Test Directory                ###
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/manager/IAssetAdministrationShellManager.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/manager/IAssetAdministrationShellManager.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/api/manager/IAssetAdministrationShellManager.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/manager/IAssetAdministrationShellManager.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/metamodel/IAssetAdministrationShell.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/metamodel/IAssetAdministrationShell.h
similarity index 76%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/api/metamodel/IAssetAdministrationShell.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/metamodel/IAssetAdministrationShell.h
index 83cfbea..999f7cd 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/api/metamodel/IAssetAdministrationShell.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/metamodel/IAssetAdministrationShell.h
@@ -7,11 +7,11 @@
 #ifndef AAS_IASSETADMINISTRATIONSHELL_H_
 #define AAS_IASSETADMINISTRATIONSHELL_H_
 
-#include "submodel/api/qualifier/IHasDataSpecification.h"
-#include "submodel/api/qualifier/IIdentifiable.h"
-#include "submodel/api/qualifier/IReferable.h"
-#include "aas/api/security/ISecurity.h"
-#include "submodel/api/reference/IReference.h"
+#include <BaSyx/submodel/api/qualifier/IHasDataSpecification.h>
+#include <BaSyx/submodel/api/qualifier/IIdentifiable.h>
+#include <BaSyx/submodel/api/qualifier/IReferable.h>
+#include <BaSyx/aas/api/security/ISecurity.h>
+#include <BaSyx/submodel/api/reference/IReference.h>
 
 #include <memory>
 
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IAsset.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IAsset.h
similarity index 76%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IAsset.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IAsset.h
index ca27fd0..88a0523 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IAsset.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IAsset.h
@@ -8,10 +8,10 @@
 #define BASYX_METAMODEL_IAsset_H_
 
 
-#include "submodel/api/qualifier/IHasDataSpecification.h"
-#include "submodel/api/qualifier/IHasKind.h"
-#include "submodel/api/qualifier/IIdentifiable.h"
-#include "submodel/api/reference/IReference.h"
+#include <BaSyx/submodel/api/qualifier/IHasDataSpecification.h>
+#include <BaSyx/submodel/api/qualifier/IHasKind.h>
+#include <BaSyx/submodel/api/qualifier/IIdentifiable.h>
+#include <BaSyx/submodel/api/reference/IReference.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IConceptDictionary.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IConceptDictionary.h
similarity index 92%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IConceptDictionary.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IConceptDictionary.h
index 5d5229d..36a4ac1 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IConceptDictionary.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IConceptDictionary.h
@@ -8,7 +8,7 @@
 #define BASYX_METAMODEL_IConceptDictionary_H_
 
 
-#include "submodel/api/qualifier/IReferable.h"
+#include <BaSyx/submodel/api/qualifier/IReferable.h>
 
 #include <string>
 #include <vector>
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IView.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IView.h
similarity index 74%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IView.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IView.h
index 53b828c..bbb0c3c 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IView.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/parts/IView.h
@@ -8,12 +8,10 @@
 #define BASYX_METAMODEL_IView_H_
 
 
-#include "submodel/api/qualifier/IHasSemantics.h"
-#include "submodel/api/qualifier/IHasDataSpecification.h"
-#include "submodel/api/qualifier/IReferable.h"
-#include "submodel/api/reference/IReference.h"
-
-#include <vector>
+#include <BaSyx/submodel/api/qualifier/IHasSemantics.h>
+#include <BaSyx/submodel/api/qualifier/IHasDataSpecification.h>
+#include <BaSyx/submodel/api/qualifier/IReferable.h>
+#include <BaSyx/submodel/api/reference/IReference.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/policypoints/IAccessControlPolicyPoints.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/policypoints/IAccessControlPolicyPoints.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/api/policypoints/IAccessControlPolicyPoints.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/policypoints/IAccessControlPolicyPoints.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/security/ISecurity.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/security/ISecurity.h
similarity index 88%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/api/security/ISecurity.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/security/ISecurity.h
index 4e34158..3107f30 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/api/security/ISecurity.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/api/security/ISecurity.h
@@ -7,8 +7,8 @@
 #ifndef BASYX_METAMODEL_ISecurity_H_
 #define BASYX_METAMODEL_ISecurity_H_
 
-#include "BaSyx/types.h"
-#include "BaSyx/object.h"
+#include <BaSyx/shared/types.h>
+#include <BaSyx/shared/object.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShell.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/connected/ConnectedAssetAdministrationShell.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShell.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/connected/ConnectedAssetAdministrationShell.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShellManager.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/connected/ConnectedAssetAdministrationShellManager.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShellManager.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/connected/ConnectedAssetAdministrationShellManager.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/ModelDescriptor.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/descriptor/ModelDescriptor.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/ModelDescriptor.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/descriptor/ModelDescriptor.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/SubModelDescriptor.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/descriptor/SubModelDescriptor.h
similarity index 89%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/SubModelDescriptor.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/descriptor/SubModelDescriptor.h
index ad74044..241448e 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/SubModelDescriptor.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/descriptor/SubModelDescriptor.h
@@ -7,9 +7,9 @@
 #ifndef AAS_IMPL_METAMODEL_HASHMAP_DESCRIPTOR_SUBMODELDESCRIPTOR_H_
 #define AAS_IMPL_METAMODEL_HASHMAP_DESCRIPTOR_SUBMODELDESCRIPTOR_H_
 
-#include <src/aas/aas/map/descriptor/ModelDescriptor.h>
+#include "ModelDescriptor.h"
 
-#include <basyx/submodel/api/ISubModel.h>
+#include <BaSyx/submodel/api/ISubModel.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/manager/AssetAdministrationShellManager.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/manager/AssetAdministrationShellManager.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/manager/AssetAdministrationShellManager.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/manager/AssetAdministrationShellManager.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/metamodel/AssetAdministrationShell.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/metamodel/AssetAdministrationShell.h
similarity index 75%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/metamodel/AssetAdministrationShell.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/metamodel/AssetAdministrationShell.h
index 4cba585..3b2359a 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/metamodel/AssetAdministrationShell.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/metamodel/AssetAdministrationShell.h
@@ -7,15 +7,15 @@
 #ifndef AAS_IMPL_METAMODEL_HASHMAP_ASSETADMINISTRATIONSHELL_H_
 #define AAS_IMPL_METAMODEL_HASHMAP_ASSETADMINISTRATIONSHELL_H_
 
-#include "aas/api/metamodel/IAssetAdministrationShell.h"
+#include <BaSyx/aas/api/metamodel/IAssetAdministrationShell.h>
 
-#include "submodel/map/qualifier/HasDataSpecification.h"
-#include "submodel/map/qualifier/Identifiable.h"
-#include "submodel/map/qualifier/Referable.h"
-#include "submodel/map/modeltype/ModelType.h"
+#include <BaSyx/submodel/map/qualifier/HasDataSpecification.h>
+#include <BaSyx/submodel/map/qualifier/Identifiable.h>
+#include <BaSyx/submodel/map/qualifier/Referable.h>
+#include <BaSyx/submodel/map/modeltype/ModelType.h>
 
-#include "basyx/object.h"
-#include "vab/ElementMap.h"
+#include <BaSyx/shared/object.h>
+#include <BaSyx/vab/ElementMap.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/modelurn/ModelUrn.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/modelurn/ModelUrn.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/modelurn/ModelUrn.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/modelurn/ModelUrn.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/Asset.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/Asset.h
similarity index 81%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/Asset.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/Asset.h
index d1f686f..d5dcffd 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/Asset.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/Asset.h
@@ -7,12 +7,12 @@
 #ifndef AAS_IMPL_METAMODEL_HASHMAP_PARTS_ASSET_H_
 #define AAS_IMPL_METAMODEL_HASHMAP_PARTS_ASSET_H_
 
-#include "aas/api/parts/IAsset.h"
+#include <BaSyx/aas/api/parts/IAsset.h>
 
-#include "submodel/map/qualifier/HasDataSpecification.h"
-#include "submodel/map/qualifier/HasKind.h"
-#include "submodel/map/qualifier/Identifiable.h"
-#include "submodel/map/modeltype/ModelType.h"
+#include <BaSyx/submodel/map/qualifier/HasDataSpecification.h>
+#include <BaSyx/submodel/map/qualifier/HasKind.h>
+#include <BaSyx/submodel/map/qualifier/Identifiable.h>
+#include <BaSyx/submodel/map/modeltype/ModelType.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/ConceptDictionary.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/ConceptDictionary.h
similarity index 83%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/ConceptDictionary.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/ConceptDictionary.h
index 0029f2a..82c923b 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/ConceptDictionary.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/ConceptDictionary.h
@@ -7,9 +7,10 @@
 #ifndef AAS_IMPL_METAMODEL_HASHMAP_PARTS_CONCEPTDICTIONARY_H_
 #define AAS_IMPL_METAMODEL_HASHMAP_PARTS_CONCEPTDICTIONARY_H_
 
-#include "aas/api/parts/IConceptDictionary.h"
-#include "aas/api/parts/IConceptDescription.h"
-#include "submodel/map/qualifier/Referable.h"
+#include <BaSyx/aas/api/parts/IConceptDictionary.h>
+
+#include <BaSyx/submodel/api/parts/IConceptDescription.h>
+#include <BaSyx/submodel/map/qualifier/Referable.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/View.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/View.h
similarity index 95%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/View.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/View.h
index 5f6b23b..4f2981d 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/View.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/parts/View.h
@@ -7,7 +7,7 @@
 #ifndef AAS_IMPL_METAMODEL_HASHMAP_PARTS_VIEW_H_
 #define AAS_IMPL_METAMODEL_HASHMAP_PARTS_VIEW_H_
 
-#include <src/aas/aas/api/parts/IView.h>
+#include <BaSyx/aas/api/parts/IView.h>
 
 #include <BaSyx/submodel/map/modeltype/ModelType.h>
 #include <BaSyx/submodel/map/qualifier/HasDataSpecification.h>
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/security/Security.h b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/security/Security.h
similarity index 85%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/security/Security.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/security/Security.h
index c05ff9c..86b17b8 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/security/Security.h
+++ b/sdks/c++/basys.sdk.cc/include/BaSyx/aas/map/security/Security.h
@@ -7,11 +7,11 @@
 #ifndef AAS_IMPL_METAMODEL_HASHMAP_SECURITY_SECURITY_H_
 #define AAS_IMPL_METAMODEL_HASHMAP_SECURITY_SECURITY_H_
 
-#include "aas/api/security/ISecurity.h"
+#include <BaSyx/aas/api/security/ISecurity.h>
 
-#include "basyx/types.h"
+#include <BaSyx/shared/types.h>
 
-#include "vab/ElementMap.h"
+#include <BaSyx/vab/ElementMap.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/BlobType.h b/sdks/c++/basys.sdk.cc/include/BaSyx/submodel/map/BlobType.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/BlobType.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/submodel/map/BlobType.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/MimeType.h b/sdks/c++/basys.sdk.cc/include/BaSyx/submodel/map/MimeType.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/MimeType.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/submodel/map/MimeType.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/PathType.h b/sdks/c++/basys.sdk.cc/include/BaSyx/submodel/map/PathType.h
similarity index 100%
rename from sdks/c++/basys.sdk.cc/src/aas/aas/map/PathType.h
rename to sdks/c++/basys.sdk.cc/include/BaSyx/submodel/map/PathType.h
diff --git a/sdks/c++/basys.sdk.cc/src/aas/CMakeLists.txt b/sdks/c++/basys.sdk.cc/src/aas/CMakeLists.txt
index 229b37c..a5b171a 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/CMakeLists.txt
+++ b/sdks/c++/basys.sdk.cc/src/aas/CMakeLists.txt
@@ -1,92 +1,97 @@
 ###############################################
 ###              BaSyx::AAS                 ###
 ###############################################
+include(CMakePackageConfigHelpers)
 
 set (BASYX_AAS_LIB_SUFFIX "AAS")
 
 set (BASYX_AAS_LIBRARY_NAME "${PROJECT_SHORTNAME}${BASYX_AAS_LIB_SUFFIX}")
 
-add_library(${BASYX_AAS_LIBRARY_NAME})
+set (BASYX_AAS_INCLUDE_DIR "${BASYX_INCLUDE_DIR}/BaSyx/aas")
+set (PROJECT_INCLUDE_DIR BASYX_AAS_INCLUDE_DIR)
 
-set_target_properties(${BASYX_AAS_LIBRARY_NAME} PROPERTIES VERSION ${PROJECT_VERSION})
-set_target_properties(${BASYX_AAS_LIBRARY_NAME} PROPERTIES SOVERSION ${BASYX_PACKAGE_VERSION_MAJOR})
+add_library(${BASYX_AAS_LIB_SUFFIX})
 
-if(${BASYX_DEBUG_PRINT_FRAMES})
-    target_compile_definitions(${BASYX_AAS_LIBRARY_NAME} PUBLIC PRINT_FRAME)
-endif()
+set_target_properties(${BASYX_AAS_LIB_SUFFIX} PROPERTIES VERSION ${PROJECT_VERSION})
+set_target_properties(${BASYX_AAS_LIB_SUFFIX} PROPERTIES SOVERSION ${BASYX_PACKAGE_VERSION_MAJOR})
+set_target_properties(${BASYX_AAS_LIB_SUFFIX} PROPERTIES PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}${PROJECT_SHORTNAME}")
 
-target_sources(${BASYX_AAS_LIBRARY_NAME}
+target_include_directories(${BASYX_AAS_LIB_SUFFIX}
+    INTERFACE ${CMAKE_INSTALL_PREFIX}/include
+    ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_SHORTNAME})
+
+target_sources(${BASYX_AAS_LIB_SUFFIX}
   PRIVATE
-  aas/api/constant_definitions.h
-##  aas/api/dataspecification/IDataSpecification.h
-##  aas/api/dataspecification/IDataSpecificationContent.h
-##  aas/api/dataspecification/IDataSpecificationIEC61360.h
-  aas/api/manager/IAssetAdministrationShellManager.h
-  aas/api/metamodel/IAssetAdministrationShell.h
-  aas/api/parts/IAsset.h
-  aas/api/parts/IConceptDictionary.h
-  aas/api/parts/IView.h
-  aas/api/policypoints/IAccessControlPolicyPoints.h
-  aas/api/security/ISecurity.h
-#  aas/connected/aas/ConnectedAssetAdministrationShell.cpp
-#  aas/connected/aas/ConnectedAssetAdministrationShell.h
-#  aas/connected/aas/ConnectedAssetAdministrationShellManager.cpp
-#  aas/connected/aas/ConnectedAssetAdministrationShellManager.h
-#  aas/connected/aas/dataspecification/IDataSpecification.h
-##  aas/map/dataspecification/DataSpecification.cpp
-##  aas/map/dataspecification/DataSpecification.h
-##  aas/map/dataspecification/DataSpecificationContent.cpp
-##  aas/map/dataspecification/DataSpecificationContent.h
-##  aas/map/dataspecification/DataSpecificationIEC61360.cpp
-##  aas/map/dataspecification/DataSpecificationIEC61360.h
-  aas/map/dataspecification/datatypes/DataTypeIEC61360.hpp
-  aas/map/dataspecification/datatypes/LevelType.hpp
-  aas/map/BlobType.h
-  aas/map/descriptor/ModelDescriptor.cpp
-  aas/map/descriptor/ModelDescriptor.h
-  aas/map/descriptor/SubModelDescriptor.cpp
-  aas/map/descriptor/SubModelDescriptor.h
-  aas/map/metamodel/AssetAdministrationShell.cpp
-  aas/map/metamodel/AssetAdministrationShell.h
-  aas/map/manager/AssetAdministrationShellManager.cpp
-  aas/map/manager/AssetAdministrationShellManager.h
-  aas/map/MimeType.h
-  aas/map/modelurn/ModelUrn.cpp
-  aas/map/modelurn/ModelUrn.h
-  aas/map/parts/Asset.cpp
-  aas/map/parts/Asset.h
-##  aas/map/parts/ConceptDescription.cpp
-##  aas/map/parts/ConceptDescription.h
-  aas/map/parts/ConceptDictionary.cpp
-  aas/map/parts/ConceptDictionary.h
-  aas/map/parts/View.cpp
-  aas/map/parts/View.h
-  aas/map/PathType.h
-  aas/map/security/Security.cpp
-  aas/map/security/Security.h
-)
+    ${BASYX_AAS_INCLUDE_DIR}/api/manager/IAssetAdministrationShellManager.h
+    ${BASYX_AAS_INCLUDE_DIR}/api/metamodel/IAssetAdministrationShell.h
+    ${BASYX_AAS_INCLUDE_DIR}/api/parts/IAsset.h
+    ${BASYX_AAS_INCLUDE_DIR}/api/parts/IConceptDictionary.h
+    ${BASYX_AAS_INCLUDE_DIR}/api/parts/IView.h
+    ${BASYX_AAS_INCLUDE_DIR}/api/policypoints/IAccessControlPolicyPoints.h
+    ${BASYX_AAS_INCLUDE_DIR}/api/security/ISecurity.h
+#  ${CMAKE_CURRENT_SOURCE_DIR}/aas/connected/aas/ConnectedAssetAdministrationShell.cpp
+#    ${BASYX_AAS_INCLUDE_DIR}/connected/aas/ConnectedAssetAdministrationShell.h
+#  ${CMAKE_CURRENT_SOURCE_DIR}/aas/connected/aas/ConnectedAssetAdministrationShellManager.cpp
+#    ${BASYX_AAS_INCLUDE_DIR}/connected/aas/ConnectedAssetAdministrationShellManager.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/descriptor/ModelDescriptor.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/descriptor/ModelDescriptor.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/descriptor/SubModelDescriptor.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/descriptor/SubModelDescriptor.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/metamodel/AssetAdministrationShell.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/metamodel/AssetAdministrationShell.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/manager/AssetAdministrationShellManager.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/manager/AssetAdministrationShellManager.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/modelurn/ModelUrn.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/modelurn/ModelUrn.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/parts/Asset.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/parts/Asset.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/parts/ConceptDictionary.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/parts/ConceptDictionary.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/parts/View.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/parts/View.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/security/Security.cpp
+    ${BASYX_AAS_INCLUDE_DIR}/map/security/Security.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/aas/map/constant_definitions.h)
 
 
-target_include_directories(${BASYX_AAS_LIBRARY_NAME} PUBLIC ${PROJECT_SOURCE_DIR})
-target_link_libraries(${BASYX_AAS_LIBRARY_NAME} BaSyx::Shared BaSyx::Abstraction BaSyx::VAB BaSyx::Submodel)
-add_library(${PROJECT_SHORTNAME}::${BASYX_AAS_LIB_SUFFIX} ALIAS ${BASYX_AAS_LIBRARY_NAME})
-add_library(basyx::aas ALIAS ${BASYX_AAS_LIBRARY_NAME})
+target_include_directories(${BASYX_AAS_LIB_SUFFIX} PRIVATE ${PROJECT_SOURCE_DIR})
+target_link_libraries(${BASYX_AAS_LIB_SUFFIX} PUBLIC BaSyx::Shared BaSyx::Abstraction BaSyx::VAB BaSyx::Submodel)
 
+add_library(basyx::aas ALIAS ${BASYX_AAS_LIB_SUFFIX})
+add_library(${PROJECT_SHORTNAME}::${BASYX_AAS_LIB_SUFFIX} ALIAS ${BASYX_AAS_LIB_SUFFIX})
+
+diagnostics_print(${BASYX_AAS_LIB_SUFFIX})
 
 ###############################################
 ###           Install section               ###
 ###############################################
+if(${BASYX_INSTALL_SDK})
+configure_package_config_file(
+    ${CMAKE_CURRENT_SOURCE_DIR}/${BASYX_AAS_LIBRARY_NAME}Config.cmake.in
+    ${CMAKE_CURRENT_BINARY_DIR}/${BASYX_AAS_LIBRARY_NAME}Config.cmake
+    INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${BASYX_AAS_LIBRARY_NAME}
+    PATH_VARS
+    CMAKE_INSTALL_PREFIX
+)
 
-configure_file("${BASYX_AAS_LIBRARY_NAME}Config.cmake.in" "${BASYX_AAS_LIBRARY_NAME}Config.cmake" @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${BASYX_AAS_LIBRARY_NAME}Config.cmake
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${BASYX_AAS_LIBRARY_NAME}
+        )
 
-install(TARGETS ${BASYX_AAS_LIBRARY_NAME}
+install(EXPORT ${BASYX_AAS_LIB_SUFFIX}Targets
+        NAMESPACE ${PROJECT_SHORTNAME}::
+        FILE ${BASYX_AAS_LIBRARY_NAME}Targets.cmake
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${BASYX_AAS_LIBRARY_NAME}
+        )
+
+install(TARGETS ${BASYX_AAS_LIB_SUFFIX}
+        EXPORT ${BASYX_AAS_LIB_SUFFIX}Targets
         ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        )
 
-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/aas"
+install(DIRECTORY "${BASYX_INCLUDE_DIR}/${PROJECT_SHORTNAME}/aas"
         DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_SHORTNAME}"
-        FILES_MATCHING PATTERN "*.h")
-        
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${BASYX_AAS_LIBRARY_NAME}Config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_SHORTNAME})
-
-diagnostics_print(${BASYX_AAS_LIBRARY_NAME})
+        FILES_MATCHING PATTERN "*.h"
+        )
+endif()
\ No newline at end of file
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/constant_definitions.h b/sdks/c++/basys.sdk.cc/src/aas/aas/api/constant_definitions.h
deleted file mode 100644
index 389317d..0000000
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/api/constant_definitions.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "aas/api/parts/IConceptDictionary.h"
-#include "aas/api/parts/IConceptDescription.h"
-#include "aas/api/parts/IAsset.h"
-#include "aas/api/parts/IView.h"
-#include "security/ISecurity.h"
-#include "aas/api/metamodel/IAssetAdministrationShell.h"
-#include "aas/api/dataspecification/IDataSpecification.h"
-#include "aas/api/dataspecification/IDataSpecificationIEC61360.h"
-
-namespace basyx {
-namespace aas {
-
-constexpr char IConceptDictionary::Path::ConceptDescription[];
-constexpr char IConceptDictionary::Path::ConceptDescriptions[];
-
-constexpr char IConceptDescription::Path::IsCaseOf[];
-constexpr char IConceptDescription::Path::ModelType[];
-
-constexpr char IAsset::Path::AssetIdentificationModel[];
-constexpr char IAsset::Path::BillOfMaterial[];
-constexpr char IAsset::Path::ModelType[];
-
-constexpr char IView::Path::ModelType[];
-constexpr char IView::Path::ContainedElement[];
-
-constexpr char ISecurity::Path::AccessControlPolicyPoints[];
-constexpr char ISecurity::Path::TrustAnchor[];
-
-constexpr char IAssetAdministrationShell::Path::DerivedFrom[];
-constexpr char IAssetAdministrationShell::Path::ModelType[];
-constexpr char IAssetAdministrationShell::Path::Security[];
-
-constexpr char IDataSpecification::Path::Content[];
-
-constexpr char IDataSpecificationIEC61360::Path::PreferredName[];
-constexpr char IDataSpecificationIEC61360::Path::ShortName[];
-constexpr char IDataSpecificationIEC61360::Path::Unit[];
-constexpr char IDataSpecificationIEC61360::Path::UnitId[];
-constexpr char IDataSpecificationIEC61360::Path::SourceOfDefinition[];
-constexpr char IDataSpecificationIEC61360::Path::Symbol[];
-constexpr char IDataSpecificationIEC61360::Path::DataType[];
-constexpr char IDataSpecificationIEC61360::Path::Definition[];
-constexpr char IDataSpecificationIEC61360::Path::ValueFormat[];
-constexpr char IDataSpecificationIEC61360::Path::ValueList[];
-constexpr char IDataSpecificationIEC61360::Path::ValueId[];
-constexpr char IDataSpecificationIEC61360::Path::LevelType[];
-
-
-}
-}
\ No newline at end of file
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IAsset.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IAsset.cpp
deleted file mode 100644
index e69de29..0000000
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/api/parts/IAsset.cpp
+++ /dev/null
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShell.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShell.cpp
index 54897cd..0521f0b 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShell.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShell.cpp
@@ -4,7 +4,7 @@
  *      Author: wendel
  */
 
-#include "ConnectedAssetAdministrationShell.h"
+#include "BaSyx/aas/connected/ConnectedAssetAdministrationShell.h"
 
 
 namespace basyx {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShellManager.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShellManager.cpp
index fd89f0b..e3cf9a4 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShellManager.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/connected/aas/ConnectedAssetAdministrationShellManager.cpp
@@ -4,4 +4,4 @@
  *      Author: wendel
  */
 
-#include "ConnectedAssetAdministrationShellManager.h"
+#include "BaSyx/aas/connected/ConnectedAssetAdministrationShellManager.h"
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/AssetAdministrationShell.h b/sdks/c++/basys.sdk.cc/src/aas/aas/map/AssetAdministrationShell.h
deleted file mode 100644
index 5b3b4d7..0000000
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/AssetAdministrationShell.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * AssetAdministrationShell.h
- *
- *      Author: kuhn
- */
-
-#ifndef AAS_ASSETADMINISTRATIONSHELL_H_
-#define AAS_ASSETADMINISTRATIONSHELL_H_
-
-// Standard includes
-#include <stdio.h>
-#include <stdlib.h>
-
-// StdC++ includes
-#include <map>
-#include <string>
-
-// BaSyx includes
-#include <api/IAssetAdministrationShell.h>
-#include <types/BObjectMap.h>
-#include "RTTIMacros.h"
-
-
-/* *********************************************************************************
- * Asset administration shell
- * *********************************************************************************/
-class AssetAdministrationShell : public IAssetAdministrationShell {  // @suppress("Class has a virtual method and non-virtual destructor")
-
-
-	// Constructor
-	public:
-		// Default constructor
-		AssetAdministrationShell(std::string aasID, std::string aasTypeID, IElement *aasParent = 0) : IAssetAdministrationShell(aasID, aasTypeID, aasParent) {
-			// Do nothing
-		}
-
-
-
-	// Asset Administration Shell members
-	protected:
-		// Store sub models by ID
-		BObjectMap subModelsByID;
-
-		// Store sub models by type
-		BObjectMap subModelsByType;
-
-
-
-	// Member functions
-	public:
-		/* *******************************************************
-		 * Retrieve list of sub models by type
-		 * *******************************************************/
-		virtual BObjectMap::object_map_t * getSubModelsByType() override{
-			return subModelsByType.elements();
-		}
-
-		/* *******************************************************
-		 * Retrieve list of sub models by ID
-		 * *******************************************************/
-		virtual BObjectMap::object_map_t * getSubModelsByID() override {
-			return subModelsByID.elements();
-		}
-
-		/* *******************************************************
-		 * Add a sub model to this Asset Administration Shell
-		 * *******************************************************/
-		virtual void addSubModel(std::string id, std::string type, ISubModel *submodel) {
-			// Add sub model to maps
-			subModelsByID.elements()->insert(std::make_pair(id, BRef<BType>(submodel, false)));
-			subModelsByType.elements()->insert(std::make_pair(type, BRef<BType>(submodel, false)));
-		}
-
-
-
-	// BaSyx RTTI table
-	public:
-		// BaSyx RTTI table
-		BASYX_RTTI_START(AssetAdministrationShell, IAssetAdministrationShell)
-			// Add property elements from this class
-			RTTI_PROPERTY(subModelsByID,   BASYS_MAP)
-			RTTI_PROPERTY(subModelsByType, BASYS_MAP)
-		BASYX_RTTI_END
-};
-
-#endif
-
-
-#endif /* AAS_ASSETADMINISTRATIONSHELL_H_ */
-
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/constant_definitions.h b/sdks/c++/basys.sdk.cc/src/aas/aas/map/constant_definitions.h
new file mode 100644
index 0000000..06148e2
--- /dev/null
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/constant_definitions.h
@@ -0,0 +1,29 @@
+#include <BaSyx/aas/api/parts/IConceptDictionary.h>
+#include <BaSyx/aas/api/parts/IAsset.h>
+#include <BaSyx/aas/api/parts/IView.h>
+#include <BaSyx/aas/api/security/ISecurity.h>
+#include <BaSyx/aas/api/metamodel/IAssetAdministrationShell.h>
+
+namespace basyx {
+namespace aas {
+
+constexpr char IConceptDictionary::Path::ConceptDescription[];
+constexpr char IConceptDictionary::Path::ConceptDescriptions[];
+
+constexpr char IAsset::Path::AssetIdentificationModel[];
+constexpr char IAsset::Path::BillOfMaterial[];
+constexpr char IAsset::Path::ModelType[];
+
+constexpr char IView::Path::ModelType[];
+constexpr char IView::Path::ContainedElement[];
+
+constexpr char ISecurity::Path::AccessControlPolicyPoints[];
+constexpr char ISecurity::Path::TrustAnchor[];
+
+constexpr char IAssetAdministrationShell::Path::DerivedFrom[];
+constexpr char IAssetAdministrationShell::Path::ModelType[];
+constexpr char IAssetAdministrationShell::Path::Security[];
+
+
+}
+}
\ No newline at end of file
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/ModelDescriptor.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/ModelDescriptor.cpp
index 4aa8182..dd87e53 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/ModelDescriptor.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/ModelDescriptor.cpp
@@ -4,4 +4,4 @@
  *      Author: wendel
  */
 
-#include "ModelDescriptor.h"
+#include "BaSyx/aas/map/descriptor/ModelDescriptor.h"
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/SubModelDescriptor.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/SubModelDescriptor.cpp
index 3c0ad65..b2ecfac 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/SubModelDescriptor.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/descriptor/SubModelDescriptor.cpp
@@ -4,4 +4,4 @@
  *      Author: wendel
  */
 
-#include "SubModelDescriptor.h"
+#include "BaSyx/aas/map/descriptor/SubModelDescriptor.h"
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/manager/AssetAdministrationShellManager.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/manager/AssetAdministrationShellManager.cpp
index f06aa16..f1d9bbe 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/manager/AssetAdministrationShellManager.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/manager/AssetAdministrationShellManager.cpp
@@ -4,4 +4,4 @@
  *      Author: wendel
  */
 
-#include "AssetAdministrationShellManager.h"
+#include "BaSyx/aas/map/manager/AssetAdministrationShellManager.h"
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/metamodel/AssetAdministrationShell.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/metamodel/AssetAdministrationShell.cpp
index 08b4c8d..94ae032 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/metamodel/AssetAdministrationShell.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/metamodel/AssetAdministrationShell.cpp
@@ -4,10 +4,10 @@
  *      Author: wendel
  */
 
-#include "AssetAdministrationShell.h"
+#include "BaSyx/aas/map/metamodel/AssetAdministrationShell.h"
 
-#include "aas/map/security/Security.h"
-#include "submodel/map/reference/Reference.h"
+#include <BaSyx/aas/map/security/Security.h>
+#include <BaSyx/submodel/map/reference/Reference.h>
 
 namespace basyx {
 namespace aas {
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/modelurn/ModelUrn.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/modelurn/ModelUrn.cpp
index c57070a..5f25390 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/modelurn/ModelUrn.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/modelurn/ModelUrn.cpp
@@ -4,4 +4,4 @@
  *      Author: wendel
  */
 
-#include "ModelUrn.h"
+#include "BaSyx/aas/map/modelurn/ModelUrn.h"
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/Asset.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/Asset.cpp
index 8130a12..781e469 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/Asset.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/Asset.cpp
@@ -4,9 +4,9 @@
  *      Author: wendel
  */
 
-#include "Asset.h"
+#include <BaSyx/aas/map/parts/Asset.h>
 
-#include "submodel/map/reference/Reference.h"
+#include <BaSyx/submodel/map/reference/Reference.h>
 
 namespace basyx {
 namespace aas {
@@ -36,12 +36,12 @@
 
 void Asset::setAssetIdentificationModel(const std::shared_ptr<submodel::IReference>& submodel)
 {
-  this->map.insertKey(IAsset::Path::AssetIdentificationModel, submodel::Reference(submodel).getMap());
+  this->map.insertKey(IAsset::Path::AssetIdentificationModel, submodel::Reference(*submodel).getMap());
 }
 
 void Asset::setBillOfMaterial(const std::shared_ptr<submodel::IReference>& submodel)
 {
-  this->map.insertKey(IAsset::Path::BillOfMaterial, submodel::Reference(submodel).getMap());
+  this->map.insertKey(IAsset::Path::BillOfMaterial, submodel::Reference(*submodel).getMap());
 }
 
 }
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/ConceptDictionary.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/ConceptDictionary.cpp
index 962bfc9..9d8b861 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/ConceptDictionary.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/ConceptDictionary.cpp
@@ -4,9 +4,9 @@
  *      Author: wendel
  */
 
-#include "ConceptDictionary.h"
+#include <BaSyx/aas/map/parts/ConceptDictionary.h>
 
-#include "submodel/map/reference/Reference.h"
+#include <BaSyx/submodel/map/reference/Reference.h>
 
 using namespace basyx::submodel;
 
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/View.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/View.cpp
index ef0ff1a..9f652a7 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/View.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/parts/View.cpp
@@ -4,9 +4,9 @@
  *      Author: wendel
  */
 
-#include "View.h"
+#include <BaSyx/aas/map/parts/View.h>
 
-#include "submodel/map/reference/Reference.h"
+#include <BaSyx/submodel/map/reference/Reference.h>
 
 using namespace basyx::submodel;
 
diff --git a/sdks/c++/basys.sdk.cc/src/aas/aas/map/security/Security.cpp b/sdks/c++/basys.sdk.cc/src/aas/aas/map/security/Security.cpp
index 849eedd..590fd8a 100644
--- a/sdks/c++/basys.sdk.cc/src/aas/aas/map/security/Security.cpp
+++ b/sdks/c++/basys.sdk.cc/src/aas/aas/map/security/Security.cpp
@@ -4,7 +4,7 @@
  *      Author: wendel
  */
 
-#include "Security.h"
+#include "BaSyx/aas/map/security/Security.h"
 
 namespace basyx {
 namespace aas {