Self-aware Computing Systems: Related Concepts and Research Areas