An IoT system is specified in terms of sensors/actuators and communication between them. However, we argue for performing upstream activities of the Systems Development Life Cycle during IoT application development. We propose the conceptual design stage followed by conversion to an IoT system and show that we need concepts for autonomy, perception, input processing, changing the external world, maintenance of historical information and communication. To handle these, we use the notion of communicative agents, COMMAGs and develop the Communicative Agent Model. We show conversion of this model into the IoT system to be.