AD4M is a set of minimal assumptions to make all apps interoperate.
It is consolidating the quintessence of agent-centric software
architecture and as such is basically an architecture pattern.
Languages
…encapsulate the actual technology used to communicate, like
Holochain or IPFS, but what they provide to the high-level layers is this: Languages define Expressions, which are the atoms of what Agents communicate. Expressions are always created, and thus signed, by an agent. Expressions are referenced via a URL of the kind
<language>://<language specific expression address>. That URL and the Expression itself is the only objective part in AD4M.
Perspectives
…belong to a specific agent. They represent context and association between expressions.
They consist of a list of
RDF/semantic web like triplets (subject-predicate-obejct) called links
because all three items are just URLs pointing to expressions.
Perspectives are like Solid’s pods, but they are agent-centric.
There is no such thing as a Perspective that does not belong to an agent.
It is like the canvas on which an agent perceives and onto which they create anything.
To the next layer above (either the very general UI built in
Perspect3ve - or any other special purpose UI), they are like a database scope.