Multi-layer cross domain reasoning over distributed autonomous IoT applications