Abstract
Edge computing is the concept where the computation is handled at edge-devices. The transfer of the computation from servers to edge-devices will decrease the massive amount of data transfer generated by edge-devices. There are several efficient management tools for setup and connection purposes, but these management tools cannot provide a unified programming system from a single source code/project. Even though it is possible to control each device efficiently, a global view of the computation is missing in a programming project that includes several edge-devices for computation and data analysis purposes, and the devices need to be programmed individually. A generic workflow engine might automate part of the problem using standard interfaces and predefined objects running on edge-devices. Nevertheless, the approach fails in fine-tuning each edge-device since the computation cannot be moved easily among devices. This paper introduces a new compiler architecture to control and program edge-devices from a single source code. The source code can be distributed to multiple edge-devices using simple compiler directives, and the transfer and communication of the source code with multiple devices are handled transparently. Fine-tuning the source code and code movement between devices becomes very efficient in editing and time. The proposed architecture is a lightweight system with fine-tuned computation and distribution among devices.