-
Notifications
You must be signed in to change notification settings - Fork 3
Command Line Interface: Application Development Using IoTSuite
The application development using IoTSuite involves an application development process to follow. It involves writing high-level specifications (i.e., domain specification, architecture specification, user interaction specification, deployment specification), compilation of these specifications that results into programming frameworks (i.e., domain framework, architecture framework, User interface framework), and writing code on top of these frameworks at different stages of the application development process.
IoTSuite is depended on some external library. So, Before downloading ToolSuite, users have to set-up. See [set up guide] (https://github.com/pankeshlinux/IoTSuite/wiki/Set-up:-Command-line-version-of--IoTSuite-in-Eclipse)
Application development using IoTSuite involves the following steps:
This stage involves the following steps:
-
Create
vocab.mydslfile. -
Write domain specification in
vocab.mydslfile. (Examples are availableIoTSuite\Examples)
- Copy the
vocab.mydslfile intoSpecfolder. You can find this folder in the directory where you putIoTSuiteproject. For instance, If you copy IoTSuite project inD:/IoTSuite, you have to copyvocab.mydslfile into theD:/IoTSuite/Spec/path.
This stage involves the invoking IoTSuite from the command-line interface. The command involves two arguments: (1) Activity name (in our case - compile-vocab-spec) (2) a path where you want to generates output. (for instance, C:\IoTSuite-Template\)
In Eclipse, you can invoke IoTSuite in the following way:
- Go to
RunMenu >Run Configurationoption > PressArgumentTab - Write the following two line command in the
Argumenttab, as shown in the following image.

This stage involves the following steps:
-
Create
arch.mydslfile. -
Write architecture specification in the
arch.mydslfile. (Examples are availableIoTSuite\Examples)
- Copy the
arch.mydslfile into "Spec" folder. You can find this folder in the directory where you putIoTSuiteproject. For instance, If you copy IoTSuite project inD:/IoTSuite, you have to copyarch.mydslfile into theD:/IoTSuite/Spec/path.
This stage involves the invoking IoTSuite from the command-line interface. The command involves two arguments: (1) Activity name (in our case - compile-arch-spec) (2) a path where you want to generates output. (for instance, D:\IoTSuite-Template\)
In Eclipse, you can invoke IoTSuite in the following way:
- Go to
RunMenu >Run Configurationoption > PressArgumentTab - Write the following two line command in the
Argumenttab, as shown in the following image.

The compilation of the architecture specification generates an "architecture framework" in the ApplicationLogic folder, which can be found in the IoTSuite-Template folder. To implement the application logic, a developer has to follow the following steps:
-
Import
ApplicationLogicfolder into Eclipse IDE ( File > Import > Existing Projects into Workspace > Select root directory > Press Browse button > Provide path ofApplicationLogicfolder (in our case, it can be found in C:\IoTSuite-Template\ApplicationLogic) > Finish ). -
Open
Logicpackage of theApplicationLogicfolder. -
Write application logic in each generated files
The following image shows the imported ApplicationLogic folder into EclipseIDE and a place, where application developer writes application logic.

-
Create
userinteraction.mydslfile. -
Write architecture specification in the
userinteraction.mydslfile. (Examples are availableIoTSuite\Examples) -
Copy the
userinteraction.mydslfile into "Spec" folder. You can find this folder in the directory where you putIoTSuiteproject. For instance, If you copy IoTSuite project inD:/IoTSuite, you have to copyuserinteraction.mydslfile into theD:/IoTSuite/Spec/path.
This stage involves the invoking IoTSuite from the command-line interface. The command involves two arguments: (1) Activity name (in our case - compile-interaction-spec) (2) a path where you want to generates output. (for instance, D:\Template\)
In Eclipse, you can invoke IoTSuite in the following way:
- Go to
RunMenu >Run Configurationoption > PressArgumentTab - Write the following two line command in the
Argumenttab, as shown in the above image domain and architecture specification.
-
Create
deploy.mydslfile. -
Write deployment specification in the
deploy.mydslfile. (Examples are availableIoTSuite\Examples) -
Copy the
deploy.mydslfile into "Spec" folder. You can find this folder in the directory where you putIoTSuiteproject. For instance, If you copy IoTSuite project inD:/IoTSuite, you have to copyuserinteraction.mydslfile into theD:/IoTSuite/Spec/path.
This stage involves the invoking IoTSuite from the command-line interface. The command involves two arguments: (1) Activity name (in our case - compile-deploy-spec) (2) a path where you want to generates output. (for instance, D:\IoTSuite-Template\)
In Eclipse, you can invoke IoTSuite in the following way:
- Go to
RunMenu >Run Configurationoption > PressArgumentTab - Write the following two line command in the
Argumenttab, as shown in the above image domain and architecture specification.
The compilation of the target deployment generates projects in to CodeForDeployment folder, which can be found in the D:\IoTSuite-Template folder. The following figure shows the content of CodeForDeployment folder, which can be deployed to devices. In order to write user interface code, we have to locate an appropriate user interface project (E.g., AndroidD3). Then, we specify we interface code on top of generated user interface framework.

The output of the IoTSuite is a set of platform-specific projects for devices, specified in the deployment specification. These projects are not binaries. They need to be compiled, which can be done by any device-specific compiler designed for the target platform.