  Application development in the Internet of Things (IoT) is challenging
because it involves dealing with issues that attribute to different life-cycle
phases. First, the application logic has to be analyzed and then separated into
a set of distributed tasks for an underlying network. Then, the tasks have to
be implemented for the specific hardware. Moreover, we take different IoT
applications and present development of these applications using IoTSuite. In
this paper, we introduce a design and implementation of ToolSuite, a suite of
tools, for reducing burden of each stage of IoT application development
process. We take different class of IoT applications, largely found in the IoT
literature, and demonstrate these IoT application development using IoTSuite.
These applications have been tested on several IoT technologies such as
Android, Raspberry PI, Arduino, and JavaSE-enabled devices, Messaging protocols
such as MQTT, CoAP, WebSocket, Server technologies such as Node.js, Relational
database such as MySQL, and Microsoft Azure Cloud services.
