Agent-Centric Distributed Application Meta-ontology
Spanning Layer for App Logic
Interoperability for all p2p and centralized apps
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.
It suggests 3 basic ontological entities:
Agents …represent humans with their devices, which is what the internet actually is. Technically represented as Decentralized Identifier - DID.
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.
Find out more on GitHub...