This logical division of the applications development improves interlayer operability, software reusability and maintainability across the platform [7]. It also enables the developers of IoT applications to develop various applications without the need to know low-level details of the platform.