Объект-атрибут-значение

Парадигма объект-атрибут-значение (object-attribute-value) позволяет разрешить это противоречие путем предоставления возможности объектам или концепциям иметь несколько ассоциированных с ними переменных. Таким образом, если объект О имеет атрибут А со значением V, это записывается в виде А (О, V).
distance(left_obstacle, 4.0) presence(гight_obstacle,"unknown")
При такой форме представления каждая концепция может иметь несколько атрибутов, что существенно сокращает количество объектов. Концептуально именно так и определяются структуры и классы языка C++.