we can simulate model or source code of IoT systems to test many of these operations. Existing simulation techniques can either perform model-based or code-based simulation one at a time. In this approach, already developed model cannot be utilized for code-based simulation and vice-versa. Also most of the existing simulation techniques work in central isolated environment.In this paper, we propose a ZeroMQ-based [3] framework for simulating distributed components to mitigate the aforementioned problems. The framework enables a component of a system to communicate with other components of the system to simulate through ZeroMQ-based message broker. The proposed structure is able to perform cooperative simulation among model and code components, which makes it possible to incrementally implement the system. This paper is structured as follows. Section II provides related work and Section III provides the structure of framework to cooperatively simulate model and code. For providing feasibility of our approach, in Section IV, case study is presented and Section V provides conclusion.
II. RELATED WORK
A. Host-Based TestingUnlike general software which is developed in target machine environment, embedded software is developed in host environment and is usually tested in the same environment [4]. Simulation is usually performed in the host environment that is not a target machine but PC or VP (Virtual Prototype) [5]. IoT system [1] possess the same problems faced by embedded distributed environment. Some parts of the system must be tested in target environment whereas other parts can be tested in the host environment because the host environment is clearly different from the target machine environment. In this paper, the proposed framework performs simulation in host environment in which independent simulation of each components represents unit testing whereas simulation of multiple components represents integration testing.
B. Model-Based SimulationIt is not difficult to simulate a model which does not interact with other components. But in IoT environment, most systems have not only several abstract levels but also several distributed applications which interact among themselves [6].These distributed models are defined as sub-models and these sub-models may be parts of one model which impose the object-oriented concept. Model components communicate with each other only through specified message. In this Abstract-Recently, the scale of distributed computing environment is growing larger. One of the reasons is development of IoT environment which directly impacts the human life by providing instant access to vast amount of information and services correspond to healthcare, smart home service, etc. Interaction testing among distributed systems such as IoT systems is non-trivial task, also cooperative simulation of both model and code components is more difficult one. Model-based and code-based simulation techniques are widely used to test embedded systems. Usually code-based simulation is possible when all the modu...