You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cg...@apache.org on 2023/08/11 04:16:35 UTC

[plc4x] branch feature/merlot updated: Fixed problems with duplicate libraries in different bundles of Merlot. All Plc4x compiles without problems in this version.

This is an automated email from the ASF dual-hosted git repository.

cgarcia pushed a commit to branch feature/merlot
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/feature/merlot by this push:
     new 0c6c081805 Fixed problems with duplicate libraries in different bundles of Merlot. All Plc4x compiles without problems in this version.
0c6c081805 is described below

commit 0c6c0818055c0152147cdad672ebce2eed50e18f
Author: Cesar Garcia <ce...@ceos.com.ve>
AuthorDate: Fri Aug 11 00:15:43 2023 -0400

    Fixed problems with duplicate libraries in different bundles of Merlot. All Plc4x compiles without problems in this version.
---
 .../java/bacnetip/readwrite/BACnetVendorId.java    |  9 ++
 .../java/knxnetip/readwrite/KnxManufacturer.java   | 12 ++-
 .../org.apache.plc4x.merlot.branding/pom.xml       |  7 +-
 .../apache/karaf/branding/branding-ssh.properties  |  0
 .../org/apache/karaf/branding/branding.properties  |  0
 .../org.apache.plc4x.merlot.das.api/pom.xml        |  7 +-
 .../plc4x/merlot/das/api/ByteBasedDriver.java      | 40 ++++-----
 .../org/apache/plc4x/merlot/das/api/Device.java    | 36 ++++----
 .../org/apache/plc4x/merlot/das/api/Driver.java    | 35 ++++----
 .../plc4x/merlot/das/api/DriverCallback.java       | 36 ++++----
 .../apache/plc4x/merlot/das/api/DriverEvent.java   | 36 ++++----
 .../plc4x/merlot/das/api/MessageBasedDriver.java   | 35 ++++----
 .../org/apache/plc4x/merlot/das/api/Optimizer.java | 40 ++++-----
 .../plc4x/merlot/das/api/TagBasedDriver.java       | 40 ++++-----
 .../org/apache/plc4x/merlot/das/core/Merlot.java   | 36 ++++----
 .../merlot/das/impl/DriverEventFactoryImpl.java    | 36 ++++----
 .../plc4x/merlot/das/impl/DriverEventImpl.java     | 36 ++++----
 .../merlot/das/impl/DriverSessionFactoryImpl.java  | 35 ++++----
 .../merlot/das/impl/DriverThreadFactoryImpl.java   | 36 ++++----
 .../org.apache.plc4x.merlot.das.base/pom.xml       | 50 +++++++++--
 .../plc4x/merlot/das/base/api/BaseDevice.java      | 35 ++++----
 .../plc4x/merlot/das/base/api/BaseDeviceEvent.java | 37 ++++----
 .../merlot/das/base/api/BaseDeviceFactory.java     | 40 ++++-----
 .../plc4x/merlot/das/base/api/BaseDriver.java      | 35 ++++----
 .../plc4x/merlot/das/base/api/BaseDriverMBean.java | 24 ++++--
 .../plc4x/merlot/das/base/api/BaseOptimizer.java   | 40 ++++-----
 .../merlot/das/base/command/BaseDriverCommand.java | 39 ++++-----
 .../das/base/command/BasePLCStatusCommand.java     | 40 ++++-----
 .../merlot/das/base/command/BaseReadCommand.java   | 40 ++++-----
 .../merlot/das/base/command/BaseWriteCommand.java  | 40 ++++-----
 .../das/base/core/BaseDeviceEventHandler.java      | 36 ++++----
 .../das/base/core/BaseDeviceManagedService.java    | 40 ++++-----
 .../merlot/das/base/core/BaseDriverEvent.java      | 38 ++++-----
 .../merlot/das/base/impl/BaseDasDriverImpl.java    | 40 ++++-----
 .../plc4x/merlot/das/base/impl/BaseDeviceImpl.java | 37 ++++----
 .../plc4x/merlot/das/base/impl/BaseDriverImpl.java | 35 ++++----
 .../merlot/das/base/impl/BaseDriverMBeanImpl.java  | 24 ++++--
 .../merlot/das/base/impl/BaseOptimizerImpl.java    | 40 ++++-----
 .../org.apache.plc4x.merlot.das/pom.xml            | 18 ++--
 .../org.apache.plc4x.merlot.db/pom.xml             | 36 +++++---
 .../apache/plc4x/merlot/db/api/DBCollector.java    |  5 +-
 .../nb-configuration.xml                           | 18 ----
 .../org.apache.plc4x.merlot.features/pom.xml       |  2 +-
 .../src/main/feature/feature.xml                   |  3 +
 .../org.apache.plc4x.merlot.modbus.dev/pom.xml     | 11 +--
 .../org.apache.plc4x.merlot.modbus.sim/pom.xml     | 28 +++++--
 .../org.apache.plc4x.merlot.modbus.svr/pom.xml     | 28 ++++++-
 .../org.apache.plc4x.merlot.scheduler/pom.xml      |  2 +-
 .../plc4x/merlot/scheduler/command/List.java       |  1 +
 .../plc4x/merlot/scheduler/command/Reschedule.java |  2 +-
 .../merlot/scheduler/command/ScheduleCommand.java  |  2 +-
 .../merlot/scheduler/command/ScheduleScript.java   |  1 +
 .../plc4x/merlot/scheduler/command/Trigger.java    |  2 +-
 .../plc4x/merlot/scheduler/command/Unschedule.java |  2 +-
 .../command/completer/JobNameCompleter.java        |  2 +-
 .../scheduler/command/support/CommandJob.java      |  2 +-
 .../scheduler/command/support/ScriptJob.java       |  1 +
 .../scheduler/command/support/TriggerJob.java      |  2 +-
 .../plc4x/merlot/scheduler/core/Activator.java     |  1 -
 .../scheduler/core/InternalScheduleOptions.java    |  1 +
 .../merlot/scheduler/core/KarafStdScheduler.java   |  1 +
 .../scheduler/core/KarafStdSchedulerFactory.java   |  1 +
 .../merlot/scheduler/core/QuartzJobExecutor.java   |  1 +
 .../merlot/scheduler/core/QuartzScheduler.java     |  1 +
 .../scheduler/core/QuartzSchedulerStorage.java     |  1 +
 .../merlot/scheduler/core/SchedulerMBeanImpl.java  |  3 +-
 .../merlot/scheduler/core/WhiteboardHandler.java   |  1 +
 .../scheduler/impl/SchedulerWhiteBoardImpl.java    |  6 +-
 .../org.apache.plc4x.merlot.uns/pom.xml            | 98 +++++++++++++++++++---
 ...t.model.cfg => org.apache.plc4x.merlot.uns.cfg} |  1 -
 .../src/main/cfg/org.ops4j.datasource-model.cfg    | 25 ++++++
 .../src/main/cfg/org.ops4j.datasource-tf.cfg       | 25 ++++++
 .../org/apache/plc4x/merlot/uns/api/MyService.java |  1 +
 .../apache/plc4x/merlot/uns/api/MyServiceImpl.java |  1 +
 .../merlot/uns/command/ModelDomineCommand.java     |  1 +
 .../org.apache.plc4x.merlot/pom.xml                | 58 +++++++++++--
 pom.xml                                            | 18 +++-
 77 files changed, 930 insertions(+), 705 deletions(-)

diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetVendorId.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetVendorId.java
index 719a3c1366..1bf82200f6 100644
--- a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetVendorId.java
+++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetVendorId.java
@@ -1644,6 +1644,15 @@ public enum BACnetVendorId {
   HANGZHOU_HIKVISION_DIGITAL_TECHNOLOGY_CO_LTD(
       (int) 1430, (int) 1430, (String) "Hangzhou Hikvision Digital Technology Co., Ltd."),
   CRYSTAL_PEAK_SECURITY((int) 1431, (int) 1431, (String) "Crystal Peak Security"),
+  PERM_ALERT((int) 1432, (int) 1432, (String) "PermAlert"),
+  ZHEJIANG_MISILIN_TECHNOLOGY_CO_LTD(
+      (int) 1433, (int) 1433, (String) "Zhejiang Misilin Technology Co., Ltd."),
+  DEKKER_VACUUM_TECHNOLOGIES((int) 1434, (int) 1434, (String) "Dekker Vacuum Technologies"),
+  EDWARDS_LIMITED((int) 1435, (int) 1435, (String) "Edwards Limited"),
+  LEYBOLD_GMBH((int) 1436, (int) 1436, (String) "Leybold GmbH"),
+  INTERNATIONAL_GAS_DETECTORS((int) 1437, (int) 1437, (String) "International Gas Detectors"),
+  ATLAS_COPCO_AIRPOWERNV((int) 1438, (int) 1438, (String) "Atlas Copco Airpower NV"),
+  AIR_SENTRY_LIMITED((int) 1439, (int) 1439, (String) "Air Sentry Limited"),
   UNKNOWN_VENDOR((int) 0xFFFF, (int) 0xFFFF, (String) "Unknown");
   private static final Map<Integer, BACnetVendorId> map;
 
diff --git a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxManufacturer.java b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxManufacturer.java
index 0d5c7c3b7f..14fdf1fb38 100644
--- a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxManufacturer.java
+++ b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxManufacturer.java
@@ -281,7 +281,7 @@ public enum KnxManufacturer {
   M_ZIPATO((int) 242, (int) 293, (String) "Zipato"),
   M_CM_SECURITY_GMBH_AND_CO_KG((int) 243, (int) 294, (String) "cm-security GmbH & Co KG"),
   M_QING_CABLES((int) 244, (int) 295, (String) "Qing Cables"),
-  M_LABIO((int) 245, (int) 296, (String) "LABIO"),
+  M_WOLF((int) 245, (int) 296, (String) "WOLF"),
   M_COSTER_TECNOLOGIE_ELETTRONICHE_S_P_A_(
       (int) 246, (int) 297, (String) "Coster Tecnologie Elettroniche S.p.A."),
   M_E_G_E((int) 247, (int) 298, (String) "E.G.E"),
@@ -731,10 +731,14 @@ public enum KnxManufacturer {
   M_SEXANKA((int) 634, (int) 691, (String) "SEXANKA"),
   M_SECURI_FLEX_LTD((int) 635, (int) 692, (String) "Securi-Flex Ltd"),
   M_BOKE((int) 636, (int) 693, (String) "BOKE"),
-  M_SBR_SMART_CONTROL((int) 637, (int) 695, (String) "SBR Smart Control"),
-  M_ABB___RESERVED((int) 638, (int) 43954, (String) "ABB - reserved"),
+  M_SBR_SYSTEM_TECHNICAL((int) 637, (int) 695, (String) "SBR System Technical"),
+  M_SHENZHEN_EASTKAME_TECHNOLOGY_CO___LTD_(
+      (int) 638, (int) 696, (String) "Shenzhen EastKame Technology Co., Ltd."),
+  M_BOLATU((int) 639, (int) 697, (String) "BOLATU"),
+  M_RECBER_KABLO_A_S_((int) 640, (int) 698, (String) "RECBER KABLO A.S."),
+  M_ABB___RESERVED((int) 641, (int) 43954, (String) "ABB - reserved"),
   M_BUSCH_JAEGER_ELEKTRO___RESERVED(
-      (int) 639, (int) 43959, (String) "Busch-Jaeger Elektro - reserved");
+      (int) 642, (int) 43959, (String) "Busch-Jaeger Elektro - reserved");
   private static final Map<Integer, KnxManufacturer> map;
 
   static {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/pom.xml
index 142c1a9bc9..7b7d5afa78 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/pom.xml
@@ -33,7 +33,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: branding :: Merlot branding</name>
+    <name>PLC4J: Merlot :: branding :: Merlot branding</name>
     <description>org.apache.plc4x.merlot.branding OSGi bundle project.</description>
 
     <properties>
@@ -61,9 +61,14 @@
                     <instructions>
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Bundle-Version>${project.version}</Bundle-Version>
+                        <!--
                         <Bundle-Activator>org.apache.plc4x.merlot.branding.Activator</Bundle-Activator>
                         <Export-Package>org.apache.plc4x.merlot.branding*;version=${project.version}</Export-Package>
+                         -->
+                        <Export-Package>org.apache.karaf.branding*</Export-Package>
+                        <Spring-Context>*;publish-context:=false</Spring-Context>                         
                         <Import-Package>*</Import-Package>
+                        <Private-Package>!*</Private-Package>                        
                     </instructions>
                 </configuration>
             </plugin>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/src/main/org/apache/karaf/branding/branding-ssh.properties b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/src/main/resources/org/apache/karaf/branding/branding-ssh.properties
similarity index 100%
rename from plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/src/main/org/apache/karaf/branding/branding-ssh.properties
rename to plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/src/main/resources/org/apache/karaf/branding/branding-ssh.properties
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/src/main/org/apache/karaf/branding/branding.properties b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/src/main/resources/org/apache/karaf/branding/branding.properties
similarity index 100%
rename from plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/src/main/org/apache/karaf/branding/branding.properties
rename to plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.branding/src/main/resources/org/apache/karaf/branding/branding.properties
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/pom.xml
index 39b53f5c46..1e1eb98008 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/pom.xml
@@ -31,7 +31,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: api :: OSGi Device access</name>
+    <name>PLC4J: Merlot :: api :: OSGi Device access</name>
     <description>org.apache.plc4x.merlot.das.api OSGi blueprint bundle project.</description>
 
     <build>
@@ -72,11 +72,6 @@
             <artifactId>plc4j-api</artifactId>
             <version>0.11.0-SNAPSHOT</version>
         </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>${osgi.core.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>osgi.cmpn</artifactId>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/ByteBasedDriver.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/ByteBasedDriver.java
index d60dd50b7c..f27180bddc 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/ByteBasedDriver.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/ByteBasedDriver.java
@@ -1,30 +1,26 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.api;
 
 import io.netty.buffer.ByteBuf;
 
-/**
- * @author cgarcia
- *
- */
+
 public interface ByteBasedDriver  extends Driver{
 	
 	//Administrative
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Device.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Device.java
index 2d395675dc..77b0785a32 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Device.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Device.java
@@ -1,28 +1,28 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.api;
 
 import java.util.List;
 import java.util.function.Consumer;
 import org.apache.plc4x.java.api.messages.PlcSubscriptionEvent;
 
+
 public interface Device extends org.osgi.service.device.Device {
 	
 	public void init() throws Exception;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Driver.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Driver.java
index 46b46807af..9873fce209 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Driver.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Driver.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.api;
 
 import org.apache.plc4x.merlot.das.core.Merlot;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/DriverCallback.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/DriverCallback.java
index 800a7b4b0a..3e14acaa70 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/DriverCallback.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/DriverCallback.java
@@ -1,24 +1,24 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.api;
 
+
 public interface DriverCallback {
 	
 	public void execute(DriverEvent cb);
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/DriverEvent.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/DriverEvent.java
index ce17192a7a..14a436bbd4 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/DriverEvent.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/DriverEvent.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.api;
 
 import org.apache.plc4x.merlot.das.core.Merlot.FUNCTION;
@@ -26,6 +25,7 @@ import org.apache.plc4x.java.api.messages.PlcReadResponse;
 import org.apache.plc4x.java.api.messages.PlcWriteRequest;
 import org.apache.plc4x.java.api.messages.PlcWriteResponse;
 
+
 public interface DriverEvent {
 	
     public void setSequence(long Sequence);
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/MessageBasedDriver.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/MessageBasedDriver.java
index a27364cddd..83c520ce1d 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/MessageBasedDriver.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/MessageBasedDriver.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.api;
 
 public interface MessageBasedDriver extends Driver{
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Optimizer.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Optimizer.java
index 0d53928899..2742262249 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Optimizer.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/Optimizer.java
@@ -1,28 +1,24 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-package org.apache.plc4x.merlot.das.api;
-
-/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * @author cgarcia
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
+package org.apache.plc4x.merlot.das.api;
+
+
 public interface Optimizer {
     
     public void init() throws Exception;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/TagBasedDriver.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/TagBasedDriver.java
index ec83ab5c70..76d7d8f833 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/TagBasedDriver.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/api/TagBasedDriver.java
@@ -1,28 +1,24 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-package org.apache.plc4x.merlot.das.api;
-
-/**
- * @author cgarcia
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
+package org.apache.plc4x.merlot.das.api;
+
+
 public interface TagBasedDriver extends Driver{
 
 }
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/core/Merlot.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/core/Merlot.java
index 0ab226aa62..1b4ff8c4ea 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/core/Merlot.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/core/Merlot.java
@@ -1,27 +1,27 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.core;
 
 import java.util.HashMap;
 import java.util.Map;
 
+
 public class Merlot {
    
    
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverEventFactoryImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverEventFactoryImpl.java
index 779d1d63ab..820e380a07 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverEventFactoryImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverEventFactoryImpl.java
@@ -1,24 +1,24 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.impl;
 
+
 public class DriverEventFactoryImpl {
 
 }
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverEventImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverEventImpl.java
index d341330b09..55d2f3a5a8 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverEventImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverEventImpl.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.impl;
 
 import org.apache.plc4x.merlot.das.api.DriverCallback;
@@ -29,6 +28,7 @@ import org.apache.plc4x.java.api.messages.PlcReadResponse;
 import org.apache.plc4x.java.api.messages.PlcWriteRequest;
 import org.apache.plc4x.java.api.messages.PlcWriteResponse;
 
+
 public class DriverEventImpl implements DriverEvent {
 
     private int TransactionID = 0;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverSessionFactoryImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverSessionFactoryImpl.java
index 6dfc2c87ef..353363a730 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverSessionFactoryImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverSessionFactoryImpl.java
@@ -1,23 +1,24 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.impl;
 
+
 public class DriverSessionFactoryImpl {
 
 }
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverThreadFactoryImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverThreadFactoryImpl.java
index 9635c03288..e01306bf78 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverThreadFactoryImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.api/src/main/java/org/apache/plc4x/merlot/das/impl/DriverThreadFactoryImpl.java
@@ -1,26 +1,26 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.impl;
 
 import java.util.concurrent.ThreadFactory;
 
+
 public class DriverThreadFactoryImpl implements ThreadFactory {
 
 	@Override
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/pom.xml
index a75d0472fb..1c226db2ac 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/pom.xml
@@ -31,11 +31,11 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: base :: Driver &amp; Wrapper implementation</name>
+    <name>PLC4J: Merlot :: base :: Driver &amp; Wrapper implementation</name>
     <description>org.apache.plc4x.merlot.das.base OSGi blueprint bundle project.</description>
 
     <build>
-        <plugins>
+        <plugins>        
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
@@ -62,11 +62,6 @@
         </plugins>
     </build>
     <dependencies>
-        <dependency>
-            <groupId>org.apache.plc4x.merlot.das.api</groupId>
-            <artifactId>org.apache.plc4x.merlot.das.api</artifactId>
-            <version>0.11.0-SNAPSHOT</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.core</artifactId>
@@ -76,11 +71,52 @@
             <groupId>org.apache.plc4x.merlot.scheduler</groupId>
             <artifactId>org.apache.plc4x.merlot.scheduler</artifactId>
             <version>0.11.0-SNAPSHOT</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>osgi.cmpn</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.epics</groupId>
             <artifactId>epics-pvdata</artifactId>
             <version>${epics.pvdata.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>6.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-buffer</artifactId>
+            <version>${netty.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.lmax</groupId>
+            <artifactId>disruptor</artifactId>
+            <version>${disruptor.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.12.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi.cmpn</artifactId>
+            <version>${osgi.cmpn.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.plc4x.merlot.das.api</groupId>
+            <artifactId>org.apache.plc4x.merlot.das.api</artifactId>
+            <version>0.11.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.plc4x</groupId>
+            <artifactId>plc4j-api</artifactId>
+            <version>0.11.0-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 </project>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDevice.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDevice.java
index ad0542e856..bdfc76e738 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDevice.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDevice.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.api;
 
 import org.apache.plc4x.merlot.das.api.Device;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDeviceEvent.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDeviceEvent.java
index ec18ad80c2..5eddc4b258 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDeviceEvent.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDeviceEvent.java
@@ -1,25 +1,24 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.api;
 
+
 public interface BaseDeviceEvent {
 	
 	public void setID(long id); 
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDeviceFactory.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDeviceFactory.java
index 30625fe7a3..82c13b9948 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDeviceFactory.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDeviceFactory.java
@@ -1,28 +1,24 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-package org.apache.plc4x.merlot.das.base.api;
-
-/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * @author cgarcia
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
+package org.apache.plc4x.merlot.das.base.api;
+
+
 public interface BaseDeviceFactory {
     
     public BaseDevice create(String serial, String url, String description);
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDriver.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDriver.java
index 491b2328ae..277786aff3 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDriver.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDriver.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.api;
 
 import org.apache.plc4x.merlot.das.api.Driver;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDriverMBean.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDriverMBean.java
index 667b1de457..6ebb2acd2d 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDriverMBean.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseDriverMBean.java
@@ -1,16 +1,26 @@
 /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.plc4x.merlot.das.base.api;
 
 import java.time.LocalDateTime;
 
-/**
- *
- * @author cgarcia
- */
+
 public interface BaseDriverMBean {
     
     public void init() throws Exception;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseOptimizer.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseOptimizer.java
index 0f570d7658..7a3215427c 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseOptimizer.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/api/BaseOptimizer.java
@@ -1,31 +1,27 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.api;
 
 import org.apache.plc4x.merlot.das.api.DriverCallback;
 import org.apache.plc4x.merlot.das.api.Optimizer;
 
-/**
- *
- * @author cgarcia
- */
+
 public interface BaseOptimizer extends Optimizer, DriverCallback {
     
 }
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseDriverCommand.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseDriverCommand.java
index a0c9340ebd..0ac4a11fdc 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseDriverCommand.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseDriverCommand.java
@@ -1,34 +1,31 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.command;
 
 import org.apache.karaf.shell.api.action.Action;
-
-
 import org.apache.karaf.shell.api.action.Command;
 import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 import org.osgi.framework.BundleContext;
-
 import org.apache.plc4x.merlot.das.base.api.BaseDriver;
 
+
 @Command(scope = "basic", name = "test", description = "Command for test.")
 @Service
 public class BaseDriverCommand implements Action {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BasePLCStatusCommand.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BasePLCStatusCommand.java
index 303d3d0857..417345a7bc 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BasePLCStatusCommand.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BasePLCStatusCommand.java
@@ -1,32 +1,28 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.command;
 
 import org.apache.karaf.shell.api.action.Action;
 import org.apache.karaf.shell.api.action.Command;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 
-/**
- *
- * @author cgarcia
- */
+
 @Command(scope = "basic", name = "status", description = "Read status of PLC.")
 @Service
 public class BasePLCStatusCommand implements Action  {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseReadCommand.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseReadCommand.java
index a81470a027..e3d52d5019 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseReadCommand.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseReadCommand.java
@@ -1,32 +1,28 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.command;
 
 import org.apache.karaf.shell.api.action.Action;
 import org.apache.karaf.shell.api.action.Command;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 
-/**
- *
- * @author cgarcia
- */
+
 @Command(scope = "basic", name = "read", description = "Read a list of fields from PLC.")
 @Service
 public class BaseReadCommand implements Action  {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseWriteCommand.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseWriteCommand.java
index 42254e60bf..9383668c4c 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseWriteCommand.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/command/BaseWriteCommand.java
@@ -1,32 +1,28 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.command;
 
 import org.apache.karaf.shell.api.action.Action;
 import org.apache.karaf.shell.api.action.Command;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 
-/**
- *
- * @author cgarcia
- */
+
 @Command(scope = "basic", name = "write", description = "Write one field to the PLC.")
 @Service
 public class BaseWriteCommand implements Action  {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDeviceEventHandler.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDeviceEventHandler.java
index a3494754a7..28a2a614c9 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDeviceEventHandler.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDeviceEventHandler.java
@@ -1,27 +1,27 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.core;
 
 import org.apache.plc4x.merlot.das.api.DriverEvent;
 import com.lmax.disruptor.EventHandler;
 
+
 public class BaseDeviceEventHandler implements EventHandler<DriverEvent> {
 
 	@Override
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDeviceManagedService.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDeviceManagedService.java
index 14fb15392a..bc6a51acd6 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDeviceManagedService.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDeviceManagedService.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.core;
 
 import org.apache.plc4x.merlot.das.base.api.BaseDevice;
@@ -40,10 +39,7 @@ import org.osgi.service.device.Device;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- *
- * @author cgarcia
- */
+
 public class BaseDeviceManagedService implements ManagedServiceFactory, Job {
     
     private static final Logger LOGGER = LoggerFactory.getLogger(BaseDeviceManagedService.class);     
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDriverEvent.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDriverEvent.java
index f926c32ed7..5c327ef75f 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDriverEvent.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/core/BaseDriverEvent.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.core;
 
 import org.apache.plc4x.merlot.das.api.DriverCallback;
@@ -24,13 +23,12 @@ import org.apache.plc4x.merlot.das.api.DriverEvent;
 import org.apache.plc4x.merlot.das.core.Merlot.FUNCTION;
 import com.lmax.disruptor.EventFactory;
 import io.netty.buffer.ByteBuf;
-//import lombok.Data;
 import org.apache.plc4x.java.api.messages.PlcReadRequest;
 import org.apache.plc4x.java.api.messages.PlcReadResponse;
 import org.apache.plc4x.java.api.messages.PlcWriteRequest;
 import org.apache.plc4x.java.api.messages.PlcWriteResponse;
 
-//@Data
+
 public class BaseDriverEvent implements DriverEvent {
 
     long Sequence = 0;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDasDriverImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDasDriverImpl.java
index f8231b7488..17f3c98e55 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDasDriverImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDasDriverImpl.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.impl;
 
 import org.apache.plc4x.merlot.das.base.api.BaseDevice;
@@ -33,10 +32,7 @@ import org.osgi.service.device.Driver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- *
- * @author cgarcia
- */
+
 public class BaseDasDriverImpl implements Driver {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(BaseDasDriverImpl.class);    
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDeviceImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDeviceImpl.java
index 3ea24c4495..cd9bef3caf 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDeviceImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDeviceImpl.java
@@ -1,25 +1,23 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.impl;
 
-
 import org.apache.plc4x.merlot.das.api.Driver;
 import org.apache.plc4x.merlot.das.api.DriverCallback;
 import org.apache.plc4x.merlot.das.api.DriverEvent;
@@ -41,6 +39,7 @@ import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 public class BaseDeviceImpl implements BaseDevice, DriverCallback  {
 	
     private static final Logger LOGGER = LoggerFactory.getLogger(BaseDeviceImpl.class);
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDriverImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDriverImpl.java
index e1c51226f8..98091aec24 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDriverImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDriverImpl.java
@@ -1,22 +1,21 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.impl;
 
 import org.apache.plc4x.merlot.das.api.Device;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDriverMBeanImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDriverMBeanImpl.java
index 0d75bf0fa3..b08ef05bf3 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDriverMBeanImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseDriverMBeanImpl.java
@@ -1,7 +1,20 @@
 /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.plc4x.merlot.das.base.impl;
 
@@ -11,10 +24,7 @@ import java.time.LocalDateTime;
 import javax.management.NotCompliantMBeanException;
 import javax.management.StandardMBean;
 
-/**
- *
- * @author cgarcia
- */
+
 public class BaseDriverMBeanImpl extends StandardMBean implements BaseDriverMBean {
 
     private final BaseDriver driver;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseOptimizerImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseOptimizerImpl.java
index 78e82aba67..02d611dbbd 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseOptimizerImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das.base/src/main/java/org/apache/plc4x/merlot/das/base/impl/BaseOptimizerImpl.java
@@ -1,32 +1,28 @@
 /*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.plc4x.merlot.das.base.impl;
 
 import org.apache.plc4x.merlot.das.api.Driver;
 import org.apache.plc4x.merlot.das.api.DriverEvent;
 import org.apache.plc4x.merlot.das.base.api.BaseOptimizer;
 
-/**
- *
- * @author cgarcia
- */
+
 public class BaseOptimizerImpl implements BaseOptimizer {
 
 
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das/pom.xml
index 7ffa94a596..af96dbb62d 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.das/pom.xml
@@ -32,7 +32,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: das :: Device access service</name>
+    <name>PLC4J: Merlot :: das :: Device access service</name>
     <description>org.apache.plc4x.merlot.das OSGi blueprint bundle project.</description>
 
     <build>
@@ -65,19 +65,19 @@
     </build>
     <dependencies>
         <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>${osgi.core.version}</version>
+            <groupId>org.apache.karaf.shell</groupId>
+            <artifactId>org.apache.karaf.shell.core</artifactId>
+            <version>${karaf.version}</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
-            <version>${osgi.cmpn.version}</version>
+            <artifactId>osgi.core</artifactId>
+            <version>${osgi.core.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.karaf.shell</groupId>
-            <artifactId>org.apache.karaf.shell.core</artifactId>
-            <version>${karaf.version}</version>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.device</artifactId>
+            <version>${osgi.device.version}</version>
         </dependency>
     </dependencies>
 </project>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.db/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.db/pom.xml
index 547eee6b3e..a76a046557 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.db/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.db/pom.xml
@@ -31,7 +31,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: db :: Simple database</name>
+    <name>PLC4J: Merlot :: db :: Simple database</name>
     <description>org.apache.plc4x.merlot.db OSGi blueprint bundle project.</description>
 
     <build>
@@ -62,11 +62,6 @@
         </plugins>
     </build>
     <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>${osgi.core.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>osgi.cmpn</artifactId>
@@ -86,6 +81,20 @@
             <groupId>org.epics</groupId>
             <artifactId>epics-pvdatabase</artifactId>
             <version>${epics.pvdatabase.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.epics</groupId>
+                    <artifactId>epics-pvdata</artifactId>
+                </exclusion> 
+                <exclusion>
+                    <groupId>org.epics</groupId>
+                    <artifactId>epics-pvaccess</artifactId>
+                </exclusion>                               
+                <exclusion>
+                    <groupId>org.epics</groupId>
+                    <artifactId>epics-pvaclient</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
@@ -102,11 +111,6 @@
             <artifactId>org.apache.plc4x.merlot.scheduler</artifactId>
             <version>0.11.0-SNAPSHOT</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.plc4x.merlot.das</groupId>
-            <artifactId>org.apache.plc4x.merlot.das</artifactId>
-            <version>0.11.0-SNAPSHOT</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.plc4x.merlot.das.api</groupId>
             <artifactId>org.apache.plc4x.merlot.das.api</artifactId>
@@ -117,5 +121,15 @@
             <artifactId>org.apache.plc4x.merlot.das.base</artifactId>
             <version>0.11.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>org.epics</groupId>
+            <artifactId>epics-pvaccess</artifactId>
+            <version>${epics.pvaccess.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>6.0.0</version>
+        </dependency>
     </dependencies>
 </project>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.db/src/main/java/org/apache/plc4x/merlot/db/api/DBCollector.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.db/src/main/java/org/apache/plc4x/merlot/db/api/DBCollector.java
index f613de6593..27c156aab1 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.db/src/main/java/org/apache/plc4x/merlot/db/api/DBCollector.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.db/src/main/java/org/apache/plc4x/merlot/db/api/DBCollector.java
@@ -23,10 +23,7 @@ import org.apache.plc4x.merlot.scheduler.api.Job;
 import java.util.Collection;
 import org.epics.pvdatabase.PVRecord;
 
-/**
- *
- * @author cgarcia
- */
+
 public interface DBCollector extends Job, DriverCallback {
     void attach(Collection<PVRecord> pvRecords);    
     void detach(Collection<PVRecord> pvRecords);        
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/nb-configuration.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/nb-configuration.xml
deleted file mode 100644
index d85a5cdb8e..0000000000
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/nb-configuration.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-shared-configuration>
-    <!--
-This file contains additional configuration written by modules in the NetBeans IDE.
-The configuration is intended to be shared among all the users of project and
-therefore it is assumed to be part of version control checkout.
-Without this configuration present, some functionality in the IDE may be limited or fail altogether.
--->
-    <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
-        <!--
-Properties that influence various parts of the IDE, especially code formatting and the like. 
-You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
-That way multiple projects can share the same settings (useful for formatting rules for example).
-Any value defined here will override the pom.xml file value but is only applicable to the current project.
--->
-        <com-github-philippefichet-sonarlint4netbeans.excludedRules>[{"repository":"php","rule":"S3335"},{"repository":"php","rule":"S3336"},{"repository":"php","rule":"S2002"},{"repository":"php","rule":"S2005"},{"repository":"php","rule":"S3333"},{"repository":"php","rule":"S3334"},{"repository":"Web","rule":"ImgWithoutWidthOrHeightCheck"},{"repository":"php","rule":"S1151"},{"repository":"php","rule":"S3332"},{"repository":"php","rule":"S2001"},{"repository":"Web","rule":"UnclosedTagC [...]
-    </properties>
-</project-shared-configuration>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/pom.xml
index 874a344c97..9dda178e34 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/pom.xml
@@ -31,7 +31,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>feature</packaging>
 
-    <name>Merlot :: features :: Features required</name>
+    <name>PLC4J: Merlot :: features :: Features required</name>
     <description>org.apache.plc4x.merlot.features details</description>
 
     <build>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/src/main/feature/feature.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/src/main/feature/feature.xml
index 9b0f399bb1..0b31ee078d 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/src/main/feature/feature.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.features/src/main/feature/feature.xml
@@ -21,6 +21,9 @@
     <feature name='${project.artifactId}' description='${project.name}' version='${project.version}'>
         <details>${project.description}</details>
         <!-- <config>foo=bar</config> -->
+        <!-- Karaf branding bundle -->
+        <bundle start-level="10">wrap:mvn:org.apache.plc4x.merlot.branding/org.apache.plc4x.merlot.branding/${project.version}/$Bundle-SymbolicName=plc4x-branding&amp;Bundle-Version=${project.version}&amp;Export-Package=*;version=&quot;${project.version}&quot;,!*</bundle>
+        
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.dev/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.dev/pom.xml
index c591fc7104..31e910460b 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.dev/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.dev/pom.xml
@@ -31,7 +31,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: mb :: Modbus device implementation</name>
+    <name>PLC4J: Merlot :: mb :: Modbus device implementation</name>
     <description>org.apache.plc4x.merlot.modbus.dev OSGi blueprint bundle project.</description>
 
     <build>
@@ -77,11 +77,6 @@
             <artifactId>org.apache.karaf.shell.core</artifactId>
             <version>4.4.3</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.karaf</groupId>
-            <artifactId>org.apache.karaf.util</artifactId>
-            <version>4.4.3</version>
-        </dependency>
         <dependency>
             <groupId>org.epics</groupId>
             <artifactId>epics-pvdata</artifactId>
@@ -89,8 +84,8 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-            <version>5.0.0</version>
+            <artifactId>osgi.cmpn</artifactId>
+            <version>${osgi.cmpn.version}</version>
         </dependency>
     </dependencies>
 </project>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.sim/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.sim/pom.xml
index 37eb022f26..af3cc8e116 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.sim/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.sim/pom.xml
@@ -31,7 +31,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: mb :: Modbus value simulator</name>
+    <name>PLC4J: Merlot :: mb :: Modbus value simulator</name>
     <description>Simulation module for Modbus server. It allows simulating individual values,
 or generating noise in a range.</description>
 
@@ -68,11 +68,6 @@ or generating noise in a range.</description>
             <artifactId>org.apache.karaf.shell.core</artifactId>
             <version>${karaf.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>${osgi.core.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>osgi.cmpn</artifactId>
@@ -87,11 +82,32 @@ or generating noise in a range.</description>
             <groupId>org.apache.plc4x.merlot.modbus.dev</groupId>
             <artifactId>org.apache.plc4x.merlot.modbus.dev</artifactId>
             <version>0.11.0-SNAPSHOT</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.compendium</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.fathzer</groupId>
             <artifactId>javaluator</artifactId>
             <version>${javaluator.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>6.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-buffer</artifactId>
+            <version>${netty.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.epics</groupId>
+            <artifactId>epics-pvdata</artifactId>
+            <version>${epics.pvdata.version}</version>
+        </dependency>
     </dependencies>
 </project>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.svr/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.svr/pom.xml
index cff6ef19e9..b28ad8bf10 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.svr/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.modbus.svr/pom.xml
@@ -31,7 +31,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: mb :: Modbus server implementation</name>
+    <name>PLC4J: Merlot :: mb :: Modbus server implementation</name>
     <description>org.apache.plc4x.merlot.modbus.svr OSGi blueprint bundle project.</description>
 
     <build>
@@ -81,6 +81,32 @@
             <groupId>org.apache.plc4x.merlot.modbus.dev</groupId>
             <artifactId>org.apache.plc4x.merlot.modbus.dev</artifactId>
             <version>0.11.0-SNAPSHOT</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.compendium</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-transport</artifactId>
+            <version>${netty.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-codec</artifactId>
+            <version>${netty.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.karaf.shell</groupId>
+            <artifactId>org.apache.karaf.shell.core</artifactId>
+            <version>${karaf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi.cmpn</artifactId>
+            <version>${osgi.cmpn.version}</version>
         </dependency>
     </dependencies>
 </project>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/pom.xml
index a5b9f60ad6..15171202a2 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/pom.xml
@@ -31,7 +31,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: scheluder :: Scheduler whiteboard (mseg)</name>
+    <name>PLC4J: Merlot :: scheluder :: Scheduler whiteboard (mseg)</name>
     <description>org.apache.plc4x.merlot.scheduler OSGi blueprint bundle project.</description>
 
     <build>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/List.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/List.java
index 539a6f2c03..b09e11bb0e 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/List.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/List.java
@@ -27,6 +27,7 @@ import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 import org.apache.karaf.shell.support.table.ShellTable;
 
+
 @Command(scope = "rt", name = "list", description = "List scheduled jobs")
 @Service
 public class List implements Action {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Reschedule.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Reschedule.java
index 85a1ab46b7..eea1e49bcb 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Reschedule.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Reschedule.java
@@ -18,7 +18,6 @@
  */
 package org.apache.plc4x.merlot.scheduler.command;
 
-
 import org.apache.plc4x.merlot.scheduler.api.ScheduleOptions;
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import org.apache.plc4x.merlot.scheduler.command.completer.JobNameCompleter;
@@ -28,6 +27,7 @@ import org.apache.karaf.shell.api.action.*;
 import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 
+
 @Command(scope = "rt", name = "reschedule", description = "Update scheduling of an existing job")
 @Service
 public class Reschedule implements Action {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/ScheduleCommand.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/ScheduleCommand.java
index 0039c1a00b..63f8952df3 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/ScheduleCommand.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/ScheduleCommand.java
@@ -18,7 +18,6 @@
  */
 package org.apache.plc4x.merlot.scheduler.command;
 
-
 import org.apache.plc4x.merlot.scheduler.api.ScheduleOptions;
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import org.apache.plc4x.merlot.scheduler.command.support.CommandJob;
@@ -32,6 +31,7 @@ import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 import org.apache.karaf.shell.api.console.Session;
 
+
 @Command(scope = "rt", name = "schedule-command", description = "Schedule a command execution")
 @Service
 public class ScheduleCommand implements Action {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/ScheduleScript.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/ScheduleScript.java
index 24470bf24c..b35714e92d 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/ScheduleScript.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/ScheduleScript.java
@@ -33,6 +33,7 @@ import org.apache.karaf.shell.api.console.Function;
 import org.apache.karaf.shell.api.console.Session;
 import org.apache.karaf.shell.api.console.SessionFactory;
 
+
 @Command(scope = "rt", name = "schedule-script", description = "Schedule a script execution")
 @Service
 public class ScheduleScript implements Action {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Trigger.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Trigger.java
index 5a573503cc..6a8f19ebe4 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Trigger.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Trigger.java
@@ -18,7 +18,6 @@
  */
 package org.apache.plc4x.merlot.scheduler.command;
 
-
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import org.apache.plc4x.merlot.scheduler.command.support.TriggerJob;
 import org.apache.karaf.shell.api.action.Action;
@@ -28,6 +27,7 @@ import org.apache.karaf.shell.api.action.Option;
 import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 
+
 @Command(scope = "rt", name = "trigger", description = "Manually trigger a scheduled job")
 @Service
 public class Trigger implements Action {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Unschedule.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Unschedule.java
index 1da11f7a4e..c2fb8b78bf 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Unschedule.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/Unschedule.java
@@ -18,7 +18,6 @@
  */
 package org.apache.plc4x.merlot.scheduler.command;
 
-
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import org.apache.plc4x.merlot.scheduler.command.completer.JobNameCompleter;
 import org.apache.karaf.shell.api.action.Action;
@@ -28,6 +27,7 @@ import org.apache.karaf.shell.api.action.Completion;
 import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 
+
 @Command(scope = "rt", name = "unschedule", description = "Unschedule a job")
 @Service
 public class Unschedule implements Action {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/completer/JobNameCompleter.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/completer/JobNameCompleter.java
index 0789e228a7..7b88bbc3cd 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/completer/JobNameCompleter.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/completer/JobNameCompleter.java
@@ -18,7 +18,6 @@
  */
 package org.apache.plc4x.merlot.scheduler.command.completer;
 
-
 import org.apache.plc4x.merlot.scheduler.api.ScheduleOptions;
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import java.util.List;
@@ -30,6 +29,7 @@ import org.apache.karaf.shell.api.console.Completer;
 import org.apache.karaf.shell.api.console.Session;
 import org.apache.karaf.shell.support.completers.StringsCompleter;
 
+
 @Service
 public class JobNameCompleter implements Completer {
 
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/CommandJob.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/CommandJob.java
index fb35b0c04b..83896c35a4 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/CommandJob.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/CommandJob.java
@@ -18,13 +18,13 @@
  */
 package org.apache.plc4x.merlot.scheduler.command.support;
 
-
 import org.apache.plc4x.merlot.scheduler.api.Job;
 import org.apache.plc4x.merlot.scheduler.api.JobContext;
 import org.apache.karaf.shell.api.console.Session;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 public class CommandJob implements Job {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ScriptJob.class);
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/ScriptJob.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/ScriptJob.java
index bef5ff4ae9..e734813be0 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/ScriptJob.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/ScriptJob.java
@@ -28,6 +28,7 @@ import org.apache.karaf.shell.api.console.SessionFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 public class ScriptJob implements Job {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ScriptJob.class);
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/TriggerJob.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/TriggerJob.java
index 12ab6305b2..2ae66a65db 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/TriggerJob.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/command/support/TriggerJob.java
@@ -18,12 +18,12 @@
  */
 package org.apache.plc4x.merlot.scheduler.command.support;
 
-
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import org.apache.plc4x.merlot.scheduler.api.SchedulerError;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 public class TriggerJob implements Runnable {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(TriggerJob.class);
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/Activator.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/Activator.java
index 8684300a42..04d1381d9e 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/Activator.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/Activator.java
@@ -18,7 +18,6 @@
  */
 package org.apache.plc4x.merlot.scheduler.core;
 
-
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import java.util.Enumeration;
 import java.util.Properties;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/InternalScheduleOptions.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/InternalScheduleOptions.java
index 5797967ff6..fa3be5de84 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/InternalScheduleOptions.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/InternalScheduleOptions.java
@@ -31,6 +31,7 @@ import org.quartz.SimpleScheduleBuilder;
 import org.quartz.Trigger;
 import org.quartz.TriggerBuilder;
 
+
 /**
  * Scheduler options provide an extensible way of defining how to schedule a job.
  * @since 2.3
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/KarafStdScheduler.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/KarafStdScheduler.java
index e4ae137cdc..d78ab37d2d 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/KarafStdScheduler.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/KarafStdScheduler.java
@@ -29,6 +29,7 @@ import org.quartz.Trigger;
 import org.quartz.TriggerKey;
 import org.quartz.impl.StdScheduler;
 
+
 public class KarafStdScheduler extends StdScheduler {
 
     private final QuartzSchedulerStorage storage;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/KarafStdSchedulerFactory.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/KarafStdSchedulerFactory.java
index 31e068d395..23d6c3f0ce 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/KarafStdSchedulerFactory.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/KarafStdSchedulerFactory.java
@@ -24,6 +24,7 @@ import org.quartz.SchedulerException;
 import org.quartz.core.QuartzSchedulerResources;
 import org.quartz.impl.StdSchedulerFactory;
 
+
 public class KarafStdSchedulerFactory extends StdSchedulerFactory {
 
     public KarafStdSchedulerFactory() {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzJobExecutor.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzJobExecutor.java
index 0d3bd25493..a2da370454 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzJobExecutor.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzJobExecutor.java
@@ -28,6 +28,7 @@ import org.quartz.JobExecutionException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 /**
  * This component is responsible to launch a {@link org.apache.karaf.scheduler.Job}
  * or {@link Runnable} in a Quartz Scheduler.
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzScheduler.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzScheduler.java
index 177973aac3..e4e6f55a05 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzScheduler.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzScheduler.java
@@ -32,6 +32,7 @@ import org.quartz.impl.matchers.GroupMatcher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 /**
  * The quartz based implementation of the scheduler.
  *
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzSchedulerStorage.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzSchedulerStorage.java
index 322b6cb83b..92472b5ae6 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzSchedulerStorage.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/QuartzSchedulerStorage.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
 
+
 public class QuartzSchedulerStorage implements SchedulerStorage {
 
     private final Map<Serializable, Object> store = new HashMap<>();
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/SchedulerMBeanImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/SchedulerMBeanImpl.java
index e94c4c5eea..aa5d503076 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/SchedulerMBeanImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/SchedulerMBeanImpl.java
@@ -18,8 +18,6 @@
  */
 package org.apache.plc4x.merlot.scheduler.core;
 
-
-
 import org.apache.plc4x.merlot.scheduler.api.ScheduleOptions;
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import org.apache.plc4x.merlot.scheduler.api.SchedulerMBean;
@@ -30,6 +28,7 @@ import javax.management.NotCompliantMBeanException;
 import javax.management.StandardMBean;
 import javax.management.openmbean.*;
 
+
 public class SchedulerMBeanImpl extends StandardMBean implements SchedulerMBean {
 
     private Scheduler scheduler;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/WhiteboardHandler.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/WhiteboardHandler.java
index 0557fd6a34..7574f30752 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/WhiteboardHandler.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/core/WhiteboardHandler.java
@@ -30,6 +30,7 @@ import org.osgi.util.tracker.ServiceTrackerCustomizer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 /**
  * The quartz based implementation of the scheduler.
  *
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/impl/SchedulerWhiteBoardImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/impl/SchedulerWhiteBoardImpl.java
index 1c1b1cbc2c..2260d5b87a 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/impl/SchedulerWhiteBoardImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.scheduler/src/main/java/org/apache/plc4x/merlot/scheduler/impl/SchedulerWhiteBoardImpl.java
@@ -18,7 +18,6 @@
  */
 package org.apache.plc4x.merlot.scheduler.impl;
 
-
 import org.apache.plc4x.merlot.scheduler.api.Scheduler;
 import org.apache.plc4x.merlot.scheduler.api.SchedulerWhiteBoard;
 import java.util.Date;
@@ -28,10 +27,7 @@ import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- *
- * @author cgarcia
- */
+
 public class SchedulerWhiteBoardImpl implements SchedulerWhiteBoard {
     
     private BundleContext bc = null;
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/pom.xml
index d4759a856e..ad01f28938 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/pom.xml
@@ -31,7 +31,7 @@
     <version>0.11.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
-    <name>Merlot :: model :: UNS</name>
+    <name>PLC4J: Merlot :: model :: UNS</name>
     <description>org.apache.plc4x.merlot.uns OSGi blueprint bundle project.</description>
 
     <build>
@@ -47,6 +47,7 @@
                         <Bundle-Version>${project.version}</Bundle-Version>
                         <Export-Package>org.apache.plc4x.merlot.uns*;version=${project.version}</Export-Package>
                         <Import-Package>*</Import-Package>
+                        <Karaf-Commands>org.apache.plc4x.merlot.uns.command*</Karaf-Commands>                         
                     </instructions>
                 </configuration>
             </plugin>
@@ -59,48 +60,119 @@
                     <maxmem>256M</maxmem>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>src/main/cfg/org.apache.plc4x.merlot.uns.cfg</file>                                   
+                                    <type>cfg</type>
+                                </artifact>                                                             
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>   
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <configuration>
+                    <!-- ignore annotations for "unused but declared" warnings -->
+                    <ignoredUnusedDeclaredDependencies>
+                        <ignoredUnusedDeclaredDependency>org.apache.karaf.shell:org.apache.karaf.shell.commands</ignoredUnusedDeclaredDependency>
+                        <ignoredUnusedDeclaredDependency>org.apache.karaf:org.apache.karaf.util</ignoredUnusedDeclaredDependency>                        
+                    </ignoredUnusedDeclaredDependencies>                    
+                </configuration>
+          </plugin>                        
         </plugins>
     </build>
     <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>6.0.0</version>
-        </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>osgi.cmpn</artifactId>
-            <version>6.0.0</version>
+            <version>${osgi.cmpn.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.config</groupId>
             <artifactId>org.apache.karaf.config.core</artifactId>
-            <version>4.4.3</version>
+            <version>${karaf.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.sling</groupId>
+                    <artifactId>org.apache.sling.commons.johnzon</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.epics</groupId>
             <artifactId>epics-pvdata</artifactId>
-            <version>6.1.8</version>
+            <version>${epics.pvdata.version}</version>
         </dependency>
         <dependency>
             <groupId>org.epics</groupId>
             <artifactId>epics-pvdatabase</artifactId>
-            <version>4.3.1</version>
+            <version>${epics.pvdatabase.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.epics</groupId>
+                    <artifactId>epics-pvdata</artifactId>
+                </exclusion>                 
+                <exclusion>
+                    <groupId>org.epics</groupId>
+                    <artifactId>epics-pvaccess</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.epics</groupId>
+                    <artifactId>epics-pvaclient</artifactId>
+                </exclusion>                
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.karaf</groupId>
             <artifactId>org.apache.karaf.util</artifactId>
-            <version>4.4.3</version>
+            <version>${karaf.version}</version>        
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.commands</artifactId>
-            <version>4.4.3</version>
+            <version>${karaf.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.sling</groupId>
+                    <artifactId>org.apache.sling.commons.johnzon</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>org.apache.felix.gogo.runtime</artifactId>
+                </exclusion>
+            </exclusions>            
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.core</artifactId>
-            <version>4.4.3</version>
+            <version>${karaf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.epics</groupId>
+            <artifactId>epics-pvaccess</artifactId>
+            <version>${epics.pvaccess.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.epics</groupId>
+            <artifactId>epics-ntypes</artifactId>
+            <version>${epics.ntypes.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>6.0.0</version>
         </dependency>
     </dependencies>
 </project>
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.apache.plc4x.merlot.model.cfg b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.apache.plc4x.merlot.uns.cfg
similarity index 99%
rename from plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.apache.plc4x.merlot.model.cfg
rename to plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.apache.plc4x.merlot.uns.cfg
index f6e1b21fca..528d754fd5 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.apache.plc4x.merlot.model.cfg
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.apache.plc4x.merlot.uns.cfg
@@ -1,4 +1,3 @@
-
 ################################################################################
 #
 #    Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.ops4j.datasource-model.cfg b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.ops4j.datasource-model.cfg
index 5315b80965..df3583db56 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.ops4j.datasource-model.cfg
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.ops4j.datasource-model.cfg
@@ -1,3 +1,28 @@
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+# Demo config file for devices.
+#
+# The configuration files have the following content: 
+#
+#
+################################################################################
+
 osgi.jdbc.driver.name=H2 JDBC Driver
 pool=dbcp2
 xa=true
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.ops4j.datasource-tf.cfg b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.ops4j.datasource-tf.cfg
index e71b049876..8996ede06f 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.ops4j.datasource-tf.cfg
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/cfg/org.ops4j.datasource-tf.cfg
@@ -1,3 +1,28 @@
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+# Demo config file for devices.
+#
+# The configuration files have the following content: 
+#
+#
+################################################################################
+
 osgi.jdbc.driver.name=H2 JDBC Driver
 pool=dbcp2
 xa=true
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/api/MyService.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/api/MyService.java
index 10e722b4bd..a5eb75688e 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/api/MyService.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/api/MyService.java
@@ -16,6 +16,7 @@
  */
 package org.apache.plc4x.merlot.uns.api;
 
+
 public interface MyService {
     
     public String echo(String message);
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/api/MyServiceImpl.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/api/MyServiceImpl.java
index 72c498e574..3c262aa647 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/api/MyServiceImpl.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/api/MyServiceImpl.java
@@ -16,6 +16,7 @@
  */
 package org.apache.plc4x.merlot.uns.api;
 
+
 public class MyServiceImpl implements MyService {
     
     public String echo(String message) {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/command/ModelDomineCommand.java b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/command/ModelDomineCommand.java
index 0ffbfab754..053857771a 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/command/ModelDomineCommand.java
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot.uns/src/main/java/org/apache/plc4x/merlot/uns/command/ModelDomineCommand.java
@@ -28,6 +28,7 @@ import org.apache.karaf.shell.api.action.lifecycle.Reference;
 import org.apache.karaf.shell.api.action.lifecycle.Service;
 import org.osgi.framework.BundleContext;
 
+
 @Command(scope = "model", name = "domine", description = "Command for test tree.")
 @Service
 public class ModelDomineCommand implements Action {
diff --git a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot/pom.xml b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot/pom.xml
index 445d961267..6d328448ba 100644
--- a/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot/pom.xml
+++ b/plc4j/integrations/plc4j-apache-karaf/org.apache.plc4x.merlot/pom.xml
@@ -20,18 +20,20 @@
 
     <modelVersion>4.0.0</modelVersion>
 
+    <!--
     <parent>
-    <artifactId>plc4j-apache-karaf</artifactId>
-    <groupId>org.apache.plc4x</groupId>
-    <version>0.11.0-SNAPSHOT</version>
-  </parent>
+        <artifactId>plc4j-apache-karaf</artifactId>
+        <groupId>org.apache.plc4x</groupId>
+        <version>0.11.0-SNAPSHOT</version>
+    </parent>
+    -->
 
     <groupId>org.apache.plc4x</groupId>
     <artifactId>org.apache.plc4x.merlot</artifactId>
     <version>0.11.0-SNAPSHOT</version>
     <packaging>karaf-assembly</packaging>
 
-    <name>Merlot :: assembly :: Karaf container assembly</name>
+    <name>PLC4J: Merlot :: assembly :: Karaf container assembly</name>
     <description>org.apache.plc4x.merlot details</description>
 
     <repositories>
@@ -76,6 +78,12 @@
             <artifactId>framework</artifactId>
             <version>4.4.3</version>
             <type>kar</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.sun.istack</groupId>
+                    <artifactId>istack-commons-runtime</artifactId>
+                </exclusion>
+            </exclusions>                
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
@@ -98,7 +106,21 @@
             <version>4.4.3</version>
             <classifier>features</classifier>
             <type>xml</type>
-            <scope>runtime</scope>
+            <scope>runtime</scope>   
+            <exclusions>
+                <exclusion>
+                    <groupId>org.hibernate</groupId>
+                    <artifactId>hibernate-osgi</artifactId>
+                </exclusion>
+            </exclusions>                   
+        </dependency>
+        <dependency>
+            <groupId>org.apache.plc4x.merlot.features</groupId>
+            <artifactId>org.apache.plc4x.merlot.features</artifactId>
+            <version>0.11.0-SNAPSHOT</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+            <scope>runtime</scope>            
         </dependency>
     </dependencies>
 
@@ -128,7 +150,7 @@
                 </plugin>
             </plugins>
         </pluginManagement>
-        <plugins>
+        <plugins>         
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-resources-plugin</artifactId>
@@ -146,15 +168,33 @@
                 <groupId>org.apache.karaf.tooling</groupId>
                 <artifactId>karaf-maven-plugin</artifactId>
                 <configuration>
+                    
+                    <libraries>
+                        <library>mvn:org.apache.plc4x.merlot.branding/org.apache.plc4x.merlot.branding/${project.version};type:=boot</library>                        
+                    </libraries>    
+                                           
                     <installedFeatures>
                         <feature>wrapper</feature>
                     </installedFeatures>
+                    
+                    <blacklistedFeatures>
+                        <feature>enterprise</feature>
+                        <feature>framework-security</feature>
+                        <feature>jetty</feature>
+                        <feature>httplite</feature>
+                        <feature>felix-httplite</feature>
+                        <feature>felix-http</feature>
+                        <feature>scheduler</feature>
+                    </blacklistedFeatures>                     
+                    
                     <!-- <startupFeatures/> -->
                     <bootFeatures>
                         <!-- standard distribution -->
-                        <feature>standard</feature>
+                        <!-- <feature>standard</feature> -->
                         <!-- minimal distribution -->
-                        <!--<feature>minimal</feature>-->
+                        <feature>minimal</feature>
+                        
+                        <feature>org.apache.plc4x.merlot.features</feature>                            
                     </bootFeatures>
                     <javase>1.8</javase>
                 </configuration>
diff --git a/pom.xml b/pom.xml
index 6dbfdaf6d5..3295e0860f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -167,13 +167,23 @@
     
     <!-- Integration version -->
     <karaf.version>4.4.3</karaf.version>
-    <osgi.core.version>6.0.0</osgi.core.version>
-    <osgi.cmpn.version>6.0.0</osgi.cmpn.version>
+    <osgi.core.version>8.0.0</osgi.core.version>
+    <osgi.cmpn.version>7.0.0</osgi.cmpn.version>
+    <osgi.device.version>1.1.0</osgi.device.version>
     <javaluator.version>3.0.3</javaluator.version>
     <disruptor.version>3.4.4</disruptor.version>
+    
+    <!-- EPICS -->
+    <epics.core.version>7.0.9</epics.core.version>
+    <epics.util.version>1.0.6</epics.util.version>
+    <epics.vtype.version>1.0.6</epics.vtype.version>  
+    <epics.vtype.all.version>1.0.6</epics.vtype.all.version>      
+    <epics.gpclient.version>1.0.7</epics.gpclient.version>   
+    <epics.ntypes.version>0.3.8</epics.ntypes.version>  
+    <epics.pvaccess.version>5.1.8</epics.pvaccess.version>  
+    <epics.pvaclient.version>4.3.2</epics.pvaclient.version>       
     <epics.pvdata.version>6.1.8</epics.pvdata.version>
-    <epics.ntypes.version>0.3.8</epics.ntypes.version>
-    <epics.pvdatabase.version>4.3.1</epics.pvdatabase.version>
+    <epics.pvdatabase.version>4.3.1</epics.pvdatabase.version>    
     
   </properties>