Task references: CICA-394
Reason: CIM Cache v2.20.0 - MS 5 - documentation, release and fixes
Rationale: none
Side effects: none

# Conflicts:
#	.gitignore
diff --git a/.gitignore b/.gitignore
index 9ce8af0..11c7b3a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,19 @@
-*target/
-*.checkstyle
-*.classpath
-*.eclipse-pmd
-*.idea
-*.iml
-*.project
-*.settings/
-*.springBeans
-*.log
-*.versionsBackup
-*.fbExcludeFilterFile
-*.fbIncludeFilterFile
\ No newline at end of file
+**/*target/
+**/*.checkstyle
+**/*.classpath
+**/*.fbExcludeFilterFile
+**/*.fbIncludeFilterFile
+**/*.idea
+**/*.iml
+**/*.jdbc
+**/*.log
+**/*.project
+**/*.settings/
+**/*.springBeans
+**/*.versionsBackup
+**/launch.json
+**/node_modules/**
+**/package-lock.json
+bin/
+obj/
+.vs/
\ No newline at end of file
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..07b6ef7
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,65 @@
+pipeline {
+    agent any
+    tools { 
+        maven 'apache-maven-latest'
+        jdk 'jdk1.8.0-latest'
+    }
+    
+    stages {
+        stage ('prepare') {
+			steps {
+				cleanWs()
+				checkout scm
+			}
+        }
+        stage ('build') {
+            steps {
+                sh 'mvn -version'
+                sh 'java -version'
+                sh 'mvn -f dev/pom.xml -B clean install site -DskipTests'
+            }			
+        }
+
+        stage ('test') {
+            steps {
+                sh 'mvn -version'
+                sh 'java -version'
+                sh 'mvn -f dev/pom.xml -B test -Dcheckstyle.skip=true -Dfindbugs.skip=true -Dpmd.skip=true'
+                junit allowEmptyResults: true, testResults: '**/surefire-reports/TEST*.xml'
+                jacoco()
+            }			
+        }
+		
+		stage("Publish Checkstyle & PMD & Findbugs Results"){
+			steps {
+				checkstyle canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '**/checkstyle-result*.xml', unHealthy: '', unstableTotalAll:'0'
+				pmd canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '**/target/pmd.xml', unHealthy: ''
+				findbugs canComputeNew: false, defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', pattern: '**/findbugsXml.xml', unHealthy: ''
+			}
+		}
+		
+		stage("Publish Checkstyle & PMD & Findbugs Results"){
+			steps {
+				sh 'mvn -f dev/pom.xml -B clean install site -DskipTests'
+			}
+		}
+		
+		stage ('deploy snapshot') {
+			when {
+				 branch 'develop'
+			}
+			steps {
+                sh 'mvn  -f dev/pom.xml -B deploy -DskipTests -Dcheckstyle.skip=true -Dfindbugs.skip=true -Dpmd.skip=true -DaltDeploymentRepository=repo.eclipse.org::default::https://repo.eclipse.org/content/repositories/openk-platform-snapshots/'
+            }
+		}
+		
+		stage ('deploy release') {
+			when {
+				 branch 'master'
+			}
+			steps {
+                sh 'mvn  -f dev/pom.xml -B deploy -DskipTests -Dcheckstyle.skip=true -Dfindbugs.skip=true -Dpmd.skip=true -DaltDeploymentRepository=repo.eclipse.org::default::https://repo.eclipse.org/content/repositories/openk-platform-release/'
+            }
+		}
+    }
+}
\ No newline at end of file
diff --git a/dev/adapter/pom.xml b/dev/adapter/pom.xml
new file mode 100644
index 0000000..7beaca1
--- /dev/null
+++ b/dev/adapter/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.eclipse.openk.domain.static-topology</groupId>
+    <artifactId>static-topology-adapter</artifactId>
+    <version>2.21.0-SNAPSHOT</version>
+
+    <name>${project.groupId}.${project.artifactId}</name>
+
+    <parent>
+        <groupId>org.eclipse.openk.build.build-parentpom</groupId>
+        <artifactId>build-parentpom-adapter</artifactId>
+        <version>2.20.0</version>
+        <relativePath></relativePath>
+    </parent>
+
+    <dependencies>
+        <!-- org.eclipse -->
+        <dependency>
+            <groupId>org.eclipse.openk.domain.static-topology</groupId>
+            <artifactId>static-topology-logic</artifactId>
+            <version>2.21.0-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.eclipse.openk.cim.profile</groupId>
+            <artifactId>openkonsequenz</artifactId>
+            <version>2.20.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.openk.cim</groupId>
+            <artifactId>cim17v07</artifactId>
+            <version>2.20.0</version>
+        </dependency>
+
+        <!-- org.eclipse -->
+        <dependency>
+            <groupId>org.eclipse.openk.service</groupId>
+            <artifactId>service-adapter</artifactId>
+            <version>2.20.0</version>
+        </dependency>
+        <!-- scope: test -->
+        <!-- org.eclipse.openk -->
+        <dependency>
+            <groupId>org.eclipse.openk.service</groupId>
+            <artifactId>service-adapter</artifactId>
+            <version>2.20.0</version>
+            <type>test-jar</type>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/.gitignore b/dev/adapter/src/main/java/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/adapter/src/main/java/.gitignore
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/AbstractTopologicalResourceResponder.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/AbstractTopologicalResourceResponder.java
new file mode 100644
index 0000000..1983286
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/AbstractTopologicalResourceResponder.java
@@ -0,0 +1,62 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.core.responder;
+
+import java.util.List;
+
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.IStaticTopologyQueryParameters;
+import org.eclipse.openk.domain.statictopology.model.core.ITopologicalResource;
+import org.eclipse.openk.service.adapter.responder.AbstractCimResponder;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.responder.ResponderConfiguration;
+
+/**
+ * The base of all {@link ITopologicalResource} responders.
+ * 
+ * @author 2018-09-30 Felix Korb
+ * 
+ * @param <R>
+ *          the response data object type (internal model)
+ * @param <T>
+ *          the transfer data object type (interface model)
+ * @param <P>
+ *          the request parameters object type
+ */
+public abstract class AbstractTopologicalResourceResponder<R extends ITopologicalResource, T extends ICimEntity, P extends ICimHeaderParameters & IStaticTopologyQueryParameters> extends AbstractCimResponder<ResponderConfiguration, List<R>, List<T>, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractTopologicalResourceResponder(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected final Object createQueryParameters(P requestParameters) throws IllegalArgumentException {
+
+    return requestParameters;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/StaticTopologyCimRequestParameters.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/StaticTopologyCimRequestParameters.java
new file mode 100644
index 0000000..a49a791
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/StaticTopologyCimRequestParameters.java
@@ -0,0 +1,41 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.core.responder;
+
+import java.util.UUID;
+
+import org.eclipse.openk.common.model.attribute.value.annotations.Value;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.IStaticTopologyQueryParameters;
+import org.eclipse.openk.service.adapter.responder.TolerantCimRequestParameters;
+
+/**
+ * The <i>CIM</i> parameters, that are necessary to import/export/work elements from the static-topology.
+ * 
+ * @author 2018-11-23 Felix Korb
+ * @author 2018-11-23 Renko Ortgies
+ */
+public class StaticTopologyCimRequestParameters extends TolerantCimRequestParameters implements IStaticTopologyQueryParameters {
+
+  // Attributes
+  @Value(name = PARAMETER_TOPOLOGY_ID)
+  private UUID topologyId;
+
+  // Properties
+  @Override
+  public final UUID getTopologyId() {
+
+    return topologyId;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResourcesRequestParameters.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResourcesRequestParameters.java
new file mode 100644
index 0000000..77bba3c
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResourcesRequestParameters.java
@@ -0,0 +1,53 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.core.responder;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.common.model.attribute.value.annotations.ListValidator;
+import org.eclipse.openk.common.model.attribute.value.annotations.Value;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.ITopologicalResourcesQueryParameters;
+import org.eclipse.openk.service.adapter.responder.TolerantCimRequestParameters;
+
+/**
+ * The <i>CIM</i> parameters, that are necessary to import/export/work elements from the static-topology.
+ * 
+ * @author 2018-11-23 Felix Korb
+ * @author 2018-11-23 Renko Ortgies
+ */
+public class TopologicalResourcesRequestParameters extends TolerantCimRequestParameters implements ITopologicalResourcesQueryParameters {
+
+  // Attributes
+  @ListValidator(itemType = UUID.class)
+  @Value(name = PARAMETER_IDS)
+  private List<UUID> ids;
+
+  @Value(name = PARAMETER_TOPOLOGY_ID)
+  private UUID topologyId;
+
+  // Properties
+  @Override
+  public final List<UUID> getIds() {
+
+    return ids;
+  }
+
+  @Override
+  public final UUID getTopologyId() {
+
+    return topologyId;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_1_ApplicationXml_Responder.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_1_ApplicationXml_Responder.java
new file mode 100644
index 0000000..787f416
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_1_ApplicationXml_Responder.java
@@ -0,0 +1,78 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.core.responder;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.profile.openkonsequenz.OpenKonsequenz;
+import org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.ITopologicalResourcesQueryParameters;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.ITopologicalResource;
+import org.eclipse.openk.service.adapter.responder.AbstractCimResponder;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.adapter.responder.ResponderConfiguration;
+import org.eclipse.openk.service.core.adapter.responder.ResponderInformation;
+import org.eclipse.openk.service.core.adapter.serializer.SerializerInformation;
+import org.eclipse.openk.service.core.logic.view.ViewInformation;
+
+/**
+ * The responder for the {@link ITopologicalResource}.
+ * 
+ * @author 2018-11-23 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+@ResponderInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, exportModelDefinitionType = OpenKonsequenz.class, exportFormat = MediaType.ApplicationXml, parametersType = TopologicalResourcesRequestParameters.class)
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationXml, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+@ViewInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, parametersType = ITopologicalResourcesQueryParameters.class)
+public final class TopologicalResources_1_ApplicationXml_Responder extends AbstractCimResponder<ResponderConfiguration, org.eclipse.openk.domain.statictopology.model.core.TopologyId, TopologyId, TopologicalResourcesRequestParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologicalResources_1_ApplicationXml_Responder.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologicalResources_1_ApplicationXml_Responder(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected Object createQueryParameters(TopologicalResourcesRequestParameters requestParameters) throws IllegalArgumentException {
+
+    return requestParameters;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_2_ApplicationXml_RequestParameters.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_2_ApplicationXml_RequestParameters.java
new file mode 100644
index 0000000..6e7d05d
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_2_ApplicationXml_RequestParameters.java
@@ -0,0 +1,62 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.core.responder;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.common.model.attribute.value.annotations.ListValidator;
+import org.eclipse.openk.common.model.attribute.value.annotations.Value;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.ITopologicalResourceTypesQueryParameters;
+import org.eclipse.openk.service.adapter.responder.TolerantCimRequestParameters;
+
+/**
+ * The <i>CIM</i> parameters, that are necessary to import/export/work elements from the static-topology.
+ * 
+ * @author 2019-02-06 Renko Ortgies
+ */
+public class TopologicalResources_2_ApplicationXml_RequestParameters extends TolerantCimRequestParameters implements ITopologicalResourceTypesQueryParameters {
+
+  // Attributes
+  @ListValidator(itemType = UUID.class)
+  @Value(name = PARAMETER_IDS)
+  private List<UUID> ids;
+
+  @ListValidator(itemType = String.class)
+  @Value(name = PARAMETER_TOPOLOGICAL_RESOURCE_TYPES)
+  private List<String> topologicalResourceTypes;
+
+  @Value(name = PARAMETER_TOPOLOGY_ID)
+  private UUID topologyId;
+
+  // Properties
+  @Override
+  public final List<UUID> getIds() {
+
+    return ids;
+  }
+
+  @Override
+  public List<String> getTopologicalResourceTypes() {
+
+    return topologicalResourceTypes;
+  }
+
+  @Override
+  public final UUID getTopologyId() {
+
+    return topologyId;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_2_ApplicationXml_Responder.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_2_ApplicationXml_Responder.java
new file mode 100644
index 0000000..3fb28dd
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologicalResources_2_ApplicationXml_Responder.java
@@ -0,0 +1,78 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.core.responder;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.profile.openkonsequenz.OpenKonsequenz;
+import org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.ITopologicalResourcesQueryParameters;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.ITopologicalResource;
+import org.eclipse.openk.service.adapter.responder.AbstractCimResponder;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.adapter.responder.ResponderConfiguration;
+import org.eclipse.openk.service.core.adapter.responder.ResponderInformation;
+import org.eclipse.openk.service.core.adapter.serializer.SerializerInformation;
+import org.eclipse.openk.service.core.logic.view.ViewInformation;
+
+/**
+ * The responder for the {@link ITopologicalResource}.
+ * 
+ * @author 2019-02-06 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+@ResponderInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, version = 2, exportModelDefinitionType = OpenKonsequenz.class, exportFormat = MediaType.ApplicationXml, parametersType = TopologicalResources_2_ApplicationXml_RequestParameters.class)
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationXml, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+@ViewInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, version = 2, parametersType = ITopologicalResourcesQueryParameters.class)
+public final class TopologicalResources_2_ApplicationXml_Responder extends AbstractCimResponder<ResponderConfiguration, org.eclipse.openk.domain.statictopology.model.core.TopologyId, TopologyId, TopologicalResources_2_ApplicationXml_RequestParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologicalResources_2_ApplicationXml_Responder.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologicalResources_2_ApplicationXml_Responder(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected Object createQueryParameters(TopologicalResources_2_ApplicationXml_RequestParameters requestParameters) throws IllegalArgumentException {
+
+    return requestParameters;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologyId_1_ApplicationXml_Responder.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologyId_1_ApplicationXml_Responder.java
new file mode 100644
index 0000000..8872536
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/core/responder/TopologyId_1_ApplicationXml_Responder.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.core.responder;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.profile.openkonsequenz.OpenKonsequenz;
+import org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.service.adapter.responder.AbstractCimResponder;
+import org.eclipse.openk.service.adapter.responder.TolerantCimRequestParameters;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.adapter.responder.ResponderConfiguration;
+import org.eclipse.openk.service.core.adapter.responder.ResponderInformation;
+import org.eclipse.openk.service.core.adapter.serializer.SerializerInformation;
+import org.eclipse.openk.service.core.logic.view.ViewInformation;
+
+/**
+ * The responder for the {@link TopologyId}.
+ * 
+ * @author 2018-02-08 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = OpenKonsequenz.class)
+@ResponderInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, version = 1, exportModelDefinitionType = OpenKonsequenz.class, exportFormat = MediaType.ApplicationXml, parametersType = TolerantCimRequestParameters.class)
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationXml, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+@ViewInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID)
+public final class TopologyId_1_ApplicationXml_Responder extends AbstractCimResponder<ResponderConfiguration, org.eclipse.openk.domain.statictopology.model.core.TopologyId, TopologyId, TolerantCimRequestParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyId_1_ApplicationXml_Responder.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologyId_1_ApplicationXml_Responder(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/ServiceModel_1_ApplicationRdf_StaticTopology_Deserializer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/ServiceModel_1_ApplicationRdf_StaticTopology_Deserializer.java
new file mode 100644
index 0000000..79e15e8
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/ServiceModel_1_ApplicationRdf_StaticTopology_Deserializer.java
@@ -0,0 +1,59 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.deserializer;
+
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.service.adapter.deserializer.AbstractServiceModelApplicationRdfDeserializer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.ServiceDefaults;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.deserializer.IDeserializer;
+
+/**
+ * The <i>RDF</i> {@link IDeserializer} for {@link StaticTopology} models.
+ * 
+ * @author 2018-04-07 Felix Korb
+ */
+@DeserializerInformation(scope = ServiceDefaults.SCOPE_SERVICE_MODEL, inputFormat = MediaType.ApplicationRdf, outputModelDefinitionType = StaticTopology.class)
+public final class ServiceModel_1_ApplicationRdf_StaticTopology_Deserializer extends AbstractServiceModelApplicationRdfDeserializer {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(ServiceModel_1_ApplicationRdf_StaticTopology_Deserializer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public ServiceModel_1_ApplicationRdf_StaticTopology_Deserializer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/StaticTopology_1_ApplicationXml_Cim17v07_Deserializer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/StaticTopology_1_ApplicationXml_Cim17v07_Deserializer.java
new file mode 100644
index 0000000..9c4cb7a
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/StaticTopology_1_ApplicationXml_Cim17v07_Deserializer.java
@@ -0,0 +1,63 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.deserializer;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.deserializer.AbstractCimApplicationXmlDeserializer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.deserializer.IDeserializer;
+
+/**
+ * The <i>XML</i> {@link IDeserializer} for {@link Cim17v07} models.
+ * 
+ * @author 2017-10-31 Felix Korb
+ * 
+ * @param <E>
+ *          the {@link ICimEntity} type
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+public final class StaticTopology_1_ApplicationXml_Cim17v07_Deserializer<E extends ICimEntity> extends AbstractCimApplicationXmlDeserializer<E> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(StaticTopology_1_ApplicationXml_Cim17v07_Deserializer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public StaticTopology_1_ApplicationXml_Cim17v07_Deserializer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/TopologyId_1_ApplicationXml_Deserializer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/TopologyId_1_ApplicationXml_Deserializer.java
new file mode 100644
index 0000000..7eb8b4c
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/deserializer/TopologyId_1_ApplicationXml_Deserializer.java
@@ -0,0 +1,101 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.deserializer;
+
+import java.io.IOException;
+import java.io.Reader;
+
+import org.eclipse.openk.cim.profile.openkonsequenz.OpenKonsequenz;
+import org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.dataexchange.cim.message.XmlPayloadReader;
+import org.eclipse.openk.common.dataexchange.converter.ValueDecoder;
+import org.eclipse.openk.common.dataexchange.xml.XmlNamespaceMapping;
+import org.eclipse.openk.common.dataexchange.xml.XmlNamespaceSolver;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.deserializer.AbstractDeserializer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerConfiguration;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.deserializer.IDeserializer;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+/**
+ * The <i>XML</i> {@link IDeserializer} for {@link TopologyId}s.
+ * 
+ * @author 2017-10-22 Christian Brunzendorf
+ * @author 2017-10-31 Felix Korb
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = OpenKonsequenz.class)
+public final class TopologyId_1_ApplicationXml_Deserializer extends AbstractDeserializer<DeserializerConfiguration, TopologyId, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyId_1_ApplicationXml_Deserializer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologyId_1_ApplicationXml_Deserializer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  public TopologyId deserialize(Reader reader, NoParameters parameters) throws IOException {
+
+    TopologyId result = null;
+
+    if(reader != null) {
+      XmlPayloadReader<ICimEntity> contentHandler = new XmlPayloadReader<>(ICimEntity.class, TypeInformationProvider.DEFAULT_INSTANCE, new XmlNamespaceSolver(new XmlNamespaceMapping(getOutputModelDefinition().getPackage())), ValueDecoder.DEFAULT_INSTANCE);
+
+      try {
+        InputSource tempInputSource = new InputSource(reader);
+        XMLReader tempXmlReader = XMLReaderFactory.createXMLReader();
+
+        tempXmlReader.setContentHandler(contentHandler);
+        tempXmlReader.parse(tempInputSource);
+        result = (TopologyId) contentHandler.getPayload();
+      }
+      catch(SAXException exception) {
+        throw new IOException(exception);
+      }
+    }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/BaseVoltages_2_ApplicationXml_Responder.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/BaseVoltages_2_ApplicationXml_Responder.java
new file mode 100644
index 0000000..20fa7d0
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/BaseVoltages_2_ApplicationXml_Responder.java
@@ -0,0 +1,68 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.electricity.responder;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.adapter.core.responder.AbstractTopologicalResourceResponder;
+import org.eclipse.openk.domain.statictopology.adapter.core.responder.StaticTopologyCimRequestParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.adapter.responder.ResponderInformation;
+import org.eclipse.openk.service.core.adapter.serializer.SerializerInformation;
+import org.eclipse.openk.service.core.logic.view.ViewInformation;
+
+/**
+ * The responder for {@link BaseVoltage}s.
+ * 
+ * @author 2018-03-20 Frank Jäger
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+@ResponderInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, version = 2, exportModelDefinitionType = Cim17v07.class, exportFormat = MediaType.ApplicationXml, parametersType = StaticTopologyCimRequestParameters.class)
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationXml, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+@ViewInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, parametersType = StaticTopologyCimRequestParameters.class)
+public final class BaseVoltages_2_ApplicationXml_Responder extends AbstractTopologicalResourceResponder<BaseVoltage, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage, StaticTopologyCimRequestParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_2_ApplicationXml_Responder.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BaseVoltages_2_ApplicationXml_Responder(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/EquipmentContainerContent_1_ApplicationXml_Responder.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/EquipmentContainerContent_1_ApplicationXml_Responder.java
new file mode 100644
index 0000000..fea59ee
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/EquipmentContainerContent_1_ApplicationXml_Responder.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.electricity.responder;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PowerSystemResource;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.adapter.core.responder.AbstractTopologicalResourceResponder;
+import org.eclipse.openk.domain.statictopology.adapter.electricity.responder.parameters.EquipmentContainerContentRequestParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.IEquipmentContainerContentQueryParameters;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.IEquipmentContainer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.adapter.responder.ResponderInformation;
+import org.eclipse.openk.service.core.adapter.serializer.SerializerInformation;
+import org.eclipse.openk.service.core.logic.view.ViewInformation;
+
+/**
+ * The responder for {@link IEquipmentContainer}-contents.
+ * 
+ * @author 2018-11-27 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+@ResponderInformation(scope = StaticTopologyDefaults.SCOPE_EQUIPMENT_CONTAINER_CONTENT, exportModelDefinitionType = Cim17v07.class, exportFormat = MediaType.ApplicationXml, parametersType = EquipmentContainerContentRequestParameters.class)
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationXml, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+@ViewInformation(scope = StaticTopologyDefaults.SCOPE_EQUIPMENT_CONTAINER_CONTENT, parametersType = IEquipmentContainerContentQueryParameters.class)
+public final class EquipmentContainerContent_1_ApplicationXml_Responder extends AbstractTopologicalResourceResponder<IEquipmentContainer, PowerSystemResource, EquipmentContainerContentRequestParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EquipmentContainerContent_1_ApplicationXml_Responder.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EquipmentContainerContent_1_ApplicationXml_Responder(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/parameters/EquipmentContainerContentRequestParameters.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/parameters/EquipmentContainerContentRequestParameters.java
new file mode 100644
index 0000000..02a25fa
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/electricity/responder/parameters/EquipmentContainerContentRequestParameters.java
@@ -0,0 +1,73 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.electricity.responder.parameters;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.common.model.attribute.value.annotations.ListValidator;
+import org.eclipse.openk.common.model.attribute.value.annotations.Value;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.logic.core.query.FetchType;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.IEquipmentContainerContentQueryParameters;
+import org.eclipse.openk.service.adapter.responder.TolerantCimRequestParameters;
+
+/**
+ * The parameters that are used to request the {@link StaticTopologyDefaults#SCOPE_EQUIPMENT_CONTAINER_CONTENT}.
+ *
+ * @author 2018-11-27 Felix Korb
+ * @author 2018-11-27 Renko Ortgies
+ */
+public final class EquipmentContainerContentRequestParameters extends TolerantCimRequestParameters implements IEquipmentContainerContentQueryParameters {
+
+  // Attributes
+  @Value(name = PARAMETER_EQUIPMENT_CONTAINER_ID, optional = false)
+  private UUID equipmentContainerId;
+
+  @Value(name = PARAMETER_FETCH_TYPE, defaultValue = "Lazy")
+  private FetchType fetchType;
+
+  @ListValidator(itemType = String.class)
+  @Value(name = PARAMETER_TOPOLOGICAL_RESOURCE_TYPES)
+  private List<String> topologicalResourceTypes;
+
+  @Value(name = PARAMETER_TOPOLOGY_ID)
+  private UUID topologyId;
+
+  // Properties
+  @Override
+  public UUID getEquipmentContainerId() {
+
+    return equipmentContainerId;
+  }
+
+  @Override
+  public FetchType getFetchType() {
+
+    return fetchType;
+  }
+
+  @Override
+  public List<String> getTopologicalResourceTypes() {
+
+    return topologicalResourceTypes;
+  }
+
+  @Override
+  public UUID getTopologyId() {
+
+    return topologyId;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/AbstractTopologicalResourceImporter.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/AbstractTopologicalResourceImporter.java
new file mode 100644
index 0000000..3ad1aff
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/AbstractTopologicalResourceImporter.java
@@ -0,0 +1,71 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.io.IOException;
+import java.util.UUID;
+
+import org.eclipse.openk.common.dataexchange.UnknownResourceException;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyOutOfDateException;
+import org.eclipse.openk.domain.statictopology.model.core.ITopologicalResource;
+import org.eclipse.openk.service.adapter.importer.AbstractImporter;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.importer.ImporterConfiguration;
+
+/**
+ * The base of all importers that imports {@link ITopologicalResource}s.
+ * 
+ * @author 2017-10-31 Felix Korb
+ * 
+ * @param <I>
+ *          the import data object type (internal model)
+ * @param <T>
+ *          the transfer data object type (interface model)
+ */
+public abstract class AbstractTopologicalResourceImporter<I, T> extends AbstractImporter<ImporterConfiguration, I, T, UUID> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractTopologicalResourceImporter(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected Object createReadParameters(UUID importParameters) throws IllegalArgumentException {
+
+    return importParameters;
+  }
+
+  @Override
+  protected final void handleImportException(IOException exception, UUID importParameters) throws IllegalArgumentException, IOException {
+
+    if(exception != null) {
+      if(exception instanceof UnknownResourceException)
+        throw new StaticTopologyOutOfDateException(importParameters, exception);
+
+      throw exception;
+    }
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/AcLineSegments_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/AcLineSegments_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..aca7ae2
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/AcLineSegments_3_ApplicationXml_Importer.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.AcLineSegment;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link AcLineSegment}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class AcLineSegments_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<AcLineSegment>, List<ACLineSegment>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(AcLineSegments_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public AcLineSegments_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/BaseVoltages_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/BaseVoltages_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..2f14986
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/BaseVoltages_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link BaseVoltage}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons=Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class BaseVoltages_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<BaseVoltage>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BaseVoltages_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Bays_2_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Bays_2_ApplicationXml_Importer.java
new file mode 100644
index 0000000..3dadaef
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Bays_2_ApplicationXml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Bay;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link Bay}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, version = 2, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Bays_2_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<Bay>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Bays_2_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Bays_2_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Breakers_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Breakers_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..0a6193f
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Breakers_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Breaker;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link Breaker}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Breakers_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<Breaker>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Breakers_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Breakers_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/BusbarSections_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/BusbarSections_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..a1e9aa4
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/BusbarSections_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.BusbarSection;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link BusbarSection}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class BusbarSections_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<BusbarSection>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BusbarSections_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BusbarSections_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Disconnectors_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Disconnectors_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..fe4094a
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Disconnectors_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Disconnector;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link Disconnector}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons=Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Disconnectors_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<Disconnector>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Disconnectors_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Disconnectors_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EarthFaultCompensators_1_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EarthFaultCompensators_1_ApplicationXml_Importer.java
new file mode 100644
index 0000000..727f2bd
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EarthFaultCompensators_1_ApplicationXml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link EarthFaultCompensator}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, version = 1, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class EarthFaultCompensators_1_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<EarthFaultCompensator>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EarthFaultCompensators_1_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EarthFaultCompensators_1_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EnergyConsumers_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EnergyConsumers_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..76b217b
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EnergyConsumers_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.consumption.EnergyConsumer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link EnergyConsumer}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class EnergyConsumers_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<EnergyConsumer>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EnergyConsumers_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EnergyConsumers_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EnergySources_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EnergySources_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..b3a5010
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/EnergySources_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.generation.EnergySource;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link EnergySource}s importer .
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class EnergySources_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<EnergySource>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EnergySources_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EnergySources_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/GeographicalRegions_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/GeographicalRegions_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..db79283
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/GeographicalRegions_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.GeographicalRegion;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link GeographicalRegion}s importer .
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class GeographicalRegions_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<GeographicalRegion>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(GeographicalRegions_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public GeographicalRegions_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/GroundingImpedances_1_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/GroundingImpedances_1_ApplicationXml_Importer.java
new file mode 100644
index 0000000..0cc5566
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/GroundingImpedances_1_ApplicationXml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link GroundingImpedance}s importer .
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, version = 1, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class GroundingImpedances_1_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<GroundingImpedance>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(GroundingImpedances_1_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public GroundingImpedances_1_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Junctions_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Junctions_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..5ced7ca
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Junctions_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Junction;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link Junction}s importer .
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Junctions_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<Junction>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Junctions_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Junctions_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/LineTypes_2_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/LineTypes_2_ApplicationXml_Importer.java
new file mode 100644
index 0000000..f9ab6a4
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/LineTypes_2_ApplicationXml_Importer.java
@@ -0,0 +1,71 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The line-types importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, version = 2, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class LineTypes_2_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<TopologicalResourceType>, List<PSRType>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(LineTypes_2_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public LineTypes_2_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Lines_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Lines_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..41fdc12
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Lines_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link Line}s importer .
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_LINES, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_LINES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Lines_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<org.eclipse.openk.domain.statictopology.model.electricity.line.Line>, List<Line>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Lines_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Lines_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/LoadBreakSwitches_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/LoadBreakSwitches_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..9be74ee
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/LoadBreakSwitches_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link LoadBreakSwitch}s importer .
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class LoadBreakSwitches_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<LoadBreakSwitch>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(LoadBreakSwitches_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public LoadBreakSwitches_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/PetersenCoils_1_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/PetersenCoils_1_ApplicationXml_Importer.java
new file mode 100644
index 0000000..a43f6b5
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/PetersenCoils_1_ApplicationXml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.PetersenCoil;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link PetersenCoil}s importer .
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, version = 1, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class PetersenCoils_1_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<PetersenCoil>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(PetersenCoils_1_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public PetersenCoils_1_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Plants_2_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Plants_2_ApplicationXml_Importer.java
new file mode 100644
index 0000000..b769310
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Plants_2_ApplicationXml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.generation.Plant;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link Plant}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, version = 2, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Plants_2_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<Plant>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Plants_2_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Plants_2_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/PowerTransformers_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/PowerTransformers_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..1e99f76
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/PowerTransformers_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.powertransformer.PowerTransformer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link PowerTransformer}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class PowerTransformers_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<PowerTransformer>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(PowerTransformers_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public PowerTransformers_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/SubGeographicalRegions_2_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/SubGeographicalRegions_2_ApplicationXml_Importer.java
new file mode 100644
index 0000000..f4031a1
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/SubGeographicalRegions_2_ApplicationXml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.SubGeographicalRegion;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link SubGeographicalRegion}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, version = 2, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class SubGeographicalRegions_2_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<SubGeographicalRegion>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(SubGeographicalRegions_2_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public SubGeographicalRegions_2_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/SubstationTypes_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/SubstationTypes_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..e71085d
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/SubstationTypes_3_ApplicationXml_Importer.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The substation-types importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class SubstationTypes_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<TopologicalResourceType>, List<PSRType>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(SubstationTypes_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public SubstationTypes_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Substations_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Substations_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..479b1d4
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Substations_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Substation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link Substation}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Substations_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<Substation>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Substations_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Substations_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Switches_2_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Switches_2_ApplicationXml_Importer.java
new file mode 100644
index 0000000..c972aa9
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Switches_2_ApplicationXml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Switch;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link Switch}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, version = 2, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Switches_2_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<Switch>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Switches_2_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Switches_2_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/TopologyId_1_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/TopologyId_1_ApplicationXml_Importer.java
new file mode 100644
index 0000000..b49b7de
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/TopologyId_1_ApplicationXml_Importer.java
@@ -0,0 +1,95 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.io.IOException;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.profile.openkonsequenz.OpenKonsequenz;
+import org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.InvalidDocumentException;
+import org.eclipse.openk.common.dataexchange.InvalidFormatException;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.importer.AbstractImporter;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterConfiguration;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link org.eclipse.openk.domain.statictopology.model.core.TopologyId} importer.
+ * 
+ * @author 2018-05-02 Felix Korb
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = OpenKonsequenz.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, importFormat = MediaType.ApplicationXml, importModelDefinitionType = OpenKonsequenz.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+public final class TopologyId_1_ApplicationXml_Importer extends AbstractImporter<ImporterConfiguration, org.eclipse.openk.domain.statictopology.model.core.TopologyId, TopologyId, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyId_1_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologyId_1_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected org.eclipse.openk.domain.statictopology.model.core.TopologyId mapToImportData(TopologyId transferData, NoParameters importParameters) throws IOException {
+
+    org.eclipse.openk.domain.statictopology.model.core.TopologyId result = null;
+
+    if((transferData != null) && StringUtilities.hasContent(transferData.getMRID()))
+      try {
+        UUID mrid = UUID.fromString(transferData.getMRID());
+
+        result = new org.eclipse.openk.domain.statictopology.model.core.TopologyId();
+        result.setKey(new Key(org.eclipse.openk.domain.statictopology.model.core.TopologyId.class, mrid));
+      }
+      catch(IllegalArgumentException exception) {
+        throw new InvalidDocumentException(MediaType.ApplicationXml, getScope(), "Invalid MRID received for 'topology-id'!", new InvalidFormatException(UUID.class, transferData.getMRID(), exception));
+      }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Topology_2_ApplicationXml_ImportParameters.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Topology_2_ApplicationXml_ImportParameters.java
new file mode 100644
index 0000000..7d0c500
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/Topology_2_ApplicationXml_ImportParameters.java
@@ -0,0 +1,52 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.UUID;
+
+import org.eclipse.openk.common.model.attribute.value.annotations.Value;
+
+/**
+ * The topology import parameters.
+ * 
+ * @author 2017-10-19 Christian Brunzendorf
+ */
+public final class Topology_2_ApplicationXml_ImportParameters {
+
+  // Constants
+  public static final String PARAMETER_TOPOLOGY_ID = "topology-id";
+
+  // Attributes
+  @Value(name = PARAMETER_TOPOLOGY_ID, optional = true)
+  private UUID topologyId;
+
+  // Properties
+  /**
+   * @return the topology-id; can be <code>null</code>
+   */
+  public UUID getTopologyId() {
+
+    return topologyId;
+  }
+
+  /**
+   * @param topologyId
+   *          the topology-id; can be <code>null</code>
+   */
+  public void setTopologyId(UUID topologyId) {
+
+    this.topologyId = topologyId;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/VoltageLevels_3_ApplicationXml_Importer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/VoltageLevels_3_ApplicationXml_Importer.java
new file mode 100644
index 0000000..8a5c21d
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/importer/VoltageLevels_3_ApplicationXml_Importer.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.importer.ImporterInformation;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+
+/**
+ * The {@link VoltageLevel}s importer.
+ * 
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, version = 3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class VoltageLevels_3_ApplicationXml_Importer extends AbstractTopologicalResourceImporter<List<org.eclipse.openk.domain.statictopology.model.electricity.substation.VoltageLevel>, List<VoltageLevel>> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(VoltageLevels_3_ApplicationXml_Importer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public VoltageLevels_3_ApplicationXml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..c08b1f5
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,137 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.domain.statictopology.model.core.ConnectivityNode;
+import org.eclipse.openk.domain.statictopology.model.core.Terminal;
+import org.eclipse.openk.domain.statictopology.model.electricity.ConductingEquipment;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+import org.eclipse.openk.service.model.ModelUtilities;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link ConductingEquipment}s into {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConductingEquipment}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<S extends ConductingEquipment, D extends org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConductingEquipment, P> extends AbstractEquipment_StaticTopology_Cim17v07_Mapper<S, D, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(BaseVoltage.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage.class);
+    typeMappings.put(ConnectivityNode.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConnectivityNode.class);
+    typeMappings.put(Terminal.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal.class);
+  }
+
+  @Override
+  protected void setAttributes(S source, D destination, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific conducting equipment attributes */
+    destination.setBaseVoltage(toReference(source.getBaseVoltage()));
+    destination.setTerminals(toTerminals(CollectionUtilities.toCollection(source.getTerminals())));
+  }
+
+  /**
+   * Converts the specified {@link Terminal} into a {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal}.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>value</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   *
+   * @param value
+   *          the {@link Terminal}
+   * @return the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal}; not <code>null</code>
+   */
+  private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal toTerminal(Terminal value) {
+
+    org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal result;
+
+    /* create terminal */
+    result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal();
+
+    /* set attributes */
+    result.setConnectivityNode(toReference(value.getConnectivityNode()));
+    result.setMRID(ModelUtilities.extractIdentifierAsString(value));
+    result.setName(value.getName());
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link Terminal}s into {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal}s.
+   *
+   * @param values
+   *          the {@link Terminal}s; can be <code>null</code> or empty
+   * @return the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal}s; can be <code>null</code> or empty
+   */
+  protected final List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal> toTerminals(Collection<Terminal> values) {
+
+    List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal> result;
+
+    if(!CollectionUtilities.hasContent(values))
+      result = null;
+    else {
+      result = new ArrayList<>(values.size());
+
+      for(Terminal value : values)
+        result.add(toTerminal(value));
+    }
+
+    return result;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..94e30f0
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,80 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.common.system.UnsupportedTypeException;
+import org.eclipse.openk.domain.statictopology.model.core.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.electricity.Equipment;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link IEquipmentContainer}s into {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.EquipmentContainer}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper<S extends IEquipmentContainer, D extends org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.EquipmentContainer, P> extends AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<S, D, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected <E extends IdentifiedObject> Class<E> mapType(Class<? extends IEntity> type) throws UnsupportedTypeException {
+
+    Class<E> result;
+
+    if(Equipment.class.isAssignableFrom(type))
+      result = (Class<E>) org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment.class;
+    else
+      result = super.mapType(type);
+
+    return result;
+  }
+
+  @Override
+  protected void setAttributes(S source, D destination, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific equipment container attributes */
+    destination.setEquipments(toReferences(CollectionUtilities.toCollection(source.getEquipments())));
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractEquipment_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractEquipment_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..de3730a
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractEquipment_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,50 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment;
+import org.eclipse.openk.domain.statictopology.model.core.IEquipment;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link IEquipment}s into {@link Equipment}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractEquipment_StaticTopology_Cim17v07_Mapper<S extends IEquipment, D extends Equipment, P> extends AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<S, D, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractEquipment_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractSwitch_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractSwitch_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..ca4283f
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractSwitch_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,62 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Switch;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link Switch}es into {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch}es.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractSwitch_StaticTopology_Cim17v07_Mapper<S extends Switch, D extends org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch, P> extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<S, D, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractSwitch_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void setAttributes(S source, D destination, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific switch attributes */
+    destination.setNormalOpen(source.isNormalOpen());
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..e94b9c6
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,459 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Name;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameType;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameTypeAuthority;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.common.key.OriginalKey;
+import org.eclipse.openk.common.key.OriginalKeyType;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.system.FatalException;
+import org.eclipse.openk.common.system.UnsupportedTypeException;
+import org.eclipse.openk.domain.statictopology.model.core.ITopologicalResource;
+import org.eclipse.openk.service.adapter.mapper.AbstractMapper;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+import org.eclipse.openk.service.core.adapter.mapper.MapperConfiguration;
+import org.eclipse.openk.service.model.ModelUtilities;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link ITopologicalResource}-entities into {@link Cim17v07}-entities.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<S extends IEntity, D extends IdentifiedObject, P> extends AbstractMapper<MapperConfiguration, Collection<S>, Collection<D>, P> {
+
+  // Attribute
+  private Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings;
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  /**
+   * Creates the corresponding {@link Cim17v07}-instance for the specified {@link ITopologicalResource}.
+   * 
+   * @param <E>
+   *          the {@link Cim17v07}-type
+   * @param entity
+   *          the {@link ITopologicalResource}; can be <code>null</code>
+   * @return the {@link Cim17v07}-instance; can be <code>null</code>
+   * 
+   * @see #mapType(Class)
+   */
+  private <E extends IdentifiedObject> E createEntity(IEntity entity) {
+
+    E result;
+
+    if(entity == null)
+      result = null;
+    else {
+      Class<? extends IdentifiedObject> resultType = mapType(entity.getClass());
+
+      if(resultType == null)
+        throw new UnsupportedTypeException(entity.getClass());
+      else
+        try {
+          result = (E) resultType.newInstance();
+        }
+        catch(IllegalAccessException | InstantiationException exception) {
+          throw new FatalException(exception); /* should be unreachable code - all Cim17v07-classes have public default constructors */
+        }
+    }
+
+    return result;
+  }
+
+  /**
+   * Creates the type-mappings that are necessary to map the current {@link ITopologicalResource} and all of its referenced objects.
+   * 
+   * @return the type-mappings; not <code>null</code> and not empty
+   */
+  private Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> createTypeMappings() {
+
+    Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> result = new HashMap<>();
+
+    initTypeMappings(result);
+
+    return result;
+  }
+
+  /**
+   * Initializes the type-mappings that are necessary to map the current {@link Cim17v07}-type and all of its referenced objects.
+   * This method must be overridden to provide the mapper specific type-mappings.
+   * 
+   * @param typeMappings
+   *          the type-mapping-list that can be extended; not <code>null</code> but can be <code>empty</code>
+   * 
+   */
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    /* NOOP */
+  }
+
+  @Override
+  public final Collection<D> map(Collection<S> sourceModel, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    Collection<D> result;
+
+    if(!CollectionUtilities.hasContent(sourceModel))
+      result = null;
+    else {
+      D destinationEntity;
+      result = new ArrayList<>(sourceModel.size());
+
+      for(S sourceEntity : sourceModel) {
+        destinationEntity = map(sourceEntity, mappingParameters);
+        result.add(destinationEntity);
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Maps the specified {@link ITopologicalResource}-type to the corresponding {@link Cim17v07}-type.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>type</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   * 
+   * @param <E>
+   *          {@link ITopologicalResource}-type
+   * @param type
+   *          the {@link ITopologicalResource}-type
+   * @return the corresponding {@link Cim17v07}-type; not <code>null</code>
+   * @throws UnsupportedTypeException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>type</code> is not supported</li>
+   *           </ul>
+   */
+  protected <E extends IdentifiedObject> Class<E> mapType(Class<? extends IEntity> type) throws UnsupportedTypeException {
+
+    Class<E> result = (Class<E>) getTypeMappings().get(type);
+
+    if(result == null)
+      throw new UnsupportedTypeException(type);
+
+    return result;
+  }
+
+  /**
+   * Maps the source {@link IEntity} into the destination {@link IdentifiedObject}.
+   * 
+   * @param source
+   *          the source {@link IEntity}; can be <code>null</code>
+   * @param mappingParameters
+   *          the mapping parameters
+   * @return the destination {@link IdentifiedObject}; can be <code>null</code>
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>mappingParameters</code> is invalid and necessary for the specific mapper</li>
+   *           </ul>
+   * @throws IOException
+   *           {@link IOException}
+   */
+  private D map(S source, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    D result;
+
+    if(source == null)
+      result = null;
+    else {
+      /* create result */
+      result = (D) createEntity(source);
+
+      /* set attributes */
+      setAttributes(source, result, mappingParameters);
+    }
+
+    return result;
+  }
+
+  /**
+   * Sets the attributes of the specified destination {@link IdentifiedObject} using the specified source {@link IEntity}.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>source</code> is not <code>null</code></li>
+   * <li><code>destination</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   * 
+   * @param source
+   *          the source {@link IEntity}
+   * @param destination
+   *          the destination {@link IdentifiedObject}
+   * @param mappingParameters
+   *          the mapping parameters
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>mappingParameters</code> is invalid and necessary for the specific method</li>
+   *           </ul>
+   * @throws IOException
+   *           {@link IOException}
+   */
+  protected void setAttributes(S source, D destination, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set entity attributes */
+    destination.setDescription(source.getDescription());
+    destination.setMRID(ModelUtilities.extractIdentifierAsString(source));
+    destination.setName(source.getName());
+    destination.setNames(toNames(CollectionUtilities.toCollection(source.getOriginalKeys())));
+  }
+
+  /**
+   * Converts the specified {@link OriginalKey} into the {@link Name}.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>value</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   *
+   * @param value
+   *          the {@link OriginalKey}
+   * @return the {@link Name}; can be <code>null</code>
+   */
+  private Name toName(OriginalKey value) {
+
+    Name result;
+
+    /* create name */
+    result = new Name();
+    result.setName(OriginalKey.encodeElements(value));
+    result.setNameType(toNameType(value.getType()));
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link OriginalKey}s into {@link Name}s.
+   *
+   * @param values
+   *          the {@link OriginalKey}s; can be <code>null</code> or empty
+   * @return the {@link Name}s; can be <code>null</code> or empty
+   */
+  private List<Name> toNames(Collection<OriginalKey> values) {
+
+    List<Name> result;
+
+    if(CollectionUtilities.hasContent(values)) {
+      Name name;
+
+      result = new ArrayList<>(values.size());
+
+      for(OriginalKey originalKey : values)
+        if(originalKey != null) {
+          name = toName(originalKey);
+          result.add(name);
+        }
+    }
+    else
+      result = null;
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link OriginalKeyType} into the {@link NameType}.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>value</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   *
+   * @param value
+   *          the {@link OriginalKeyType}
+   * @return the {@link NameType}; not <code>null</code>
+   */
+  private NameType toNameType(OriginalKeyType value) {
+
+    NameType result;
+
+    result = new NameType();
+    result.setNameTypeAuthority(toNameTypeAuthority(value));
+    result.setName(value.getName());
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link OriginalKeyType} into the {@link NameTypeAuthority}.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>value</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   *
+   * @param value
+   *          the {@link OriginalKeyType}
+   * @return the {@link NameTypeAuthority}; not <code>null</code>
+   */
+  private NameTypeAuthority toNameTypeAuthority(OriginalKeyType value) {
+
+    NameTypeAuthority result;
+
+    result = new NameTypeAuthority();
+    result.setName(value.getAuthority());
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link IEntity} into an {@link IdentifiedObject} reference.
+   *
+   * @param <R>
+   *          the {@link IdentifiedObject} type
+   * @param value
+   *          the {@link IEntity}; can be <code>null</code>
+   * @return the {@link IdentifiedObject} reference; can be <code>null</code>
+   */
+  protected final <R extends IdentifiedObject> R toReference(IEntity value) {
+
+    String extractedMrid = ModelUtilities.extractIdentifierAsString(value);
+    R result;
+
+    /* check reference to extracted MRID */
+    if(!StringUtilities.hasContent(extractedMrid))
+      result = null;
+    else {
+      /* create reference with extracted MRID */
+      result = createEntity(value);
+      result.setMRID(extractedMrid);
+    }
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link IEntity}s into {@link IdentifiedObject} references.
+   *
+   * @param <R>
+   *          the {@link IdentifiedObject} type
+   * @param values
+   *          the {@link IEntity}s; can be <code>null</code> or empty
+   * @return the {@link IdentifiedObject} references; can be <code>null</code> or empty
+   */
+  protected final <R extends IdentifiedObject> List<R> toReferences(Collection<? extends IEntity> values) {
+
+    return toReferences(values, null);
+  }
+
+  /**
+   * Converts the specified {@link IEntity}s into {@link IdentifiedObject} references.
+   *
+   * @param <R>
+   *          the {@link IdentifiedObject} type
+   * @param values
+   *          the {@link IEntity}s; can be <code>null</code> or empty
+   * @param typeFilter
+   *          the {@link IEntity}-type filter; can be <code>null</code>
+   * @return the {@link IdentifiedObject} references; can be <code>null</code> or empty
+   */
+  protected final <R extends IdentifiedObject> List<R> toReferences(Collection<? extends IEntity> values, Class<? extends IEntity> typeFilter) {
+
+    List<R> result;
+
+    if(!CollectionUtilities.hasContent(values))
+      result = null;
+    else {
+      if(typeFilter == null) {
+        /* type-filter deactivated */
+
+        result = new ArrayList<>(values.size());
+
+        for(IEntity value : values)
+          result.add(toReference(value));
+      }
+      else {
+        /* type-filter activated */
+        result = null;
+
+        for(IEntity value : values)
+          if(typeFilter.equals(value.getClass())) {
+            if(result == null)
+              result = new ArrayList<>(values.size());
+
+            result.add(toReference(value));
+          }
+      }
+    }
+
+    return result;
+  }
+
+  // Properties
+  /**
+   * @return the type-mappings that are necessary to map the current {@link ITopologicalResource} and all of its referenced objects; not <code>null</code> and not empty
+   */
+  protected final synchronized Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> getTypeMappings() {
+
+    if(typeMappings == null)
+      typeMappings = createTypeMappings();
+
+    return typeMappings;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AcLineSegments_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AcLineSegments_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..2e9db7d
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/AcLineSegments_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,138 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.CurrentFlow;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Length;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.ReactancePerLength;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.ResistancePerLength;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PerLengthSequenceImpedance;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.AcLineSegment;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.WireInfo;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link AcLineSegment}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class AcLineSegments_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<AcLineSegment, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(AcLineSegments_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public AcLineSegments_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(AcLineSegment.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment.class);
+  }
+
+  @Override
+  protected void setAttributes(AcLineSegment source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setLength(UnitUtilities.toCimDatatype(Length.class, UnitMultiplier.class, UnitSymbol.class, source, AcLineSegment.PROPERTY_LENGTH));
+    destination.setPerLengthImpedance(toPerLengthSequenceImpedance(source.getWireInfo()));
+  }
+
+  /**
+   * Converts the specified {@link WireInfo} into a {@link PerLengthSequenceImpedance}.
+   *
+   * @param value
+   *          the {@link WireInfo}; can be <code>null</code>
+   * @return the {@link PerLengthSequenceImpedance}; can be <code>null</code>
+   */
+  private PerLengthSequenceImpedance toPerLengthSequenceImpedance(WireInfo value) {
+
+    PerLengthSequenceImpedance result;
+
+    if(value == null)
+      result = null;
+    else {
+      ResistancePerLength r = UnitUtilities.toCimDatatype(ResistancePerLength.class, UnitMultiplier.class, UnitSymbol.class, value, WireInfo.PROPERTY_R);
+      CurrentFlow ratedCurrent = UnitUtilities.toCimDatatype(CurrentFlow.class, UnitMultiplier.class, UnitSymbol.class, value, WireInfo.PROPERTY_RATED_CURRENT);
+      ReactancePerLength x = UnitUtilities.toCimDatatype(ReactancePerLength.class, UnitMultiplier.class, UnitSymbol.class, value, WireInfo.PROPERTY_X);
+
+      /* check the necessity of the result */
+      if((r == null) && (ratedCurrent == null) && (x == null))
+        result = null;
+      else {
+        result = new PerLengthSequenceImpedance();
+
+        /* set attributes */
+        result.setR(r);
+        result.setX(x);
+
+        /* create & set wire infos */
+        if(ratedCurrent != null) {
+          org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61968.AssetInfo.WireInfo wireInfo = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61968.AssetInfo.WireInfo();
+          wireInfo.setRatedCurrent(ratedCurrent);
+
+          result.setWireInfos(CollectionUtilities.toList(wireInfo));
+        }
+      }
+    }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/BaseVoltages_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/BaseVoltages_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..17705c8
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/BaseVoltages_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Voltage;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link BaseVoltage}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class BaseVoltages_StaticTopology_Cim17v07_Mapper extends AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<BaseVoltage, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BaseVoltages_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(BaseVoltage.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage.class);
+  }
+
+  @Override
+  protected void setAttributes(BaseVoltage source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setNominalVoltage(UnitUtilities.toCimDatatype(Voltage.class, UnitMultiplier.class, UnitSymbol.class, source, BaseVoltage.PROPERTY_NOMINAL_VOLTAGE));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Bays_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Bays_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..151eb8b
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Bays_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Bay;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link Bay}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public class Bays_StaticTopology_Cim17v07_Mapper extends AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper<Bay, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Bays_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Bays_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Bay.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Breakers_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Breakers_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..3ec2727
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Breakers_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Breaker;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link Breaker}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Breakers_StaticTopology_Cim17v07_Mapper extends AbstractSwitch_StaticTopology_Cim17v07_Mapper<Breaker, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Breakers_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Breakers_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Breaker.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/BusbarSections_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/BusbarSections_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..eeb6a5e
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/BusbarSections_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.BusbarSection;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link BusbarSection}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class BusbarSections_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<BusbarSection, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BusbarSections_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BusbarSections_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(BusbarSection.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Disconnectors_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Disconnectors_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..98bdb2e
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Disconnectors_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Disconnector;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link Disconnector}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Disconnectors_StaticTopology_Cim17v07_Mapper extends AbstractSwitch_StaticTopology_Cim17v07_Mapper<Disconnector, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Disconnectors_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Disconnectors_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Disconnector.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EarthFaultCompensators_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EarthFaultCompensators_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..61159b7
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EarthFaultCompensators_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Resistance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link EarthFaultCompensator}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class EarthFaultCompensators_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<EarthFaultCompensator, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EarthFaultCompensators_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EarthFaultCompensators_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(EarthFaultCompensator.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator.class);
+  }
+
+  @Override
+  protected void setAttributes(EarthFaultCompensator source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setR(UnitUtilities.toCimDatatype(Resistance.class, UnitMultiplier.class, UnitSymbol.class, source, EarthFaultCompensator.PROPERTY_R));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EnergyConsumers_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EnergyConsumers_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..a1d7f7e
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EnergyConsumers_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.consumption.EnergyConsumer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link EnergyConsumer}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class EnergyConsumers_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<EnergyConsumer, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EnergyConsumers_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EnergyConsumers_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(EnergyConsumer.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EnergySources_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EnergySources_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..fb1b6e8
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/EnergySources_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.generation.EnergySource;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link EnergySource}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class EnergySources_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<EnergySource, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EnergySources_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EnergySources_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(EnergySource.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/GeographicalRegions_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/GeographicalRegions_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..84172ec
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/GeographicalRegions_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,88 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.GeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.electricity.SubGeographicalRegion;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link GeographicalRegion}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class GeographicalRegions_StaticTopology_Cim17v07_Mapper extends AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<GeographicalRegion, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(GeographicalRegions_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public GeographicalRegions_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(GeographicalRegion.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion.class);
+    typeMappings.put(SubGeographicalRegion.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion.class);
+  }
+
+  @Override
+  protected void setAttributes(GeographicalRegion source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setRegions(toReferences(source.getSubEquipmentContainers(), SubGeographicalRegion.class));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/GroundingImpedances_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/GroundingImpedances_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..74dd12a
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/GroundingImpedances_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,93 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Reactance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Resistance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link GroundingImpedance}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class GroundingImpedances_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<GroundingImpedance, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(GroundingImpedances_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public GroundingImpedances_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(GroundingImpedance.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance.class);
+  }
+
+  @Override
+  protected void setAttributes(GroundingImpedance source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setR(UnitUtilities.toCimDatatype(Resistance.class, UnitMultiplier.class, UnitSymbol.class, source, EarthFaultCompensator.PROPERTY_R));
+    destination.setX(UnitUtilities.toCimDatatype(Reactance.class, UnitMultiplier.class, UnitSymbol.class, source, GroundingImpedance.PROPERTY_X));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Junctions_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Junctions_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..e2cd6b6
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Junctions_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Junction;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link Junction}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Junctions_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<Junction, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Junctions_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Junctions_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Junction.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/LineTypes_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/LineTypes_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..7e3fad0
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/LineTypes_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps line-types to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class LineTypes_StaticTopology_Cim17v07_Mapper extends AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<TopologicalResourceType, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(LineTypes_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public LineTypes_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(TopologicalResourceType.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Lines_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Lines_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..323963d
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Lines_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,89 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Line;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link Line}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line}s.
+ * 
+ * @author 2018-03-23 Christian Brunzendorf
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Lines_StaticTopology_Cim17v07_Mapper extends AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper<Line, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Lines_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Lines_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Line.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line.class);
+    typeMappings.put(TopologicalResourceType.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class);
+  }
+
+  @Override
+  protected void setAttributes(Line source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setPSRType(toReference(source.getType()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/LoadBreakSwitches_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/LoadBreakSwitches_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..c211c66
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/LoadBreakSwitches_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link LoadBreakSwitch}es to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch}es.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class LoadBreakSwitches_StaticTopology_Cim17v07_Mapper extends AbstractSwitch_StaticTopology_Cim17v07_Mapper<LoadBreakSwitch, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(LoadBreakSwitches_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public LoadBreakSwitches_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(LoadBreakSwitch.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/PetersenCoils_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/PetersenCoils_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..1490259
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/PetersenCoils_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,129 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.CurrentFlow;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Reactance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.InvalidValueException;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.PetersenCoil;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.PetersenCoilModeKind;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link PetersenCoil}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class PetersenCoils_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<PetersenCoil, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(PetersenCoils_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public PetersenCoils_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(PetersenCoil.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil.class);
+  }
+
+  @Override
+  protected void setAttributes(PetersenCoil source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setMode(toPetersenCoilModeKind(source.getMode()));
+    destination.setOffsetCurrent(UnitUtilities.toCimDatatype(CurrentFlow.class, UnitMultiplier.class, UnitSymbol.class, source, PetersenCoil.PROPERTY_OFFSET_CURRENT));
+    destination.setPositionCurrent(UnitUtilities.toCimDatatype(CurrentFlow.class, UnitMultiplier.class, UnitSymbol.class, source, PetersenCoil.PROPERTY_POSITION_CURRENT));
+    destination.setXGroundMax(UnitUtilities.toCimDatatype(Reactance.class, UnitMultiplier.class, UnitSymbol.class, source, PetersenCoil.PROPERTY_X_GROUND_MAX));
+    destination.setXGroundMin(UnitUtilities.toCimDatatype(Reactance.class, UnitMultiplier.class, UnitSymbol.class, source, PetersenCoil.PROPERTY_X_GROUND_MIN));
+    destination.setXGroundNominal(UnitUtilities.toCimDatatype(Reactance.class, UnitMultiplier.class, UnitSymbol.class, source, PetersenCoil.PROPERTY_X_GROUND_NOMINAL));
+  }
+
+  /**
+   * Converts the specified {@link PetersenCoilModeKind} into a {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind}.
+   *
+   * @param value
+   *          the {@link PetersenCoilModeKind}; can be <code>null</code>
+   * @return the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind}; can be <code>null</code>
+   */
+  private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind toPetersenCoilModeKind(PetersenCoilModeKind value) {
+
+    org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind result;
+
+    if(value == null)
+      result = null;
+    else
+      switch(value) {
+        case fixed:
+          result = org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind.fixed;
+          break;
+        case manual:
+          result = org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind.manual;
+          break;
+        case automaticPositioning:
+          result = org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind.automaticPositioning;
+          break;
+        default:
+          throw new InvalidValueException(PetersenCoil.PROPERTY_MODE, value.name());
+      }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Plants_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Plants_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..1f8ae6b
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Plants_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.generation.Plant;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link Plant}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Plants_StaticTopology_Cim17v07_Mapper extends AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper<Plant, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Plants_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Plants_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Plant.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/PowerTransformers_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/PowerTransformers_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..4c2c5a6
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/PowerTransformers_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,179 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.ApparentPower;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.PerCent;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Voltage;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.powertransformer.PowerTransformer;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.powertransformer.PowerTransformerEnd;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.powertransformer.RatioTapChanger;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link PowerTransformer}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class PowerTransformers_StaticTopology_Cim17v07_Mapper extends AbstractConductingEquipment_StaticTopology_Cim17v07_Mapper<PowerTransformer, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(PowerTransformers_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public PowerTransformers_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(PowerTransformer.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer.class);
+  }
+
+  @Override
+  protected void setAttributes(PowerTransformer source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setVectorGroup(source.getVectorGroup());
+    destination.setPowerTransformerEnd(toPowerTransformerEnds(source.getPowerTransformerEnds()));
+  }
+
+  /**
+   * Converts the specified {@link PowerTransformerEnd} into a {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd}.
+   *
+   * @param value
+   *          the {@link PowerTransformerEnd}; can be <code>null</code>
+   * @return the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd}; can be <code>null</code>
+   */
+  private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd toPowerTransformerEnd(PowerTransformerEnd value) {
+
+    org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd result;
+
+    if(value == null)
+      result = null;
+    else {
+      /* create result */
+      result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd();
+
+      /* set attributes */
+      result.setBaseVoltage(toReference(value.getBaseVoltage()));
+      result.setRatedS(UnitUtilities.toCimDatatype(ApparentPower.class, UnitMultiplier.class, UnitSymbol.class, value, PowerTransformerEnd.PROPERTY_RATED_S));
+      result.setRatedU(UnitUtilities.toCimDatatype(Voltage.class, UnitMultiplier.class, UnitSymbol.class, value, PowerTransformerEnd.PROPERTY_RATED_U));
+      result.setRatioTapChanger(toRatioTapChanger(value.getRatioTapChanger()));
+      result.setTerminal(toReference(value.getTerminal()));
+    }
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link PowerTransformerEnd}s into {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd}s.
+   *
+   * @param values
+   *          the {@link PowerTransformerEnd}s; can be <code>null</code> or empty
+   * @return the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd}s; can be <code>null</code> or empty
+   */
+  private List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd> toPowerTransformerEnds(List<PowerTransformerEnd> values) {
+
+    List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd> result;
+
+    if(!CollectionUtilities.hasContent(values))
+      result = null;
+    else {
+      result = new ArrayList<>(values.size());
+
+      for(PowerTransformerEnd value : values) {
+        org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd powerTransformerEnd = toPowerTransformerEnd(value);
+
+        if(powerTransformerEnd != null)
+          result.add(powerTransformerEnd);
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link RatioTapChanger} into a {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger}.
+   *
+   * @param value
+   *          the {@link RatioTapChanger}; can be <code>null</code>
+   * @return the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger}; can be <code>null</code>
+   */
+  private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger toRatioTapChanger(RatioTapChanger value) {
+
+    org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger result;
+
+    if(value == null)
+      result = null;
+    else {
+      result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger();
+
+      result.setDescription(value.getDescription());
+      result.setHighStep(value.getHighStep());
+      result.setLowStep(value.getLowStep());
+      result.setName(value.getName());
+      result.setNormalStep(value.getNormalStep());
+      result.setStep(value.getStep());
+      result.setStepVoltageIncrement(UnitUtilities.toCimDatatype(PerCent.class, UnitMultiplier.class, UnitSymbol.class, value, RatioTapChanger.PROPERTY_STEP_VOLTAGE_INCREMENT));
+    }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/SubGeographicalRegions_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/SubGeographicalRegions_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..9fedb9a
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/SubGeographicalRegions_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.SubGeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Line;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Substation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link SubGeographicalRegion}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class SubGeographicalRegions_StaticTopology_Cim17v07_Mapper extends AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<SubGeographicalRegion, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(SubGeographicalRegions_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public SubGeographicalRegions_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Line.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line.class);
+    typeMappings.put(SubGeographicalRegion.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion.class);
+    typeMappings.put(Substation.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation.class);
+  }
+
+  @Override
+  protected void setAttributes(SubGeographicalRegion source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setLines(toReferences(source.getSubEquipmentContainers(), Line.class));
+    destination.setSubstations(toReferences(source.getSubEquipmentContainers(), Substation.class));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/SubstationTypes_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/SubstationTypes_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..1e72552
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/SubstationTypes_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,74 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps substation-types to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class SubstationTypes_StaticTopology_Cim17v07_Mapper extends AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<TopologicalResourceType, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(SubstationTypes_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public SubstationTypes_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(TopologicalResourceType.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Substation_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Substation_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..32a4af0
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Substation_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,94 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Substation;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.VoltageLevel;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link Substation}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation}s.
+ * 
+ * @author 2018-03-23 Christian Brunzendorf
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Substation_StaticTopology_Cim17v07_Mapper extends AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper<Substation, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Substation_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Substation_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Bay.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay.class);
+    typeMappings.put(Substation.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation.class);
+    typeMappings.put(TopologicalResourceType.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class);
+    typeMappings.put(VoltageLevel.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel.class);
+  }
+
+  @Override
+  protected void setAttributes(Substation source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setBays(toReferences(source.getSubEquipmentContainers(), Bay.class));
+    destination.setPSRType(toReference(source.getType()));
+    destination.setVoltageLevels(toReferences(source.getSubEquipmentContainers(), VoltageLevel.class));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Switches_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Switches_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..2421f81
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/Switches_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,81 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Breaker;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Disconnector;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Switch;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link Switch}es to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch}es.
+ * 
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public class Switches_StaticTopology_Cim17v07_Mapper extends AbstractSwitch_StaticTopology_Cim17v07_Mapper<Switch, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Switches_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Switches_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(Breaker.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker.class);
+    typeMappings.put(Disconnector.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector.class);
+    typeMappings.put(LoadBreakSwitch.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch.class);
+    typeMappings.put(Switch.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/TopologicalResourceTypes_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/TopologicalResourceTypes_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..eb556ff
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/TopologicalResourceTypes_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,72 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link TopologicalResourceType}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType}s.
+ * 
+ * @author 2018-07-22 Felix Korb
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCE_TYPES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class TopologicalResourceTypes_StaticTopology_Cim17v07_Mapper extends AbstractTopologicalResource_StaticTopology_Cim17v07_Mapper<TopologicalResourceType, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologicalResourceTypes_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologicalResourceTypes_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(TopologicalResourceType.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/TopologicalResources_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/TopologicalResources_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..83e3357
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/TopologicalResources_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,283 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.model.IModelDefinition;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.ITopologicalResource;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.domain.statictopology.model.electricity.GeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.electricity.SubGeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.electricity.consumption.EnergyConsumer;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.electricity.generation.EnergySource;
+import org.eclipse.openk.domain.statictopology.model.electricity.generation.Plant;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.AcLineSegment;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Junction;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Line;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.BusbarSection;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Substation;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.VoltageLevel;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.PetersenCoil;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.powertransformer.PowerTransformer;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Breaker;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Disconnector;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Switch;
+import org.eclipse.openk.service.adapter.IServiceAdapterController;
+import org.eclipse.openk.service.adapter.mapper.AbstractMapper;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+import org.eclipse.openk.service.core.adapter.mapper.MapperConfiguration;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link ITopologicalResource}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject}s.
+ * 
+ * @author 2018-11-26 Felix Korb
+ * @author 2018-11-26 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public final class TopologicalResources_StaticTopology_Cim17v07_Mapper extends AbstractMapper<MapperConfiguration, Collection<? extends IEntity>, Collection<? extends ICimEntity>, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologicalResources_StaticTopology_Cim17v07_Mapper.class);
+
+  // Attribute
+  private Map<Class<? extends ITopologicalResource>, MapperInfo> mapperInfoMappings;
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologicalResources_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  /**
+   * Adds the mapping of the {@link ITopologicalResource} to the corresponding {@link MapperInfo}.
+   * 
+   * @param mapperInfoMappings
+   *          the mapper-info-mappings to add; not <code>null</code> but can be empty
+   * 
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <li><code>mapperInfoMappings</code> is <code>null</code>
+   */
+  protected void addMapperInfoMappings(Map<Class<? extends ITopologicalResource>, MapperInfo> mapperInfoMappings) throws IllegalArgumentException {
+
+    if(mapperInfoMappings == null)
+      throw new IllegalArgumentException("mapperInfoMappings", new NullPointerException());
+    else {
+      Map<Class<? extends ITopologicalResource>, MapperInfo> result = getMapperInfoMappings();
+
+      result.putAll(mapperInfoMappings);
+    }
+  }
+
+  /**
+   * Creates the mapping of the {@link ITopologicalResource} to the corresponding {@link MapperInfo}.
+   * 
+   * @return the mapper-info-mappings; not <code>null</code> and not empty
+   */
+  private Map<Class<? extends ITopologicalResource>, MapperInfo> createMapperInfoMappings() {
+
+    Map<Class<? extends ITopologicalResource>, MapperInfo> result = new HashMap<>();
+
+    initMapperInfoMappings(result);
+
+    return result;
+  }
+
+  /**
+   * Initializes the mapping of the {@link ITopologicalResource} to the corresponding {@link MapperInfo}.
+   * This method can be overridden or extended to provide the mapper-info-mappings.
+   * 
+   * @param mapperInfoMappings
+   *          the type-mappings-list that can be extended; not <code>null</code> but can be <code>empty</code>
+   * 
+   */
+  protected void initMapperInfoMappings(Map<Class<? extends ITopologicalResource>, MapperInfo> mapperInfoMappings) {
+
+    mapperInfoMappings.put(AcLineSegment.class, new MapperInfo(StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(BaseVoltage.class, new MapperInfo(StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(Breaker.class, new MapperInfo(StaticTopologyDefaults.SCOPE_BREAKERS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(BusbarSection.class, new MapperInfo(StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(Bay.class, new MapperInfo(StaticTopologyDefaults.SCOPE_BAYS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(Disconnector.class, new MapperInfo(StaticTopologyDefaults.SCOPE_DISCONNECTORS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(EarthFaultCompensator.class, new MapperInfo(StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(EnergyConsumer.class, new MapperInfo(StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(EnergySource.class, new MapperInfo(StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(GeographicalRegion.class, new MapperInfo(StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(GroundingImpedance.class, new MapperInfo(StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(Junction.class, new MapperInfo(StaticTopologyDefaults.SCOPE_JUNCTIONS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(Line.class, new MapperInfo(StaticTopologyDefaults.SCOPE_LINES, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(LoadBreakSwitch.class, new MapperInfo(StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(PetersenCoil.class, new MapperInfo(StaticTopologyDefaults.SCOPE_PETERSEN_COILS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(Plant.class, new MapperInfo(StaticTopologyDefaults.SCOPE_PLANTS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(PowerTransformer.class, new MapperInfo(StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(SubGeographicalRegion.class, new MapperInfo(StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(Substation.class, new MapperInfo(StaticTopologyDefaults.SCOPE_SUBSTATIONS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(Switch.class, new MapperInfo(StaticTopologyDefaults.SCOPE_SWITCHES, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(TopologicalResourceType.class, new MapperInfo(StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCE_TYPES, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+    mapperInfoMappings.put(VoltageLevel.class, new MapperInfo(StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, StaticTopology.INSTANCE, Cim17v07.INSTANCE));
+  }
+
+  @Override
+  public Collection<? extends ICimEntity> map(Collection<? extends IEntity> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    Collection<ICimEntity> result = null;
+
+    if((source == null) || source.isEmpty())
+      result = null;
+    else {
+      Collection<ICimEntity> cimEntities;
+      IMapper<?, Collection<IEntity>, Collection<ICimEntity>, NoParameters> mapper;
+      MapperInfo mapperInfo;
+
+      result = new ArrayList<>(source.size());
+
+      for(IEntity entity : source) {
+        mapperInfo = getMapperInfoMappings().get(entity.getClass());
+
+        if(mapperInfo != null) {
+          mapper = ((IServiceAdapterController<?>) getContext()).getMapperFactory().create(mapperInfo.getScope(), mapperInfo.getSourceModelDefinition(), mapperInfo.getDestinationModelDefinition());
+
+          if(mapper != null) {
+            cimEntities = mapper.map(Collections.singletonList(entity), mappingParameters);
+
+            result.addAll(cimEntities);
+          }
+        }
+      }
+    }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+
+  /**
+   * @return the mapping of the {@link ITopologicalResource} to the corresponding {@link MapperInfo}; not <code>null</code> and not empty
+   */
+  protected synchronized Map<Class<? extends ITopologicalResource>, MapperInfo> getMapperInfoMappings() {
+
+    if(mapperInfoMappings == null)
+      mapperInfoMappings = createMapperInfoMappings();
+
+    return mapperInfoMappings;
+  }
+
+  // inner Classes
+  /**
+   * The mapper info.
+   */
+  private static final class MapperInfo {
+
+    // Attributes
+    private IModelDefinition destinationModelDefinition;
+    private IModelDefinition sourceModelDefinition;
+    private String scope;
+
+    // Constructors
+    /**
+     * @param scope
+     *          the scope - specifies the application area<br/>
+     *          for example: 'BaseVoltages'
+     * @param sourceModelDefinition
+     *          the source {@link IModelDefinition}
+     * @param destinationModelDefinition
+     *          the destination {@link IModelDefinition}
+     * @throws IllegalArgumentException
+     *           Is thrown in the following cases:
+     *           <ul>
+     *           <li><code>scope</code> is <code>null</code> or <code>""</code></li>
+     *           <li><code>sourceModelDefinition</code> is <code>null</code></li>
+     *           <li><code>destinationModelDefinition</code> is <code>null</code></li>
+     *           </ul>
+     */
+    private MapperInfo(String scope, IModelDefinition sourceModelDefinition, IModelDefinition destinationModelDefinition) throws IllegalArgumentException {
+
+      if(!StringUtilities.hasContent(scope) || (sourceModelDefinition == null) || (destinationModelDefinition == null)) {
+        if(sourceModelDefinition == null)
+          throw new IllegalArgumentException("sourceModelDefinition", new NullPointerException());
+        else if(destinationModelDefinition == null)
+          throw new IllegalArgumentException("destinationModelDefinition", new NullPointerException());
+        else
+          throw new IllegalArgumentException("scope", new NullPointerException());
+      }
+      else {
+        this.sourceModelDefinition = sourceModelDefinition;
+        this.destinationModelDefinition = destinationModelDefinition;
+        this.scope = scope;
+      }
+    }
+
+    /**
+     * @return the destination-{@link IModelDefinition}; not <code>null</code>
+     */
+    private IModelDefinition getDestinationModelDefinition() {
+
+      return destinationModelDefinition;
+    }
+
+    /**
+     * @return the <code>scope</code>; not <code>null</code>
+     */
+    private String getScope() {
+
+      return scope;
+    }
+
+    /**
+     * @return the source-{@link IModelDefinition}; not <code>null</code>
+     */
+    private IModelDefinition getSourceModelDefinition() {
+
+      return sourceModelDefinition;
+    }
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/VoltageLevels_StaticTopology_Cim17v07_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/VoltageLevels_StaticTopology_Cim17v07_Mapper.java
new file mode 100644
index 0000000..3fb1061
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/cim17v07/VoltageLevels_StaticTopology_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.VoltageLevel;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link VoltageLevel}s to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-18 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = Cim17v07.class)
+public class VoltageLevels_StaticTopology_Cim17v07_Mapper extends AbstractEquipmentContainer_StaticTopology_Cim17v07_Mapper<VoltageLevel, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(VoltageLevels_StaticTopology_Cim17v07_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public VoltageLevels_StaticTopology_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IEntity>, Class<? extends IdentifiedObject>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(BaseVoltage.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage.class);
+    typeMappings.put(Bay.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay.class);
+    typeMappings.put(VoltageLevel.class, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel.class);
+  }
+
+  @Override
+  protected void setAttributes(VoltageLevel source, org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setBaseVoltage(toReference(source.getBaseVoltage()));
+    destination.setBays(toReferences(source.getSubEquipmentContainers(), Bay.class));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/openkonsequenz/TopologyId_StaticTopology_OpenKonsequenz_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/openkonsequenz/TopologyId_StaticTopology_OpenKonsequenz_Mapper.java
new file mode 100644
index 0000000..50e8b0d
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/exportmapper/openkonsequenz/TopologyId_StaticTopology_OpenKonsequenz_Mapper.java
@@ -0,0 +1,83 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.exportmapper.openkonsequenz;
+
+import java.io.IOException;
+
+import org.eclipse.openk.cim.profile.openkonsequenz.OpenKonsequenz;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologyId;
+import org.eclipse.openk.service.adapter.mapper.AbstractMapper;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperConfiguration;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+
+/**
+ * Maps {@link TopologyId}s to {@link org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId}s.
+ * 
+ * @author 2018-09-30 Felix Korb
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, sourceModelDefinitionType = StaticTopology.class, destinationModelDefinitionType = OpenKonsequenz.class)
+public final class TopologyId_StaticTopology_OpenKonsequenz_Mapper extends AbstractMapper<MapperConfiguration, TopologyId, org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyId_StaticTopology_OpenKonsequenz_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologyId_StaticTopology_OpenKonsequenz_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  public org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId map(TopologyId sourceModel, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId result;
+
+    if(sourceModel == null)
+      result = null;
+    else {
+      /* create result */
+      result = new org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId();
+
+      /* set attributes */
+      if(sourceModel.hasKey())
+        result.setMRID(sourceModel.getKey().getId().toString());
+    }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..3c539a2
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,150 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.model.core.ConnectivityNode;
+import org.eclipse.openk.domain.statictopology.model.core.Terminal;
+import org.eclipse.openk.domain.statictopology.model.electricity.ConductingEquipment;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConductingEquipment}s into {@link ConductingEquipment}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2018-09-13 Renko Ortgies
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<S extends org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConductingEquipment, D extends ConductingEquipment, P> extends AbstractEquipment_Cim17v07_StaticTopology_Mapper<S, D, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage.class, BaseVoltage.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConnectivityNode.class, ConnectivityNode.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal.class, Terminal.class);
+  }
+
+  @Override
+  protected void setAttributes(S source, D destination, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific conducting equipment attributes */
+    destination.setBaseVoltage(toReference(source.getBaseVoltage()));
+    destination.setTerminals(toTerminals(source.getTerminals()));
+  }
+
+  /**
+   * Converts the specified {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal} into a {@link Terminal}.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>value</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   *
+   * @param value
+   *          the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal}
+   * @return the {@link Terminal}; not <code>null</code>
+   * @throws IOException
+   *           {@link IOException}
+   */
+  private Terminal toTerminal(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal value) throws IOException {
+
+    Terminal result;
+
+    /* create terminal */
+    result = new Terminal();
+
+    /* set attributes */
+    result.setConnectivityNode(toReference(value.getConnectivityNode()));
+    result.setKey(extractKey(value));
+    result.setName(value.getName());
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal}s into {@link Terminal}s.
+   *
+   * @param values
+   *          the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal}s; can be <code>null</code> or empty
+   * @return the {@link Terminal}s; can be <code>null</code> or empty
+   * @throws IOException
+   *           {@link IOException}
+   */
+  @SuppressWarnings("checkstyle:illegaltype")
+  @SuppressWarningsReason(reasons = Reason.Checkstyle_SpecificCollectionOrMapTypeIsNecessaryToEnsureASpecificRuntimeBehaviour)
+  protected final LinkedHashMap<Key, Terminal> toTerminals(Collection<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal> values) throws IOException {
+
+    LinkedHashMap<Key, Terminal> result;
+
+    if(!CollectionUtilities.hasContent(values))
+      result = null;
+    else {
+      Terminal terminal;
+
+      result = new LinkedHashMap<>(values.size());
+
+      for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal value : values) {
+        terminal = toTerminal(value);
+
+        result.put(terminal.getKey(), terminal);
+      }
+    }
+
+    return result;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..0ab9297
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,80 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.EquipmentContainer;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.system.UnsupportedTypeException;
+import org.eclipse.openk.domain.statictopology.model.core.IEquipmentContainer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link EquipmentContainer}s into {@link IEquipmentContainer}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper<S extends EquipmentContainer, D extends IEquipmentContainer, P> extends Abstract_Cim17v07_StaticTopology_Mapper<S, D, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected <E extends IEntity> Class<E> mapType(Class<? extends IdentifiedObject> type) throws UnsupportedTypeException {
+
+    Class<E> result;
+
+    if(Equipment.class.isAssignableFrom(type))
+      result = (Class<E>) org.eclipse.openk.domain.statictopology.model.electricity.Equipment.class;
+    else
+      result = super.mapType(type);
+
+    return result;
+  }
+
+  @Override
+  protected void setAttributes(S source, D destination, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific equipment container attributes */
+    destination.setEquipments(toReferenceMap(source.getEquipments()));
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractEquipment_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractEquipment_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..528f985
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractEquipment_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,50 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment;
+import org.eclipse.openk.domain.statictopology.model.core.IEquipment;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link Equipment}s into {@link IEquipment}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractEquipment_Cim17v07_StaticTopology_Mapper<S extends Equipment, D extends IEquipment, P> extends Abstract_Cim17v07_StaticTopology_Mapper<S, D, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractEquipment_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractSwitch_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractSwitch_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..0efb1b5
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AbstractSwitch_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,62 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Switch;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch}es into {@link Switch}es.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class AbstractSwitch_Cim17v07_StaticTopology_Mapper<S extends org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch, D extends Switch, P> extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<S, D, P> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected AbstractSwitch_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void setAttributes(S source, D destination, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific switch attributes */
+    destination.setNormalOpen(source.isNormalOpen());
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Abstract_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Abstract_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..de98700
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Abstract_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,508 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Name;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameType;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameTypeAuthority;
+import org.eclipse.openk.common.array.ArrayUtilities;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.key.OriginalKey;
+import org.eclipse.openk.common.key.OriginalKeyType;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.system.FatalException;
+import org.eclipse.openk.common.system.UnsupportedTypeException;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.ITopologicalResource;
+import org.eclipse.openk.service.adapter.mapper.AbstractMapper;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.importer.InvalidImportValueException;
+import org.eclipse.openk.service.core.adapter.importer.MissingImportValueException;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+import org.eclipse.openk.service.core.adapter.mapper.MapperConfiguration;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * The base of all {@link IMapper}s, that maps {@link Cim17v07} entities into {@link StaticTopology} entities.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2018-09-13 Renko Ortgies
+ * 
+ * @param <S>
+ *          the source model type
+ * @param <D>
+ *          the destination model type
+ * @param <P>
+ *          the parameter type
+ */
+public abstract class Abstract_Cim17v07_StaticTopology_Mapper<S extends IdentifiedObject, D extends IEntity, P> extends AbstractMapper<MapperConfiguration, Collection<S>, Collection<D>, P> {
+
+  // Constants
+  public static final String PROPERTY_MRID = "mRID";
+
+  // Attribute
+  private Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings;
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected Abstract_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  /**
+   * Creates the corresponding {@link ITopologicalResource}-instance for the specified {@link Cim17v07}.
+   * 
+   * @param <E>
+   *          the {@link ITopologicalResource}-type
+   * @param entity
+   *          the {@link Cim17v07}; can be <code>null</code>
+   * @return the {@link ITopologicalResource}-instance; can be <code>null</code>
+   * 
+   * @see #mapType(Class)
+   */
+  protected final <E extends IEntity> E createEntity(IdentifiedObject entity) {
+
+    E result = null;
+
+    if(entity != null) {
+      Class<E> resultType = mapType(entity.getClass());
+
+      try {
+        result = resultType.newInstance();
+      }
+      catch(IllegalAccessException | InstantiationException exception) {
+        throw new FatalException(exception); /* should be unreachable code - all IEntity-classes have public default constructors */
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Creates the type-mappings that are necessary to map the current {@link Cim17v07}-type and all of its referenced objects.
+   * 
+   * @return the type-mappings; not <code>null</code> and not empty
+   */
+  private Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> createTypeMappings() {
+
+    Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> result = new HashMap<>();
+
+    initTypeMappings(result);
+
+    return result;
+  }
+
+  /**
+   * Extracts the {@link Key} from the specified entity.
+   * 
+   * @param entity
+   *          the entity; can be <code>null</code>
+   * @return the key; can be <code>null</code>
+   * @throws InvalidImportValueException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li>the {@link #PROPERTY_MRID} of the <code>entity</code> is not a valid {@link UUID}</li>
+   *           </ul>
+   */
+  protected final Key extractKey(IdentifiedObject entity) throws InvalidImportValueException {
+
+    Key result;
+
+    if((entity == null) || !StringUtilities.hasContent(entity.getMRID()))
+      result = null;
+    else {
+      Class<? extends IEntity> entityType = mapType(entity.getClass());
+
+      if(entityType == null)
+        throw new UnsupportedTypeException(entity.getClass());
+      else
+        try {
+          result = new Key(entityType, UUID.fromString(entity.getMRID()));
+        }
+        catch(IllegalArgumentException exception) {
+          throw new InvalidImportValueException(PROPERTY_MRID, entity.getMRID(), exception);
+        }
+    }
+
+    return result;
+  }
+
+  /**
+   * Initializes the type-mappings that are necessary to map the current {@link Cim17v07}-type and all of its referenced objects.
+   * This method must be overridden to provide the mapper specific type-mappings.
+   * 
+   * @param typeMappings
+   *          the type-mappings-list that can be extended; not <code>null</code> but can be <code>empty</code>
+   * 
+   */
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    /* NOOP */
+  }
+
+  @Override
+  public final Collection<D> map(Collection<S> sourceModel, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    Collection<D> result;
+
+    if(!CollectionUtilities.hasContent(sourceModel))
+      result = null;
+    else {
+      D destinationEntity;
+      result = new ArrayList<>(sourceModel.size());
+
+      for(S sourceEntity : sourceModel) {
+        destinationEntity = map(sourceEntity, mappingParameters);
+        result.add(destinationEntity);
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Maps the source {@link IdentifiedObject} into the destination {@link IEntity}.
+   * 
+   * @param source
+   *          the source {@link IdentifiedObject}; can be <code>null</code>
+   * @param mappingParameters
+   *          the mapping parameters
+   * @return the destination {@link IEntity}; can be <code>null</code>
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>mappingParameters</code> is invalid and necessary for the specific mapper</li>
+   *           </ul>
+   * @throws IOException
+   *           {@link IOException}
+   */
+  private D map(S source, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    D result;
+
+    if(source == null)
+      result = null;
+    else {
+      /* create result */
+      result = createEntity(source);
+
+      /* set attributes */
+      setAttributes(source, result, mappingParameters);
+    }
+
+    return result;
+  }
+
+  /**
+   * Maps the specified {@link Cim17v07}-type to the corresponding {@link ITopologicalResource}-type.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>type</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   *
+   * @param <E>
+   *          {@link ITopologicalResource}-type
+   * @param type
+   *          the {@link Cim17v07}-type
+   * @return the corresponding {@link IEntity} type; not <code>null</code>
+   * @throws UnsupportedTypeException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>type</code> is not supported</li>
+   *           </ul>
+   */
+  protected <E extends IEntity> Class<E> mapType(Class<? extends IdentifiedObject> type) throws UnsupportedTypeException {
+
+    Class<E> result = (Class<E>) getTypeMappings().get(type);
+
+    if(result == null)
+      throw new UnsupportedTypeException(type);
+
+    return result;
+  }
+
+  /**
+   * Sets the attributes of the specified destination {@link IEntity} using the specified source {@link IdentifiedObject}.
+   * <p>
+   * <b><i>NOTE:</i></b><br/>
+   * Since this is a performance critical operation, the parameter-check is skipped!<br/>
+   * It is assumed that
+   * <ul>
+   * <li><code>source</code> is not <code>null</code></li>
+   * <li><code>destination</code> is not <code>null</code></li>
+   * </ul>
+   * </p>
+   * 
+   * @param source
+   *          the source {@link IdentifiedObject}
+   * @param destination
+   *          the destination {@link IEntity}
+   * @param mappingParameters
+   *          the mapping parameters
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>mappingParameters</code> is invalid and necessary for the specific method</li>
+   *           </ul>
+   * @throws IOException
+   *           {@link IOException}
+   */
+  protected void setAttributes(S source, D destination, P mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set entity attributes */
+    destination.setDescription(source.getDescription());
+    destination.setKey(extractKey(source));
+    destination.setName(source.getName());
+    destination.setOriginalKeys(toOriginalKeys(source.getNames()));
+  }
+
+  /**
+   * Converts the specified {@link Name} into the {@link OriginalKey}.
+   *
+   * @param value
+   *          the {@link Name}; can be <code>null</code>
+   * @return the {@link OriginalKey}; can be <code>null</code>
+   * @throws IOException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>value</code> is an invalid or incomplete {@link Name}</li>
+   *           </ul>
+   */
+  private OriginalKey toOriginalKey(Name value) throws IOException {
+
+    OriginalKey result;
+
+    if((value == null) || !StringUtilities.hasContent(value.getName()))
+      result = null;
+    else
+      result = new OriginalKey(toOriginalKeyType(value.getNameType()), value.getName());
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link Name}s into {@link OriginalKey}s.
+   *
+   * @param values
+   *          the {@link Name}s; can be <code>null</code> or empty
+   * @return the {@link OriginalKey}s; can be <code>null</code> or empty
+   * @throws IOException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li>there is at least one invalid or incomplete {@link Name} in <code>values</code></li>
+   *           </ul>
+   */
+  private Map<OriginalKeyType, OriginalKey> toOriginalKeys(Collection<Name> values) throws IOException {
+
+    Map<OriginalKeyType, OriginalKey> result;
+
+    if(!CollectionUtilities.hasContent(values))
+      result = null;
+    else {
+      OriginalKey originalKey;
+
+      result = new HashMap<>(values.size());
+
+      for(Name name : values) {
+        originalKey = toOriginalKey(name);
+
+        if(originalKey != null)
+          result.put(originalKey.getType(), originalKey);
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link NameType} into the {@link OriginalKeyType}.
+   *
+   * @param value
+   *          the {@link NameType}
+   * @return the {@link OriginalKeyType}; not <code>null</code>
+   * @throws MissingImportValueException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>value</code> is <code>null</code></li>
+   *           <li><code>value</code> has no name</li>
+   *           <li><code>value</code> has no {@link NameTypeAuthority}</li>
+   *           </ul>
+   */
+  private OriginalKeyType toOriginalKeyType(NameType value) throws MissingImportValueException {
+
+    /* check name-type */
+    if((value == null) || !StringUtilities.hasContent(value.getName()))
+      throw new MissingImportValueException("NameType");
+    else {
+      String authority;
+      OriginalKeyType result;
+
+      /* determine authority */
+      {
+        NameTypeAuthority nameTypeAuthority = value.getNameTypeAuthority();
+
+        if((nameTypeAuthority == null) || !StringUtilities.hasContent(nameTypeAuthority.getName()))
+          throw new MissingImportValueException("NameTypeAuthority");
+        else
+          authority = nameTypeAuthority.getName();
+      }
+
+      result = new OriginalKeyType(value.getName(), authority);
+
+      return result;
+    }
+  }
+
+  /**
+   * Converts the specified {@link IdentifiedObject} into an {@link IEntity} reference.
+   *
+   * @param <R>
+   *          the {@link IEntity} type
+   * @param value
+   *          the {@link IdentifiedObject}; can be <code>null</code>
+   * @return the {@link IEntity} reference; can be <code>null</code>
+   * @throws IOException
+   *           {@link IOException}
+   */
+  protected final <R extends IEntity> R toReference(IdentifiedObject value) throws IOException {
+
+    Key extractedKey = extractKey(value);
+    R result;
+
+    /* check reference to extracted key */
+    if(extractedKey == null)
+      result = null;
+    else {
+      /* create reference with extracted key */
+      result = (R) createEntity(value);
+      result.setKey(extractedKey);
+    }
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link IdentifiedObject}s into {@link IEntity} references.
+   *
+   * @param <R>
+   *          the {@link IEntity} type
+   * @param values
+   *          the {@link IdentifiedObject}s; can be <code>null</code> or empty
+   * @return the {@link IEntity} references; can be <code>null</code> or empty
+   * @throws IOException
+   *           {@link IOException}
+   */
+  protected final <R extends IEntity> List<R> toReferenceList(Collection<? extends IdentifiedObject>... values) throws IOException {
+
+    List<R> result;
+
+    if(!ArrayUtilities.hasContent(values))
+      result = null;
+    else {
+      result = null;
+
+      for(Collection<? extends IdentifiedObject> valueList : values)
+        if(CollectionUtilities.hasContent(valueList)) {
+          if(result == null)
+            result = new ArrayList<>(valueList.size());
+
+          for(IdentifiedObject value : valueList)
+            result.add(toReference(value));
+        }
+    }
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link IdentifiedObject}s into {@link IEntity} references.
+   *
+   * @param <R>
+   *          the {@link IEntity} type
+   * @param values
+   *          the {@link IdentifiedObject}s; can be <code>null</code> or empty
+   * @return the {@link IEntity} references; can be <code>null</code> or empty
+   * @throws IOException
+   *           {@link IOException}
+   */
+  protected final <R extends IEntity> Map<Key, R> toReferenceMap(Collection<? extends IdentifiedObject>... values) throws IOException {
+
+    Map<Key, R> result;
+
+    if(!ArrayUtilities.hasContent(values))
+      result = null;
+    else {
+      R reference;
+      result = null;
+
+      for(Collection<? extends IdentifiedObject> valueList : values)
+        if(CollectionUtilities.hasContent(valueList)) {
+          if(result == null)
+            result = new HashMap<>(valueList.size());
+
+          for(IdentifiedObject value : valueList) {
+            reference = toReference(value);
+
+            if(reference != null)
+              if(!reference.hasKey())
+                throw new MissingImportValueException(PROPERTY_MRID);
+              else
+                result.put(reference.getKey(), reference);
+          }
+        }
+    }
+
+    return result;
+  }
+
+  // Properties
+  /**
+   * @return the type-mappings that are necessary to map the current {@link Cim17v07}-type and all of its referenced objects; not <code>null</code> and not empty
+   */
+  protected final synchronized Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> getTypeMappings() {
+
+    if(typeMappings == null)
+      typeMappings = createTypeMappings();
+
+    return typeMappings;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AcLineSegments_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AcLineSegments_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..24acebe
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/AcLineSegments_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,150 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PerLengthImpedance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PerLengthSequenceImpedance;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.AcLineSegment;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.WireInfo;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment}s to {@link AcLineSegment}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class AcLineSegments_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment, AcLineSegment, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(AcLineSegments_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public AcLineSegments_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment.class, AcLineSegment.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment source, AcLineSegment destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setLength(UnitUtilities.normalizeValueAsLong(AcLineSegment.class, AcLineSegment.PROPERTY_LENGTH, source.getLength()));
+    destination.setWireInfo(toWireInfo(source.getPerLengthImpedance()));
+  }
+
+  /**
+   * Converts the specified {@link PerLengthImpedance} into a {@link WireInfo}.
+   *
+   * @param value
+   *          the {@link PerLengthImpedance}; can be <code>null</code>
+   * @return the {@link WireInfo}; can be <code>null</code>
+   */
+  private WireInfo toWireInfo(PerLengthImpedance value) {
+
+    WireInfo result;
+
+    if(value == null)
+      result = null;
+    else {
+      Double r;
+      Double ratedCurrent;
+      Double x;
+
+      /* determine r & x */
+      if(!(value instanceof PerLengthSequenceImpedance)) {
+        r = null;
+        x = null;
+      }
+      else {
+        /* determine r */
+        r = UnitUtilities.normalizeValue(WireInfo.class, WireInfo.PROPERTY_R, ((PerLengthSequenceImpedance) value).getR());
+
+        /* determine x */
+        x = UnitUtilities.normalizeValue(WireInfo.class, WireInfo.PROPERTY_X, ((PerLengthSequenceImpedance) value).getX());
+      }
+
+      /* determine ratedCurrent */
+      if(!CollectionUtilities.hasContent(value.getWireInfos()))
+        ratedCurrent = null;
+      else {
+        org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61968.AssetInfo.WireInfo wireInfo = CollectionUtilities.getFirst(value.getWireInfos());
+
+        ratedCurrent = UnitUtilities.normalizeValue(WireInfo.class, WireInfo.PROPERTY_RATED_CURRENT, wireInfo.getRatedCurrent());
+      }
+
+      /* check the necessity of the result */
+      if((r == null) && (ratedCurrent == null) && (x == null))
+        result = null;
+      else {
+        /* create result */
+        result = new WireInfo();
+
+        /* set attributes */
+        result.setR(r);
+        result.setRatedCurrent(ratedCurrent);
+        result.setX(x);
+      }
+    }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/BaseVoltages_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/BaseVoltages_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..79233fb
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/BaseVoltages_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,88 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage}s to {@link BaseVoltage}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class BaseVoltages_Cim17v07_StaticTopology_Mapper extends Abstract_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage, BaseVoltage, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BaseVoltages_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage.class, BaseVoltage.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage source, BaseVoltage destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setNominalVoltage(UnitUtilities.normalizeValueAsInteger(BaseVoltage.class, BaseVoltage.PROPERTY_NOMINAL_VOLTAGE, source.getNominalVoltage()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Bays_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Bays_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..4ae9775
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Bays_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Bay;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay}s to {@link Bay}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public class Bays_Cim17v07_StaticTopology_Mapper extends AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay, Bay, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Bays_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Bays_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay.class, Bay.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Breakers_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Breakers_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..28b97a4
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Breakers_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Breaker;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker}s to {@link Breaker}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Breakers_Cim17v07_StaticTopology_Mapper extends AbstractSwitch_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker, Breaker, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Breakers_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Breakers_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker.class, Breaker.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/BusbarSections_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/BusbarSections_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..25a3d9c
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/BusbarSections_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.BusbarSection;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection}s to {@link BusbarSection}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class BusbarSections_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection, BusbarSection, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BusbarSections_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BusbarSections_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection.class, BusbarSection.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Disconnectors_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Disconnectors_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..91df264
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Disconnectors_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Disconnector;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector}s to {@link Disconnector}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Disconnectors_Cim17v07_StaticTopology_Mapper extends AbstractSwitch_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector, Disconnector, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Disconnectors_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Disconnectors_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector.class, Disconnector.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EarthFaultCompensators_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EarthFaultCompensators_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..dbb1431
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EarthFaultCompensators_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,89 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator}s to {@link EarthFaultCompensator}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class EarthFaultCompensators_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator, EarthFaultCompensator, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EarthFaultCompensators_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EarthFaultCompensators_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator.class, EarthFaultCompensator.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator source, EarthFaultCompensator destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setR(UnitUtilities.normalizeValue(EarthFaultCompensator.class, EarthFaultCompensator.PROPERTY_R, source.getR()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EnergyConsumers_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EnergyConsumers_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..d7dd877
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EnergyConsumers_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.consumption.EnergyConsumer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer}s to {@link EnergyConsumer}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class EnergyConsumers_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer, EnergyConsumer, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EnergyConsumers_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EnergyConsumers_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer.class, EnergyConsumer.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EnergySources_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EnergySources_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..c135984
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/EnergySources_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.generation.EnergySource;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource}s to {@link EnergySource}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class EnergySources_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource, EnergySource, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EnergySources_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EnergySources_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource.class, EnergySource.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/GeographicalRegions_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/GeographicalRegions_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..3f53727
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/GeographicalRegions_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,89 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.GeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.electricity.SubGeographicalRegion;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion}s to {@link GeographicalRegion}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class GeographicalRegions_Cim17v07_StaticTopology_Mapper extends Abstract_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion, GeographicalRegion, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(GeographicalRegions_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public GeographicalRegions_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion.class, GeographicalRegion.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion.class, SubGeographicalRegion.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion source, GeographicalRegion destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setSubEquipmentContainers(toReferenceList(source.getRegions()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/GroundingImpedances_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/GroundingImpedances_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..2c2bf4b
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/GroundingImpedances_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance}s to {@link GroundingImpedance}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class GroundingImpedances_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance, GroundingImpedance, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(GroundingImpedances_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public GroundingImpedances_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance.class, GroundingImpedance.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance source, GroundingImpedance destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setR(UnitUtilities.normalizeValue(GroundingImpedance.class, EarthFaultCompensator.PROPERTY_R, source.getR()));
+    destination.setX(UnitUtilities.normalizeValue(GroundingImpedance.class, GroundingImpedance.PROPERTY_X, source.getX()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Junctions_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Junctions_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..0dc981d
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Junctions_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Junction;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction}s to {@link Junction}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Junctions_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction, Junction, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Junctions_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Junctions_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction.class, Junction.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/LineTypes_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/LineTypes_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..6ace13c
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/LineTypes_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType}s to line-types.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class LineTypes_Cim17v07_StaticTopology_Mapper extends Abstract_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType, TopologicalResourceType, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(LineTypes_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public LineTypes_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class, TopologicalResourceType.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Lines_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Lines_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..6c37818
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Lines_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Line;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line}s to {@link Line}s.
+ * 
+ * @author 2018-03-23 Christian Brunzendorf
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Lines_Cim17v07_StaticTopology_Mapper extends AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line, Line, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Lines_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Lines_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line.class, Line.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class, TopologicalResourceType.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line source, Line destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setType(toReference(source.getPSRType()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/LoadBreakSwitches_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/LoadBreakSwitches_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..6c74a0b
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/LoadBreakSwitches_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch}es to {@link LoadBreakSwitch}es.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class LoadBreakSwitches_Cim17v07_StaticTopology_Mapper extends AbstractSwitch_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch, LoadBreakSwitch, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(LoadBreakSwitches_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public LoadBreakSwitches_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch.class, LoadBreakSwitch.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/PetersenCoils_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/PetersenCoils_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..a56fd7a
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/PetersenCoils_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,126 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.InvalidValueException;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.PetersenCoil;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.grounding.PetersenCoilModeKind;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil}s to {@link PetersenCoil}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class PetersenCoils_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil, PetersenCoil, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(PetersenCoils_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public PetersenCoils_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil.class, PetersenCoil.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil source, PetersenCoil destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setMode(toPetersenCoilModeKind(source.getMode()));
+    destination.setOffsetCurrent(UnitUtilities.normalizeValue(PetersenCoil.class, PetersenCoil.PROPERTY_OFFSET_CURRENT, source.getOffsetCurrent()));
+    destination.setPositionCurrent(UnitUtilities.normalizeValue(PetersenCoil.class, PetersenCoil.PROPERTY_POSITION_CURRENT, source.getPositionCurrent()));
+    destination.setXGroundMax(UnitUtilities.normalizeValue(PetersenCoil.class, PetersenCoil.PROPERTY_X_GROUND_MAX, source.getXGroundMax()));
+    destination.setXGroundMin(UnitUtilities.normalizeValue(PetersenCoil.class, PetersenCoil.PROPERTY_X_GROUND_MIN, source.getXGroundMin()));
+    destination.setXGroundNominal(UnitUtilities.normalizeValue(PetersenCoil.class, PetersenCoil.PROPERTY_X_GROUND_NOMINAL, source.getXGroundNominal()));
+  }
+
+  /**
+   * Converts the specified {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind} into a {@link PetersenCoilModeKind}.
+   *
+   * @param value
+   *          the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind}; can be <code>null</code>
+   * @return the {@link PetersenCoilModeKind}; can be <code>null</code>
+   */
+  private PetersenCoilModeKind toPetersenCoilModeKind(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind value) {
+
+    PetersenCoilModeKind result;
+
+    if(value == null)
+      result = null;
+    else
+      switch(value) {
+        case fixed:
+          result = PetersenCoilModeKind.fixed;
+          break;
+        case manual:
+          result = PetersenCoilModeKind.manual;
+          break;
+        case automaticPositioning:
+          result = PetersenCoilModeKind.automaticPositioning;
+          break;
+        default:
+          throw new InvalidValueException(PetersenCoil.PROPERTY_MODE, value.name());
+      }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Plants_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Plants_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..7b9f396
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Plants_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.generation.Plant;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant}s to {@link Plant}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Plants_Cim17v07_StaticTopology_Mapper extends AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant, Plant, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Plants_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Plants_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant.class, Plant.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/PowerTransformers_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/PowerTransformers_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..bfa11bb
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/PowerTransformers_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,179 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.collection.CollectionUtilities;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.powertransformer.PowerTransformer;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.powertransformer.PowerTransformerEnd;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.powertransformer.RatioTapChanger;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+import org.eclipse.openk.service.model.repository.model.unit.UnitUtilities;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer}s to {@link PowerTransformer}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class PowerTransformers_Cim17v07_StaticTopology_Mapper extends AbstractConductingEquipment_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer, PowerTransformer, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(PowerTransformers_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public PowerTransformers_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer.class, PowerTransformer.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer source, PowerTransformer destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setVectorGroup(source.getVectorGroup());
+    destination.setPowerTransformerEnds(toPowerTransformerEnds(source.getPowerTransformerEnd()));
+  }
+
+  /**
+   * Converts the specified {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd} into a {@link PowerTransformerEnd}.
+   *
+   * @param value
+   *          the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd}; can be <code>null</code>
+   * @return the {@link PowerTransformerEnd}; can be <code>null</code>
+   * @throws IOException
+   *           {@link IOException}
+   */
+  private PowerTransformerEnd toPowerTransformerEnd(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd value) throws IOException {
+
+    PowerTransformerEnd result;
+
+    if(value == null)
+      result = null;
+    else {
+      /* create result */
+      result = new PowerTransformerEnd();
+
+      /* set attributes */
+      result.setBaseVoltage(toReference(value.getBaseVoltage()));
+      result.setRatedS(UnitUtilities.normalizeValue(PowerTransformerEnd.class, PowerTransformerEnd.PROPERTY_RATED_S, value.getRatedS()));
+      result.setRatedU(UnitUtilities.normalizeValue(PowerTransformerEnd.class, PowerTransformerEnd.PROPERTY_RATED_U, value.getRatedU()));
+      result.setRatioTapChanger(toRatioTapChanger(value.getRatioTapChanger()));
+      result.setTerminal(toReference(value.getTerminal()));
+    }
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd}s into {@link PowerTransformerEnd}s.
+   *
+   * @param values
+   *          the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd}s; can be <code>null</code> or empty
+   * @return the {@link PowerTransformerEnd}s; can be <code>null</code> or empty
+   * @throws IOException
+   *           {@link IOException}
+   */
+  private List<PowerTransformerEnd> toPowerTransformerEnds(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd> values) throws IOException {
+
+    List<PowerTransformerEnd> result;
+
+    if(!CollectionUtilities.hasContent(values))
+      result = null;
+    else {
+      result = new ArrayList<>(values.size());
+
+      for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd value : values) {
+        PowerTransformerEnd powerTransformerEnd = toPowerTransformerEnd(value);
+
+        if(powerTransformerEnd != null)
+          result.add(powerTransformerEnd);
+      }
+    }
+
+    return result;
+  }
+
+  /**
+   * Converts the specified {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger} into a {@link RatioTapChanger}.
+   *
+   * @param value
+   *          the {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger}; can be <code>null</code>
+   * @return the {@link RatioTapChanger}; can be <code>null</code>
+   */
+  private RatioTapChanger toRatioTapChanger(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger value) {
+
+    RatioTapChanger result;
+
+    if(value == null)
+      result = null;
+    else {
+      result = new RatioTapChanger();
+
+      result.setDescription(value.getDescription());
+      result.setHighStep(value.getHighStep());
+      result.setLowStep(value.getLowStep());
+      result.setName(value.getName());
+      result.setNormalStep(value.getNormalStep());
+      result.setStep(value.getStep());
+      result.setStepVoltageIncrement(UnitUtilities.normalizeValue(RatioTapChanger.class, RatioTapChanger.PROPERTY_STEP_VOLTAGE_INCREMENT, value.getStepVoltageIncrement()));
+    }
+
+    return result;
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/SubGeographicalRegions_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/SubGeographicalRegions_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..501fbe2
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/SubGeographicalRegions_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.SubGeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.electricity.line.Line;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Substation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion}s to {@link SubGeographicalRegion}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class SubGeographicalRegions_Cim17v07_StaticTopology_Mapper extends Abstract_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion, SubGeographicalRegion, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(SubGeographicalRegions_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public SubGeographicalRegions_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line.class, Line.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion.class, SubGeographicalRegion.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation.class, Substation.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion source, SubGeographicalRegion destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setSubEquipmentContainers(toReferenceList(source.getLines(), source.getSubstations()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/SubstationTypes_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/SubstationTypes_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..602ec71
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/SubstationTypes_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,75 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType}s to substation-types.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class SubstationTypes_Cim17v07_StaticTopology_Mapper extends Abstract_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType, TopologicalResourceType, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(SubstationTypes_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public SubstationTypes_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class, TopologicalResourceType.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Substations_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Substations_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..ef1087a
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Substations_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,94 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.core.TopologicalResourceType;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Substation;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.VoltageLevel;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation}s to {@link Substation}s.
+ * 
+ * @author 2018-03-23 Christian Brunzendorf
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Substations_Cim17v07_StaticTopology_Mapper extends AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation, Substation, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Substations_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Substations_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay.class, Bay.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation.class, Substation.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType.class, TopologicalResourceType.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel.class, VoltageLevel.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation source, Substation destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setSubEquipmentContainers(toReferenceList(source.getBays(), source.getVoltageLevels()));
+    destination.setType(toReference(source.getPSRType()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Switches_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Switches_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..995206e
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/Switches_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,82 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Breaker;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Disconnector;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.switches.Switch;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch}es to {@link Switch}es.
+ * 
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public final class Switches_Cim17v07_StaticTopology_Mapper extends AbstractSwitch_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch, Switch, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Switches_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Switches_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker.class, Breaker.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector.class, Disconnector.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch.class, LoadBreakSwitch.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch.class, Switch.class);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/VoltageLevels_Cim17v07_StaticTopology_Mapper.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/VoltageLevels_Cim17v07_StaticTopology_Mapper.java
new file mode 100644
index 0000000..7442cf1
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/mapper/importmapper/cim17v07/VoltageLevels_Cim17v07_StaticTopology_Mapper.java
@@ -0,0 +1,91 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.mapper.importmapper.cim17v07;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.IdentifiedObject;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.domain.statictopology.model.electricity.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.electricity.substation.VoltageLevel;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.mapper.MapperInformation;
+import org.eclipse.openk.service.model.repository.model.IEntity;
+
+/**
+ * Maps {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel}s to {@link VoltageLevel}s.
+ * 
+ * @author 2018-04-01 Felix Korb
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-18 Michael Korta
+ * @author 2018-09-13 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology.class)
+public class VoltageLevels_Cim17v07_StaticTopology_Mapper extends AbstractEquipmentContainer_Cim17v07_StaticTopology_Mapper<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel, VoltageLevel, NoParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(VoltageLevels_Cim17v07_StaticTopology_Mapper.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public VoltageLevels_Cim17v07_StaticTopology_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected void initTypeMappings(Map<Class<? extends IdentifiedObject>, Class<? extends IEntity>> typeMappings) {
+
+    super.initTypeMappings(typeMappings);
+
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage.class, BaseVoltage.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay.class, Bay.class);
+    typeMappings.put(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel.class, VoltageLevel.class);
+  }
+
+  @Override
+  protected void setAttributes(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel source, VoltageLevel destination, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+    /* set common attributes */
+    super.setAttributes(source, destination, mappingParameters);
+
+    /* set specific attributes */
+    destination.setBaseVoltage(toReference(source.getBaseVoltage()));
+    destination.setSubEquipmentContainers(toReferenceList(source.getBays()));
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/receiver/ServiceModel_1_ApplicationRdf_Receiver.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/receiver/ServiceModel_1_ApplicationRdf_Receiver.java
new file mode 100644
index 0000000..9a998da
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/receiver/ServiceModel_1_ApplicationRdf_Receiver.java
@@ -0,0 +1,62 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.receiver;
+
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology;
+import org.eclipse.openk.service.adapter.receiver.AbstractServiceModel_1_ApplicationRdf_Receiver;
+import org.eclipse.openk.service.adapter.receiver.ServiceModel_1_ApplicationRdf_ReceiveParameters;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.ServiceDefaults;
+import org.eclipse.openk.service.core.adapter.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.core.adapter.receiver.IReceiver;
+import org.eclipse.openk.service.core.adapter.receiver.ReceiverInformation;
+
+/**
+ * The <i>RDF</i> service model {@link IReceiver}.
+ * 
+ * @author 2018-04-07 Felix Korb
+ */
+@DeserializerInformation(scope = ServiceDefaults.SCOPE_SERVICE_MODEL, inputFormat = MediaType.ApplicationRdf, outputModelDefinitionType = StaticTopology.class)
+@ReceiverInformation(scope = ServiceDefaults.SCOPE_SERVICE_MODEL, importFormat = MediaType.ApplicationRdf, parametersType = ServiceModel_1_ApplicationRdf_ReceiveParameters.class)
+public final class ServiceModel_1_ApplicationRdf_Receiver extends AbstractServiceModel_1_ApplicationRdf_Receiver {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(ServiceModel_1_ApplicationRdf_Receiver.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public ServiceModel_1_ApplicationRdf_Receiver(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/serializer/StaticTopology_1_Cim17v07_ApplicationRdf_Serializer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/serializer/StaticTopology_1_Cim17v07_ApplicationRdf_Serializer.java
new file mode 100644
index 0000000..43357b7
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/serializer/StaticTopology_1_Cim17v07_ApplicationRdf_Serializer.java
@@ -0,0 +1,104 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.serializer;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.Cim17v07Defaults;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.dataexchange.cim.message.CimMessageWriter;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.dataexchange.cim.message.RdfPayloadWriter;
+import org.eclipse.openk.common.dataexchange.converter.ValueEncoder;
+import org.eclipse.openk.common.dataexchange.xml.XmlNamespaceMapping;
+import org.eclipse.openk.common.dataexchange.xml.XmlNamespaceSolver;
+import org.eclipse.openk.common.dataexchange.xml.XmlVersion;
+import org.eclipse.openk.common.dataexchange.xml.XmlWriter;
+import org.eclipse.openk.common.io.Charset;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.serializer.AbstractSerializer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.serializer.ISerializer;
+import org.eclipse.openk.service.core.adapter.serializer.SerializerConfiguration;
+import org.eclipse.openk.service.core.adapter.serializer.SerializerInformation;
+
+/**
+ * The <i>RDF</i> {@link ISerializer} for {@link Cim17v07} models.
+ * 
+ * @author 2017-10-31 Felix Korb
+ *
+ * @param <E>
+ *          the {@link ICimEntity} type
+ */
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationRdf, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+public final class StaticTopology_1_Cim17v07_ApplicationRdf_Serializer<E> extends AbstractSerializer<SerializerConfiguration, E, ICimHeaderParameters> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(StaticTopology_1_Cim17v07_ApplicationRdf_Serializer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public StaticTopology_1_Cim17v07_ApplicationRdf_Serializer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  public void serialize(Writer writer, E input, ICimHeaderParameters parameters) throws IOException {
+
+    if((input != null) && !(input instanceof List<?>) && !(input instanceof ICimEntity))
+      throw new IllegalArgumentException("input", new ClassCastException());
+    else
+      try(XmlWriter xmlWriter = new XmlWriter(writer, XmlVersion.V1_0, Charset.UTF_8)) {
+
+        XmlNamespaceMapping xmlNamespaceMapping = new XmlNamespaceMapping(Cim17v07Defaults.CIM_NAMESPACE, getInputModelDefinition().getPackage());
+        RdfPayloadWriter rdfPayloadMessageWriter = new RdfPayloadWriter(xmlWriter, TypeInformationProvider.DEFAULT_INSTANCE, new XmlNamespaceSolver(xmlNamespaceMapping), ValueEncoder.DEFAULT_INSTANCE, Cim17v07Defaults.CIM_URI);
+        CimMessageWriter cimMessageWriter = new CimMessageWriter(xmlWriter, rdfPayloadMessageWriter, TypeInformationProvider.DEFAULT_INSTANCE, new XmlNamespaceSolver(xmlNamespaceMapping), ValueEncoder.DEFAULT_INSTANCE);
+
+        if(input == null)
+          // REMIND 2017-10-20 Felix: hier sollten zur Differenzierung der generische Parameter E ausgewertet werden, um die richtige "writeResponseMessage"-Methode für den "null" zu ermitteln!
+          cimMessageWriter.writeResponseMessage(parameters, (ICimEntity) null);
+        else {
+          if(input instanceof List)
+            cimMessageWriter.writeResponseMessage(parameters, (List<? extends ICimEntity>) input);
+          else
+            cimMessageWriter.writeResponseMessage(parameters, (ICimEntity) input);
+        }
+      }
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/serializer/StaticTopology_1_Cim17v07_ApplicationXml_Serializer.java b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/serializer/StaticTopology_1_Cim17v07_ApplicationXml_Serializer.java
new file mode 100644
index 0000000..4bbe4f8
--- /dev/null
+++ b/dev/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/serializer/StaticTopology_1_Cim17v07_ApplicationXml_Serializer.java
@@ -0,0 +1,64 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.serializer;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.serializer.AbstractCimXmlSerializer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.adapter.serializer.ISerializer;
+import org.eclipse.openk.service.core.adapter.serializer.SerializerInformation;
+
+/**
+ * The <i>XML</i> {@link ISerializer} for {@link Cim17v07} models.
+ * 
+ * @author 2017-10-31 Felix Korb
+ * 
+ * @param <E>
+ *          the {@link ICimEntity} type
+ */
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationXml, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+public final class StaticTopology_1_Cim17v07_ApplicationXml_Serializer<E> extends AbstractCimXmlSerializer<E> {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(StaticTopology_1_Cim17v07_ApplicationXml_Serializer.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public StaticTopology_1_Cim17v07_ApplicationXml_Serializer(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/main/resources/.gitignore b/dev/adapter/src/main/resources/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/adapter/src/main/resources/.gitignore
diff --git a/dev/adapter/src/test/java/.gitignore b/dev/adapter/src/test/java/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/adapter/src/test/java/.gitignore
diff --git a/dev/adapter/src/test/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/responder/RespondersTest.java b/dev/adapter/src/test/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/responder/RespondersTest.java
new file mode 100644
index 0000000..81a2a64
--- /dev/null
+++ b/dev/adapter/src/test/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/responder/RespondersTest.java
@@ -0,0 +1,235 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.responder;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.fail;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment;
+import org.eclipse.openk.common.dataexchange.cim.CimModelDefinition;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.messaging.messages.FailedToCreateException;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.service.adapter.AbstractRespondersTestClass;
+import org.eclipse.openk.service.adapter.mock.ServiceAdapterControllerMock;
+import org.eclipse.openk.service.adapter.mock.dataexchange.mapper.MapperFactoryMock;
+import org.eclipse.openk.service.adapter.responder.AbstractCimResponder;
+import org.eclipse.openk.service.adapter.responder.AbstractResponder;
+import org.eclipse.openk.service.core.adapter.mapper.IMapper;
+import org.eclipse.openk.service.core.adapter.mapper.IMapperFactory;
+import org.eclipse.openk.service.core.adapter.mapper.MapperConfiguration;
+import org.eclipse.openk.service.core.logic.view.IViewFactory;
+import org.eclipse.openk.service.logic.mock.view.ViewFactoryMock;
+import org.eclipse.openk.service.logic.mock.view.ViewMock;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runners.Parameterized.Parameters;
+import org.mockito.Mockito;
+import org.yaml.snakeyaml.Yaml;
+
+/**
+ * The test class for all responders with OkRequestParameters.
+ * 
+ * @author 2017-07-01 Christian Brunzendorf
+ * @author 2018-02-13 Renko Ortgies
+ */
+public final class RespondersTest extends AbstractRespondersTestClass {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(RespondersTest.class);
+  private static final String RESPONDER_PREFIX = RespondersTest.class.getPackage().getName() + ".";
+
+  // Attributes
+  private MapperFactoryMock<IMapperFactory, List<ICimEntity>> mapperFactoryMock;
+  private IMapper<MapperConfiguration, List<ICimEntity>, List<ICimEntity>, NoParameters> mapperMock;
+  private List<ICimEntity> testData = new ArrayList<>();
+  private ViewFactoryMock<IViewFactory, List<ICimEntity>> viewFactoryMock;
+  private ViewMock<?, ?, ?> viewSpy;
+
+  // Constructors
+  /**
+   * Instantiates a new abstract responders test.
+   *
+   * @param classUnderTest
+   *          the class under test
+   * @param cimModel
+   *          the cim model
+   * @param comunicationTechnology
+   *          the comunication technology
+   * @param requestParametersObjectType
+   *          the request parameters object type
+   * @param scope
+   *          the scope
+   * @param version
+   *          the version
+   */
+  public RespondersTest(AbstractResponder<?, List<ICimEntity>, List<ICimEntity>, ?> classUnderTest, String cimModel, String comunicationTechnology, String requestParametersObjectType, String scope, int version) {
+
+    super(classUnderTest, cimModel, comunicationTechnology, requestParametersObjectType, scope, version);
+
+    mapperFactoryMock = (MapperFactoryMock<IMapperFactory, List<ICimEntity>>) ((ServiceAdapterControllerMock<?>) CONTEXT_MOCK).getMapperFactory();
+    viewFactoryMock = (ViewFactoryMock<IViewFactory, List<ICimEntity>>) ((ServiceAdapterControllerMock<?>) CONTEXT_MOCK).getViewFactory();
+  }
+
+  /**
+   * Create the responder instances.
+   *
+   * @return the collection of responder instances to test.
+   * @throws FailedToCreateException
+   *           the failed to create exception
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>yaml</code> is not loaded</li>
+   *           </ul>
+   */
+  @Parameters(name = "Test for {4} Responder V{5}")
+  public static Collection<Object[]> createRespondersForTest() throws FailedToCreateException {
+
+    List<Object[]> result = new ArrayList<>();
+    Map<String, Object> yamlConfig;
+    Yaml yaml = new Yaml();
+
+    try(InputStream inputStream = getResourceAsStream(RESPONDER_TEST_REGISTER);) {
+
+      /* Parse the YAML file and return the output as a series of Maps and Lists */
+
+      yamlConfig = (Map<String, Object>) yaml.load(inputStream);
+
+    }
+    catch(IOException exception) {
+      throw new FailedToCreateException(exception.getMessage());
+    }
+
+    /* Iterate over the entry map and add new responder instance to test */
+    {
+
+      for(Entry<String, Object> entry : yamlConfig.entrySet()) {
+        Map<String, Object> values = (Map<String, Object>) entry.getValue();
+
+        try {
+          result.add(new Object[] {
+
+              createInstance(RESPONDER_PREFIX + entry.getKey()), values.get("cimModel"), values.get("comunicationTechnology"), values.get("requestParametersObjectType"), values.get("scope"), values.get("version") });
+        }
+        catch(FailedToCreateException exception) {
+          LOGGER.debug(exception.getMessage());
+        }
+      }
+    }
+
+    return result;
+  }
+
+  // Methods
+  @Override
+  @Test
+  public void fetchResponseData_ifGetResponseIsCalled_thenFetchResponseDataCreatesTheView() throws IOException {
+
+    LOGGER.debug("Test loop for " + classUnderTest.getScope() + " ");
+    LOGGER.debug("with associated key " + classUnderTest.getKey());
+
+    /* Given */
+    testData.clear();
+    testData.add(new ACLineSegment());
+    viewFactoryMock.mockCreateMethod(testData);
+    viewSpy = (ViewMock<?, ?, ?>) viewFactoryMock.getViewSpy();
+    mapperFactoryMock.mockCreateMethod(testData);
+    mapperMock = (IMapper<MapperConfiguration, List<ICimEntity>, List<ICimEntity>, NoParameters>) mapperFactoryMock.getMapperSpy();
+
+    Writer writer = Mockito.spy(Writer.class);
+
+    /* When */
+    {
+      classUnderTest.writeResponse(writer, null);
+
+      /* Then */
+      verify(viewFactoryMock.getFactoryMock(), times(1)).create(any(), any());
+    }
+  }
+
+  @Override
+  @Test
+  public void fetchResponseData_ifGetResponseIsCalled_thenFetchResponseDataExecutesTheQuery() throws IOException {
+
+    /* Given */
+    testData.clear();
+    testData.add(new ACLineSegment());
+    viewFactoryMock.mockCreateMethod(testData);
+    viewSpy = (ViewMock<?, ?, ?>) viewFactoryMock.getViewSpy();
+    mapperFactoryMock.mockCreateMethod(testData);
+    mapperMock = (IMapper<MapperConfiguration, List<ICimEntity>, List<ICimEntity>, NoParameters>) mapperFactoryMock.getMapperSpy();
+
+    Writer writer = Mockito.spy(Writer.class);
+
+    /* When */
+    {
+      classUnderTest.writeResponse(writer, null);
+
+      verify(viewSpy, times(1)).executeQuery(any());
+    }
+  }
+
+  /**
+   * Verify that the {@link CimModelDefinition} is set.
+   */
+  @Test
+  @Ignore // REFACTOR 2018-02-13 Renko => prüfen und wieder aktivieren
+  public void getModelDefinition_ifResponder_thenModelDefinitionIsSet() {
+
+    if(classUnderTest instanceof AbstractCimResponder)
+      assertThat(((AbstractCimResponder<?, ?, ?, ?>) classUnderTest).getExportModelDefinition().toString()).isEqualTo(cimModel);
+    else
+      fail(classUnderTest.getScope() + " is not assaignable");
+  }
+
+  @Test
+  @Ignore // REFACTOR 2018-02-13 Renko => prüfen und wieder aktivieren
+  public void getResponseDataToTransferDataMapper_ifResponder_thenGetResponseDataToTransferDataMapperIsCalled() throws IOException {
+
+    /* Given */
+    testData.clear();
+    testData.add(new ACLineSegment());
+    viewFactoryMock.mockCreateMethod(testData);
+    viewSpy = (ViewMock<?, ?, ?>) viewFactoryMock.getViewSpy();
+    mapperFactoryMock.mockCreateMethod(testData);
+    mapperMock = (IMapper<MapperConfiguration, List<ICimEntity>, List<ICimEntity>, NoParameters>) mapperFactoryMock.getMapperSpy();
+
+    Writer writer = Mockito.spy(Writer.class);
+
+    /* When */
+    {
+      classUnderTest.writeResponse(writer, null);
+
+      /* Then */
+      verify(mapperMock, times(1)).map(any(), any());
+    }
+
+  }
+}
\ No newline at end of file
diff --git a/dev/adapter/src/test/resources/.gitignore b/dev/adapter/src/test/resources/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/adapter/src/test/resources/.gitignore
diff --git a/dev/adapter/src/test/resources/ResponderTestRegister.yaml b/dev/adapter/src/test/resources/ResponderTestRegister.yaml
new file mode 100644
index 0000000..37e5229
--- /dev/null
+++ b/dev/adapter/src/test/resources/ResponderTestRegister.yaml
@@ -0,0 +1,11 @@
+# *Registry, *Setup, *Configuration, *Parameters
+# 0
+TopologyId_1_Xml_Responder:
+  cimModel: cim17v07
+  comunicationTechnology: REST
+  outputFormat: XML 1.0_UTF-8
+  requestParametersObjectType: TolerantCimRequestParameters
+  scope: TopologyId
+  serializerVersion: 1
+  version: 1
+  viewVersion: 1
diff --git a/dev/core/pom.xml b/dev/core/pom.xml
new file mode 100644
index 0000000..9408e77
--- /dev/null
+++ b/dev/core/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.eclipse.openk.domain.static-topology</groupId>
+    <artifactId>static-topology-core</artifactId>
+    <version>2.21.0-SNAPSHOT</version>
+
+    <name>${project.groupId}.${project.artifactId}</name>
+
+    <parent>
+        <groupId>org.eclipse.openk.build.build-parentpom</groupId>
+        <artifactId>build-parentpom-core</artifactId>
+        <version>2.20.0</version>
+        <relativePath></relativePath>
+    </parent>
+
+    <dependencies>
+        <!-- org.eclipse -->
+        <dependency>
+            <groupId>org.eclipse.openk.service</groupId>
+            <artifactId>service-core</artifactId>
+            <version>2.20.0</version>
+        </dependency>
+        <!-- scope: test -->
+        <!-- org.eclipse.openk -->
+        <dependency>
+            <groupId>org.eclipse.openk.service</groupId>
+            <artifactId>service-core</artifactId>
+            <version>2.20.0</version>
+            <type>test-jar</type>
+        </dependency>
+    </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/dev/core/src/main/java/.gitignore b/dev/core/src/main/java/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/core/src/main/java/.gitignore
diff --git a/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/MissingStaticTopologyException.java b/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/MissingStaticTopologyException.java
new file mode 100644
index 0000000..c4e38bd
--- /dev/null
+++ b/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/MissingStaticTopologyException.java
@@ -0,0 +1,48 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.core;
+
+import org.eclipse.openk.common.messaging.AbstractIOException;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+
+/**
+ * Indicates that there is no static-topology available.
+ * 
+ * @author 2018-03-15 Christian Brunzendorf
+ * @author 2018-03-25 Felix Korb
+ */
+public final class MissingStaticTopologyException extends AbstractIOException {
+
+  // Constants
+  private static final long serialVersionUID = 1L;
+
+  // Constructors
+  @SuppressWarnings("checkstyle:javadocmethod")
+  @SuppressWarningsReason(reasons = Reason.Checkstyle_ConstructorWithoutParameter)
+  public MissingStaticTopologyException() {
+
+    this(null);
+  }
+
+  /**
+   * @param cause
+   *          the causing inner exception, can be <code>null</code>
+   */
+  public MissingStaticTopologyException(Throwable cause) {
+
+    super("There is no static-topology available!", cause);
+  }
+}
diff --git a/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/StaticTopologyDefaults.java b/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/StaticTopologyDefaults.java
new file mode 100644
index 0000000..5510976
--- /dev/null
+++ b/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/StaticTopologyDefaults.java
@@ -0,0 +1,91 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.core;
+
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+
+/**
+ * Defines some defaults.
+ * 
+ * @author 2017-09-21 Christian Brunzendorf
+ * @author 2018-09-29 Felix Korb
+ */
+@SuppressWarnings("checkstyle:multiplestringliterals")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MultipleStringsInInitializations)
+public final class StaticTopologyDefaults {
+
+  // Constants
+  /* domains */
+  public static final String DOMAIN = "static-topology";
+
+  /* modifiers */
+  public static final String MODIFIER_STORE_STATIC_TOPOLOGY = "store-static-topology";
+
+  /* repositories */
+  public static final String REPOSITORY_KEY_STATIC_TOPOLOGY = DOMAIN;
+  public static final String REPOSITORY_KEY_TOPOLOGY_ID = "topology-id";
+
+  /* scopes */
+  public static final String SCOPE_AC_LINE_SEGMENTS = "ac-line-segments";
+  public static final String SCOPE_BASE_VOLTAGES = "base-voltages";
+  public static final String SCOPE_BAYS = "bays";
+  public static final String SCOPE_BREAKERS = "breakers";
+  public static final String SCOPE_BUSBAR_SECTIONS = "busbar-sections";
+  public static final String SCOPE_DISCONNECTORS = "disconnectors";
+  public static final String SCOPE_EARTH_FAULT_COMPENSATORS = "earth-fault-compensators";
+  public static final String SCOPE_ENERGY_CONSUMERS = "energy-consumers";
+  public static final String SCOPE_ENERGY_SOURCES = "energy-sources";
+  public static final String SCOPE_EQUIPMENT_CONTAINER_CONTENT = "equipment-container-content";
+  public static final String SCOPE_GEOGRAPHICAL_REGIONS = "geographical-regions";
+  public static final String SCOPE_GROUNDING_IMPEDANCES = "grounding-impedances";
+  public static final String SCOPE_JUNCTIONS = "junctions";
+  public static final String SCOPE_LINES = "lines";
+  public static final String SCOPE_LINE_TYPES = "line-types";
+  public static final String SCOPE_LOAD_BREAK_SWITCHES = "load-break-switches";
+  public static final String SCOPE_PETERSEN_COILS = "petersen-coils";
+  public static final String SCOPE_PLANTS = "plants";
+  public static final String SCOPE_POWER_TRANSFORMERS = "power-transformers";
+  public static final String SCOPE_SUB_GEOGRAPHICAL_REGIONS = "sub-geographical-regions";
+  public static final String SCOPE_SUBSTATIONS = "substations";
+  public static final String SCOPE_SUBSTATION_TYPES = "substation-types";
+  public static final String SCOPE_SWITCHES = "switches";
+  public static final String SCOPE_TOPOLOGICAL_RESOURCE_TYPES = "topological-resource-types";
+  public static final String SCOPE_TOPOLOGICAL_RESOURCES = "topological-resources";
+  public static final String SCOPE_TOPOLOGY = "topology";
+  public static final String SCOPE_TOPOLOGY_ID = "topology-id";
+  public static final String SCOPE_VOLTAGE_LEVELS = "voltage-levels";
+
+  /* tasks */
+  public static final String TASK_CATEGORIZE_EQUIPMENTS_AND_EQUIPMENT_CONTAINERS = "categorize-equipments-and-equipment-containers";
+  public static final String TASK_CHECK_STATIC_TOPOLOGY_ACTUALITY = "check-static-topology-actuality";
+  public static final String TASK_CONNECT_CONNECTING_EQUIPMENTS = "connect-connecting-equipments";
+  public static final String TASK_GROUP_TOPOLOGICAL_RESOURCES = "group-topological-resources";
+  public static final String TASK_IMPORT_STATIC_TOPOLOGY = "import-static-topology";
+  public static final String TASK_IMPORT_TOPOLOGICAL_RESOURCES = "import-topological-resources";
+  public static final String TASK_LINK_POWER_SYSTEM_RESOURCES_TOGETHER = "link-power-system-resources-together";
+  public static final String TASK_LINK_TOPOLOGICAL_RESOURCES_TOGETHER = "link-topological-resources-together";
+  public static final String TASK_SOLVE_BASE_VOLTAGE_REFERENCES = "solve-base-voltage-references";
+  public static final String TASK_SOLVE_COMMON_TOPOLOGICAL_RESOURCE_PROPERTIES = "solve-common-topological-resource-properties";
+  public static final String TASK_SOLVE_POWER_TRANSFORMER_END_TERMINAL_REFERENCES = "solve-power-transformer-end-terminal-references";
+
+  // Constructors
+  @SuppressWarnings("checkstyle:javadocmethod")
+  @SuppressWarningsReason(reasons = Reason.Checkstyle_ConstructorWithoutParameter)
+  private StaticTopologyDefaults() {
+
+    /* suppresses the instantiation! */
+  }
+}
\ No newline at end of file
diff --git a/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/StaticTopologyOutOfDateException.java b/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/StaticTopologyOutOfDateException.java
new file mode 100644
index 0000000..b36b30c
--- /dev/null
+++ b/dev/core/src/main/java/org/eclipse/openk/domain/statictopology/core/StaticTopologyOutOfDateException.java
@@ -0,0 +1,114 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.core;
+
+import java.util.UUID;
+
+import org.eclipse.openk.common.dataexchange.UnknownResourceException;
+
+/**
+ * An exception for documenting a functional error-situation.
+ * Since it implements the interface <code>INotification</code> it
+ * is possible to use the exception within the <strong>openK</strong>
+ * message- and logging-system.
+ * 
+ * <p>
+ * This Exception indicates, that the static-topology is out of date.
+ * </p>
+ * 
+ * @author 2018-03-20 Christian Brunzendorf
+ * @author 2018-05-04 Felix Korb
+ * @author 2018-03-20 Frank Jäger
+ */
+public final class StaticTopologyOutOfDateException extends UnknownResourceException {
+
+  // Constants
+  private static final long serialVersionUID = 1L;
+
+  // Attributes
+  private final UUID outdatedTopologyId;
+
+  // Constructors
+  /**
+   * @param outdatedTopologyId
+   *          the topology-id which is out of date
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>outdatedTopologyId</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public StaticTopologyOutOfDateException(UUID outdatedTopologyId) throws IllegalArgumentException {
+
+    this(outdatedTopologyId, null);
+  }
+
+  /**
+   * @param outdatedTopologyId
+   *          the topology-id which is out of date
+   * @param cause
+   *          the causing inner exception; can be <code>null</code>
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>outdatedTopologyId</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public StaticTopologyOutOfDateException(UUID outdatedTopologyId, Throwable cause) throws IllegalArgumentException {
+
+    super(createText(outdatedTopologyId), cause);
+
+    this.outdatedTopologyId = outdatedTopologyId;
+
+    addParameter("outdatedTopologyId", outdatedTopologyId.toString());
+  }
+
+  // Methods
+  /**
+   * Creates the message-text for the specified functional error-situation.
+   * 
+   * @param outdatedTopologyId
+   *          the topology-id which is out of date
+   * @return the text; not <code>null</code> and not <code>""</code>
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>outdatedTopologyId</code> is <code>null</code></li>
+   *           </ul>
+   */
+  private static String createText(UUID outdatedTopologyId) throws IllegalArgumentException {
+
+    if(outdatedTopologyId == null)
+      throw new IllegalArgumentException("outdatedTopologyId", new NullPointerException());
+    else {
+      StringBuilder result = new StringBuilder();
+
+      result.append("The static-topology with the topology-id '");
+      result.append(outdatedTopologyId.toString());
+      result.append("' is out of date!");
+
+      return result.toString();
+    }
+  }
+
+  // Properties
+  /**
+   * @return the out dated topology-id; not <code>null</code>
+   */
+  public UUID getOutdatedTopologyId() {
+
+    return outdatedTopologyId;
+  }
+}
\ No newline at end of file
diff --git a/dev/core/src/main/resources/.gitignore b/dev/core/src/main/resources/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/core/src/main/resources/.gitignore
diff --git a/dev/core/src/test/java/.gitignore b/dev/core/src/test/java/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/core/src/test/java/.gitignore
diff --git a/dev/core/src/test/resources/.gitignore b/dev/core/src/test/resources/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/core/src/test/resources/.gitignore
diff --git a/dev/infrastructure/pom.xml b/dev/infrastructure/pom.xml
new file mode 100644
index 0000000..b87964b
--- /dev/null
+++ b/dev/infrastructure/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.eclipse.openk.domain.static-topology</groupId>
+  <artifactId>static-topology-infrastructure</artifactId>
+  <version>2.21.0-SNAPSHOT</version>
+  <name>${project.groupId}.${project.artifactId}</name>
+
+  <parent>
+    <groupId>org.eclipse.openk.build.build-parentpom</groupId>
+    <artifactId>build-parentpom-infrastructure</artifactId>
+    <version>2.20.0</version>
+    <relativePath></relativePath>
+  </parent>
+
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+  </build>
+
+  <dependencies>
+    <!-- org.eclipse -->
+    <dependency>
+      <groupId>org.eclipse.openk.domain.static-topology</groupId>
+      <artifactId>static-topology-adapter</artifactId>
+      <version>2.21.0-SNAPSHOT</version>
+    </dependency>
+
+    <!-- org.eclipse -->
+    <dependency>
+      <groupId>org.eclipse.openk.service</groupId>
+      <artifactId>service-infrastructure</artifactId>
+      <version>2.20.0</version>
+    </dependency>
+    <!-- scope: test -->
+    <!-- org.eclipse.openk -->
+    <dependency>
+      <groupId>org.eclipse.openk.service</groupId>
+      <artifactId>service-infrastructure</artifactId>
+      <version>2.20.0</version>
+      <type>test-jar</type>
+    </dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/.gitignore b/dev/infrastructure/src/main/java/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/infrastructure/src/main/java/.gitignore
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/BaseVoltages_Get_Rest_EndPoint.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/BaseVoltages_Get_Rest_EndPoint.java
new file mode 100644
index 0000000..25ef059
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/BaseVoltages_Get_Rest_EndPoint.java
@@ -0,0 +1,78 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.endpoint;
+
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.infrastructure.endpoint.AbstractCimHttpGetRestEndPoint;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * The <i>http-REST</i> end point for {@link BaseVoltage}s.
+ *
+ * @author 2017-07-01 Christian Brunzendorf
+ * @author 2018-03-20 Frank Jäger
+ */
+@RestController(value = "/domain/electricity/static-topology/base-voltages")
+@RequestMapping(path = "/domain/electricity/static-topology")
+public final class BaseVoltages_Get_Rest_EndPoint extends AbstractCimHttpGetRestEndPoint {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_Get_Rest_EndPoint.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BaseVoltages_Get_Rest_EndPoint(@Autowired IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  @GetMapping(path = "/base-voltages", produces = "application/xml")
+  public void get(HttpServletRequest request, @PathVariable Map<String, String> pathVars, @RequestParam Map<String, String> requestProperties, HttpServletResponse response) {
+
+    processRequest(StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, request, pathVars, requestProperties, MediaType.TextPlain, response, MediaType.ApplicationXml);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/EquipmentContainerContent_Get_Rest_EndPoint.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/EquipmentContainerContent_Get_Rest_EndPoint.java
new file mode 100644
index 0000000..650504f
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/EquipmentContainerContent_Get_Rest_EndPoint.java
@@ -0,0 +1,80 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.endpoint;
+
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.infrastructure.endpoint.AbstractCimHttpGetRestEndPoint;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Configurable;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * The <i>http-REST</i> end point for the equipment-container-content.
+ *
+ * @author 2018-11-27 Renko Ortgies
+ */
+@Configurable
+@CrossOrigin
+@RequestMapping(path = "/domain/electricity/static-topology")
+@RestController(value = "/domain/electricity/static-topology/equipment-container-content")
+public final class EquipmentContainerContent_Get_Rest_EndPoint extends AbstractCimHttpGetRestEndPoint {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EquipmentContainerContent_Get_Rest_EndPoint.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EquipmentContainerContent_Get_Rest_EndPoint(@Autowired IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  @GetMapping(path = "/equipment-container-content", produces = "application/xml")
+  public void get(HttpServletRequest request, @PathVariable Map<String, String> pathVars, @RequestParam Map<String, String> requestProperties, HttpServletResponse response) {
+
+    processRequest(StaticTopologyDefaults.SCOPE_EQUIPMENT_CONTAINER_CONTENT, request, pathVars, requestProperties, MediaType.TextPlain, response, MediaType.ApplicationXml);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/TopologicalResources_Get_Rest_EndPoint.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/TopologicalResources_Get_Rest_EndPoint.java
new file mode 100644
index 0000000..5d6f1fc
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/TopologicalResources_Get_Rest_EndPoint.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.endpoint;
+
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.infrastructure.endpoint.AbstractCimHttpGetRestEndPoint;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * The <i>http-REST</i> end point for the topological-resources.
+ *
+ * @author 2018-11-23 Renko Ortgies
+ */
+@RestController(value = "/domain/electricity/static-topology/topological-resources")
+@RequestMapping(path = "/domain/electricity/static-topology")
+public final class TopologicalResources_Get_Rest_EndPoint extends AbstractCimHttpGetRestEndPoint {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologicalResources_Get_Rest_EndPoint.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologicalResources_Get_Rest_EndPoint(@Autowired IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  @GetMapping(path = "/topological-resources", produces = "application/xml")
+  public void get(HttpServletRequest request, @PathVariable Map<String, String> pathVars, @RequestParam Map<String, String> requestProperties, HttpServletResponse response) {
+
+    processRequest(StaticTopologyDefaults.SCOPE_TOPOLOGICAL_RESOURCES, request, pathVars, requestProperties, MediaType.TextPlain, response, MediaType.ApplicationXml);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/TopologyId_Get_Rest_EndPoint.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/TopologyId_Get_Rest_EndPoint.java
new file mode 100644
index 0000000..758a34f
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/endpoint/TopologyId_Get_Rest_EndPoint.java
@@ -0,0 +1,76 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.endpoint;
+
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.infrastructure.endpoint.AbstractCimHttpGetRestEndPoint;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * The <i>http-REST</i> end point for the topology identifier.
+ *
+ * @author 2018-02-08 Renko Ortgies
+ */
+@RestController(value = "/domain/electricity/static-topology/topology-id")
+@RequestMapping(path = "/domain/electricity/static-topology")
+public final class TopologyId_Get_Rest_EndPoint extends AbstractCimHttpGetRestEndPoint {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyId_Get_Rest_EndPoint.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologyId_Get_Rest_EndPoint(@Autowired IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  @GetMapping(path = "/topology-id", produces = "application/xml")
+  public void get(HttpServletRequest request, @PathVariable Map<String, String> pathVars, @RequestParam Map<String, String> requestProperties, HttpServletResponse response) {
+
+    processRequest(StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, request, pathVars, requestProperties, MediaType.TextPlain, response, MediaType.ApplicationXml);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Abstract_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Abstract_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..a7e5a72
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Abstract_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,68 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import java.util.UUID;
+
+import org.eclipse.openk.common.net.UrlQueryString;
+import org.eclipse.openk.domain.statictopology.logic.core.view.parameters.IStaticTopologyQueryParameters;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The base of all <i>REST</i> {@link IReaderProvider}s.
+ * 
+ * @author 2017-10-05 Christian Brunzendorf
+ * @author 2017-10-05 Felix Korb
+ * @author 2017-10-05 Frank Jäger
+ * @author 2017-10-05 Tomke Meyer
+ * @author 2018-02-26 Renko Ortgies
+ */
+public abstract class Abstract_ApplicationXml_Utf8_Rest_ReaderProvider extends org.eclipse.openk.service.infrastructure.readerprovider.AbstractCimRestReaderProvider<UrlReaderProviderConfiguration, UUID> {
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  protected Abstract_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Methods
+  @Override
+  protected UrlQueryString createUrlQueryString(UUID readParameters) throws IllegalArgumentException {
+
+    UrlQueryString result = super.createUrlQueryString(readParameters);
+
+    if(readParameters != null) {
+
+      if(result == null)
+        result = new UrlQueryString();
+
+      /* add topology-id parameter */
+      result.addParameter(IStaticTopologyQueryParameters.PARAMETER_TOPOLOGY_ID, convertAndEncodeCimIds(readParameters));
+    }
+
+    return result;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/AcLineSegments_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/AcLineSegments_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..2463c8f
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/AcLineSegments_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link ACLineSegment}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class AcLineSegments_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(AcLineSegments_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public AcLineSegments_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/BaseVoltages_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/BaseVoltages_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..476590b
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/BaseVoltages_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link BaseVoltage}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class BaseVoltages_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BaseVoltages_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Bays_2_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Bays_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..21d4a03
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Bays_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,61 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link Bay}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class Bays_2_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Bays_2_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Bays_2_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Breakers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Breakers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..ad1b91d
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Breakers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link Breaker}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Breakers_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Breakers_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Breakers_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/BusbarSections_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/BusbarSections_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..52c0b78
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/BusbarSections_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link BusbarSection}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class BusbarSections_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(BusbarSections_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public BusbarSections_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Disconnectors_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Disconnectors_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..761e0ac
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Disconnectors_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link Disconnector}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Disconnectors_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Disconnectors_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Disconnectors_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EarthFaultCompensators_1_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EarthFaultCompensators_1_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..c8fb615
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EarthFaultCompensators_1_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,61 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link EarthFaultCompensator}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class EarthFaultCompensators_1_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EarthFaultCompensators_1_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EarthFaultCompensators_1_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EnergyConsumers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EnergyConsumers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..d2831e3
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EnergyConsumers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link EnergyConsumer}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class EnergyConsumers_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EnergyConsumers_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EnergyConsumers_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EnergySources_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EnergySources_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..d3e5101
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/EnergySources_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link EnergySource}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class EnergySources_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(EnergySources_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public EnergySources_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/GeographicalRegions_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/GeographicalRegions_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..ff42f13
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/GeographicalRegions_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link GeographicalRegion}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class GeographicalRegions_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(GeographicalRegions_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public GeographicalRegions_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/GroundingImpedances_1_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/GroundingImpedances_1_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..71f076f
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/GroundingImpedances_1_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,61 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link GroundingImpedance}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class GroundingImpedances_1_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(GroundingImpedances_1_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public GroundingImpedances_1_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Junctions_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Junctions_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..5f8d4a0
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Junctions_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link Junction}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Junctions_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Junctions_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Junctions_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/LineTypes_2_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/LineTypes_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..cba84ac
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/LineTypes_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,60 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The line-types <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class LineTypes_2_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(LineTypes_2_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public LineTypes_2_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Lines_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Lines_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..b4d1216
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Lines_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,68 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link Line}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-05 Christian Brunzendorf
+ * @author 2017-10-05 Felix Korb
+ * @author 2017-10-05 Frank Jäger
+ * @author 2017-10-05 Tomke Meyer
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_LINES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Lines_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Lines_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Lines_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/LoadBreakSwitches_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/LoadBreakSwitches_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..afd3b53
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/LoadBreakSwitches_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link LoadBreakSwitch}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class LoadBreakSwitches_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(LoadBreakSwitches_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public LoadBreakSwitches_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/PetersenCoils_1_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/PetersenCoils_1_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..e2fa4e2
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/PetersenCoils_1_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,61 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link PetersenCoil}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class PetersenCoils_1_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(PetersenCoils_1_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public PetersenCoils_1_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Plants_2_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Plants_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..5ba6e1c
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Plants_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,61 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link Plant}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class Plants_2_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Plants_2_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Plants_2_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/PowerTransformers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/PowerTransformers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..6805e8c
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/PowerTransformers_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link PowerTransformer}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class PowerTransformers_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(PowerTransformers_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public PowerTransformers_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/SubGeographicalRegions_2_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/SubGeographicalRegions_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..6ed74d1
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/SubGeographicalRegions_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,61 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link SubGeographicalRegion}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class SubGeographicalRegions_2_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(SubGeographicalRegions_2_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public SubGeographicalRegions_2_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/SubstationTypes_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/SubstationTypes_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..2ed4cb0
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/SubstationTypes_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,64 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The substation-types <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class SubstationTypes_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(SubstationTypes_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public SubstationTypes_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Substations_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Substations_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..4b12bd6
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Substations_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link Substation}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class Substations_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Substations_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Substations_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Switches_2_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Switches_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..3c4575c
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/Switches_2_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,61 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link Switch}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class Switches_2_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(Switches_2_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public Switches_2_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/TopologyId_1_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/TopologyId_1_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..172986b
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/TopologyId_1_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,60 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The topology id <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+public final class TopologyId_1_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyId_1_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public TopologyId_1_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/VoltageLevels_3_ApplicationXml_Utf8_Rest_ReaderProvider.java b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/VoltageLevels_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
new file mode 100644
index 0000000..cf1461a
--- /dev/null
+++ b/dev/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/readerprovider/VoltageLevels_3_ApplicationXml_Utf8_Rest_ReaderProvider.java
@@ -0,0 +1,65 @@
+/*
+ *  -----------------------------------------------------------------------------
+ *  
+ *  Copyright © 2015-2019 PSI AG - http://www.psi.de
+ *  
+ *  This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *  
+ *  -----------------------------------------------------------------------------
+ *  
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.readerprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.codestyle.Reason;
+import org.eclipse.openk.common.system.codestyle.SuppressWarningsReason;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.IReaderProvider;
+import org.eclipse.openk.service.core.infrastructure.readerprovider.ReaderProviderInformation;
+import org.eclipse.openk.service.infrastructure.readerprovider.UrlReaderProviderConfiguration;
+
+/**
+ * The {@link VoltageLevel}s <i>REST</i> {@link IReaderProvider}.
+ * 
+ * @author 2017-10-09 Frank Jäger
+ * @author 2018-02-26 Renko Ortgies
+ */
+@ReaderProviderInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = UrlReaderProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+@SuppressWarningsReason(reasons = Reason.Checkstyle_MagicNumberAsComponentVersion)
+public final class VoltageLevels_3_ApplicationXml_Utf8_Rest_ReaderProvider extends Abstract_ApplicationXml_Utf8_Rest_ReaderProvider {
+
+  // Constants
+  private static final ILogger LOGGER = LoggerFactory.createLogger(VoltageLevels_3_ApplicationXml_Utf8_Rest_ReaderProvider.class);
+
+  // Constructors
+  /**
+   * @param context
+   *          the context
+   * @throws IllegalArgumentException
+   *           Is thrown in the following cases:
+   *           <ul>
+   *           <li><code>context</code> is <code>null</code></li>
+   *           </ul>
+   */
+  public VoltageLevels_3_ApplicationXml_Utf8_Rest_ReaderProvider(IServiceContext context) throws IllegalArgumentException {
+
+    super(context);
+  }
+
+  // Properties
+  @Override
+  public ILogger getLogger() {
+
+    return LOGGER;
+  }
+}
\ No newline at end of file
diff --git a/dev/infrastructure/src/main/resources/.gitignore b/dev/infrastructure/src/main/resources/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/infrastructure/src/main/resources/.gitignore
diff --git a/dev/infrastructure/src/test/java/.gitignore b/dev/infrastructure/src/test/java/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/infrastructure/src/test/java/.gitignore
diff --git a/dev/infrastructure/src/test/resources/.gitignore b/dev/infrastructure/src/test/resources/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/infrastructure/src/test/resources/.gitignore
diff --git a/dev/logic/pom.xml b/dev/logic/pom.xml
new file mode 100644
index 0000000..a67a8a6
--- /dev/null
+++ b/dev/logic/pom.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.eclipse.openk.domain.static-topology</groupId>
+  <artifactId>static-topology-logic</artifactId>
+  <version>2.21.0-SNAPSHOT</version>
+  <name>${project.groupId}.${project.artifactId}</name>
+
+  <parent>
+    <groupId>org.eclipse.openk.build.build-parentpom</groupId>
+    <artifactId>build-parentpom-logic</artifactId>
+    <version>2.20.0</version>
+    <relativePath></relativePath>
+  </parent>
+
+  <dependencies>
+    <!-- org.eclipse -->
+    <dependency>
+      <groupId>org.eclipse.openk.domain.static-topology</groupId>
+      <artifactId>static-topology-model</artifactId>
+      <version>2.21.0-SNAPSHOT</version>
+    </dependency>
+
+    <!-- org.eclipse -->
+    <dependency>
+      <groupId>org.eclipse.openk.service</groupId>
+      <artifactId>service-logic</artifactId>
+      <version>2.20.0</version>
+    </dependency>
+    <!-- scope: test -->
+    <!-- org.eclipse.openk -->
+    <dependency>
+      <groupId>org.eclipse.openk.service</groupId>
+      <artifactId>service-logic</artifactId>
+      <version>2.20.0</version>
+      <type>test-jar</type>
+    </dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/dev/logic/src/main/java/.gitignore b/dev/logic/src/main/java/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/dev/logic/src/main/java/.gitignore
diff --git a/dev/logic/src/main/java/org/eclipse/openk/domain/statictopology/logic/core/IStaticTopologyData.java b/dev/logic/src/main/java/org/eclipse/openk/domain/statictopology/logic/core/IStaticTopologyData.java
new file mode 100644
index 0000000..e19194f
--- /dev/null
+++ b/dev/logic/src/main/java/org/eclipse