Abstract:
To become interaction-aware, an autonomic cyber-physical system needs to be aware of its physical environment and whereabouts and its current internal status. This ability is defined as artificial awareness and it helps intelligent software-intensive systems perceive changes, draw inferences for their own behavior and react. Originally, artificial awareness depends on the knowledge we transfer to a system and how we make the system use that knowledge, so it can exhibit intelligence. Artificial awareness requires a means of sensing changes, so the external and internal worlds can be perceived through their raw events and data. To build an efficient awareness mechanism, we need to provide a means of monitoring and knowledge representation along with a proper reasoner deriving awareness conclusions. In this paper, we present an approach to implementing artificial awareness with KnowLang, a special framework for knowledge representation and reasoning. KnowLang provides for a special knowledge context and a special reasoner operating in that context. The reasoner communicates with the host system via special ASK and TELL operators allowing for awareness conclusions and updates.