Designing a context-aware artificial system