The Internet of Things (IoT) describes physical objects or subsystems enhanced by sensors, actuators, transducers, softwares, communication interfaces, and data exchange mechanisms among peers over the Internet. It has emerged as a critical component of modern distributed systems. The concept of “things” has a broad definition that includes any physical object in the real world such as a lightbulb, a cellphone, a refrigerator, a desktop computer, a Nano device, and something as large as a supercomputer, or even a smart city. Self-awareness and machine intelligence are essential to cope with the increasing complexity of IoT and extend IoT to handle complex systems. Our paper introduces a novel concept of autonomous IoTs, referred to as the “Internet of Smart Things (IoST)” that incorporates autonomic computing functions and embedded Knowledge Engine (KE) for self-awareness and autonomy in responding to dynamic changes. The KE is an embedded computing element optimized for lightweight machine learning, fuzzy rule-based systems, and control functions to enable the IoST to perform intelligent functions, such as initiating or responding to machine-to-machine communications and performing autonomic functions (self-healing, self-optimization, and self-protection). This paper discusses the possibility of using a Software-Defined Framework (SDF) to separate the knowledge engine from the underlying physical IoT device which enables the knowledge subsystem and the physical device to evolve and scale independently.