## 5 Implementation Results  
Table 1 introduces the development environment of the proposed system. The RD server, IoT device, and publishing client using the Intel Edison board for the device, and the IoT client uses the Samsung Galaxy S4 Android smartphone as the device. For the Intel Edison board, the runtime operating system (OS) is Android Things 0.2 that is built by compiling software development kit (SDK) 25 and min SDK 24. For the smartphone, the runtime OS is Android 5.0 Lollipop that is built by compile SDK 25 and min SDK 21. The development tool Android Studio 2.3.1 is used for the Android applications. For the Intel Edison board application implementation, we use IoTivity library that is compiled on Ubuntu 16.4 64 bit for Android OS on x86 CPU. For the smartphone application implementation, we use IoTivity is compiled on Ubuntu 16.4 64 bit for Android OS on armeabi central processing unit (CPU). For the RAML parser, we use RAML parser library that supports RAML version 0.8 and 1.0. Figure 9: Sequence diagram for discovering IoT device and WSP through RD server. Figure 10 shows the IoT device's RAML definition. The RAML definition illustrates the service information of the IoT device. According to the RAML definition, the IoT device provides 2 services through the resource/led and resource/temperature. The/led resource has GET and PUT handler for handling the request. The/temperature resource has GET handler for handling the request. For each handler of resources in this IoT device, the query parameters and response body are defined. The response body is defined using JavaScript object notation (JSON) format and an example also is included in this RAML definition. Figure 11 shows the HTTP service provider RAML definition. The RAML definition illustrates the service information of HTTP service provider in the Internet. According to the RAML definition, the HTTP service provider provides one service through the resource/weather. The/weather resource has a GET handler for handling the request. For the handler of a resource in this HTTP service provider, the query parameters and response body are defined. The response body is defined using JSON format and an example also is included in this RAML definition. The HTTP service provider is a \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Component** & **RD server** & **IoT Device** & **Publishing Client** & **IoT Client** \\ \hline Physical device & & Intel Edison Board & & Samsung Galaxy S4 \\ \hline Runtime OS & Android Things 0.2 (Build: compile SDK 25, min SDK 24) & Android 5.0 Lollipop (Build: compile SDK 25, min SDK 21) \\ \hline tool & & Android Studio 2.3.1 & \\ \hline Library and Frameworks & IoTivity 1.2.1(x86), raml-parser-2 1.0.13, jackson-core 2.9.0 & IoTivity 1.2.1(armeabi), jackson-core 2.9.0 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Development environment. Figure 10: IoT device RESTful API modeling language (RAML) definition. weather service provider that provides several weather-related services using open APIs. The service is described in the presented RAML definition that provides the current weather information. Once the service is accessed, the current weather information is returned to the client. The information is also described in the RAML definition. Figure 12 shows the result of IoT device registration that is captured from the loggings in the RD server. The IoT device sends the information to the RD server using OCF based on CoAP. The request uses the POST method with the payload that includes the RAML data for the information of the IoT device. The RD server is an OCF server that has the RD resource for handling the request for the registration. The OCF is implemented using the IoTvity framework; therefore, some loggings are shown in the results by the IoTvity internal functionalities. The title and information of the RAML definition are printed out in the figure. The title is the IoT service and the print outed string is the name of the RAML file that consists of the title.