Recent technological and commercial developments make cloud computing an affordable, scalable, and highly-available platform technology. Meanwhile, precision agriculture is showing its potentials by improving agricultural operations through better data-driven decision making. Nevertheless, further development of precision agriculture requires better technology and tools to process data efficiently at a reasonable cost, and to translate the data to better decisions and actions in a field. We developed a framework for cloud-based Decision Support and Automation systems that can acquire data from various sources, synthesize application-specific decisions, and control field devices from the Cloud. A distinctive feature of our framework is its extensible software architecture: decision modules can be added and/or configured for a specific operation. The platform features a device-agnostic frontend that can process incoming data in different formats and semantics. Finally, the platform incorporates software-defined control, a new software design paradigm we proposed to enable versatile and safe control of field devices from a cloud computing platform. An early version of the system has been developed and tested with support from the USDA.
Cloud computing is particularly beneficial for decision support in precision agriculture for specialty crops. First, precision agriculture in an orchard is a data-rich operation. A decision support system needs to handle a large volume of data from sensors and other sources. Cloud computing provides scalability necessary for handling these data in real time. Second, the demand for decision support fluctuates greatly on- and off-seasons. Through resource provisioning , cloud computing can change quickly the number of server instances and other resources, based on the demand. Finally, agriculture decision support systems are increasingly hosted on Internet, to take advantage of internet-connected devices (Internet of things) and to build an online community. A cloud service provider handles the complexity of running hardware and maintaining middleware for enhanced availability and security. This leaves developers to focusing on the logics of a web-based decision support system.
Moving towards cloud-based decision support presents opportunities as well as new challenges. First, precision agriculture uses a variety of sensors and data sources, each of which may have its own data format and semantics. A cloud-based decision support system needs to handle a diversified profile of data types and formats; second, traditionally a decision support system is application-specific. A farmer may need to access different systems for a specific application (e.g. irrigation, fertilization, etc). To provide a streamlined user experience, a cloud-based decision support system shall be able to be extended and configured for different applications; and finally, recent development of Internet of Things (IoT) links field devices through Internet. To capitalize the progress in IoT, a future decision support system is expected to control field device safely from the cloud.
In this paper we discuss our framework for cloud-based decision support and automation systems (DSAS), and our experience of implementing it in Agrilaxy, a DSAS we developed from ground up to take advantage of the scalability and availability of a cloud computing platform. We developed new techniques to address the design challenges faced by a cloud-based DSAS. The rest of the paper will be organized as follows: Section 2 gives an overview of our framework. In Section 3 we discuss its device-agnostic data importation frontend, which works with different data sources with custom-defined data format and semantics. In Section 4 we discuss its extensible software architecture for decision modules. In Section 5 we introduce Software-Defined Control paradigm, a new software design paradigm for controlling physical devices in a field from the cloud. Section 6 discusses the current implementation of Agrilaxy, Finally, Section 7 concludes this paper.
2. System overview
Figure 1 shows the overview of our framework for cloud-based DSASs. It has a device-agnostic data importation frontend. The front end uses data models to define the formats and semantics of input data sets. The details of a data model are given in Section 2. Its decision modules are developed with an extensible software architecture, featuring a hierarchical modular design. A module, referred to as a web app in the DSAS, is characterized by its interfaces. A new web app can be added to decision module hierarchy on-the-fly, or used to replace an existing module with a compatible interface. The details of our extensible software architecture are introduced in Section 3. In Section 4, we introduce Software-Defined Control, a new software design paradigm for managing the complexity of controlling a diversified profile of devices. Software-defined control virtualizes physical devices through layers of abstraction. Each layer abstracts the implementation details of the layer underneath, while providing a uniform control interface to the layer above.