Skip to content
Steve Melville edited this page Mar 22, 2024 · 22 revisions

MAP Holons Home

This document specifies the design for the MAP Holons component of the MAP. MAP Holons, in concert with MAP Descriptors and the MAP's Dynamic, Adaptive Holon Navigator (DAHN), comprise the foundational (L0) layer of the Memetic Activation Platform (MAP).

MAP Prototype Architecture

image

At its core, all MAP information can be represented as self-describing, active Holons or HolonRelationships. Holons have a reference to their HolonDescriptor, have an extensible set of properties, participate in relationships, and offer a set of behavioral capabilities referred to as dances (short for Affordances). As holons are encountered in the wild, you can ask their descriptor what properties they have, what relationships they participate in, and what dances they know how to do. Similarly, each instance of a HolonRelationship includes a reference to its RelationshipDescriptor that specifies the source and target holon types for that relationship and what constraints apply to each direction of that relationship.

MAP Visualizers, orchestrated by the Dynamic, Adaptive Holon Navigator (DAHN), use the MAP Holons Uniform API to access MAP information and generate human experiences of the MAP. DAHN leverages MAP Descriptors to visualize and edit properties, navigate relationships, and invoke affordances.

MAP Prototype Development Plan

The prototype is being incrementally bootstrapped -- starting with simple, undescribed holons and working up through three major stages towards a complete (if minimally functional) implementation of all elements of the MAP architecture. The architecture diagram above illustrates the three major stages of the prototype.

  • P0 - establishes the basic architecture and provides in initial implementations for the L0 elements of the MAP ontology, the uniform API, a primitive version of the DAHN selector function and a small set of visualizers. Stated another way, this stage provides self-describing, active, holons and a functional (if crude) capacity to visualize and interact with those holons.
  • P1 - extends P0 with initial implementations of the L1 ontology: Agents, Memes, Resources and Services and the Notification Center.
  • P2 - leverages the Uniform API to support interoperability between the MAP and external applications and services.

See MAP Holons Prototype Development Plan for more details on the development sequence.

MAP Holons Architecture

The logical architecture for MAP Holons component is depicted in the following diagram:

image

  • Holochain Persistence Tier. Holochain handles persistent storage and retrieval of data to/from a distributed set of agent-centric devices. It also dispatches integrity_zome validation functions at various stages within the data lifecycle. Access to this tier is provided by the holochain hdi API. Holons are owned and managed by Holon Spaces. Each HolonSpace is a distinct Holochain DHT. Holon Spaces can be interconnected to allow for cooperative behavior across Holon Spaces.
  • MAP Holons Integrity Zome. MAP Holons leverages holochain for its persistence tier. Specifically, the holons_integrity zome consists of the HolonNode EntryType and the SmartLink LinkType. HolonNode and SmartLinks reference and rely on MAP Descriptors that are managed in shared Metaspaces. The MAP Holons Persistence Tier can store any information that can be described by MAP Descriptors. A HolonSpace (itself a kind of HolonNode) serves as a container for Holons. HolonSpace is an L0 foundation on which AgentSpaces will be built in L1. Every holon belongs to exactly one HolonSpace. A HolonSpace can be dynamically linked to zero or more other HolonSpaces. This enables HolonRelationships (represented by Smartlinks) to span HolonSpaces.
  • MAP Holons Data Manager. Since everything in MAP is represented as holons (nodes) or relationships (links), MAP data can be viewed as an information graph. The MAP Data Manager supports create, update and delete functions for this information graph via its HolonStorageFunctions component. It relies on the Smartlink Manager to maintain relationships between holons via SmartLinks. The Data Manager provides a general graph query capability via its Query Engine. The QueryEngine is supported by the SmartLink Manager and by a read-through, in-memory Holon Cache to minimize calls on the persistence tier.
  • MAP Uniform API. Offers a very general interface, that supports create, update, delete and retrieval and querying for any type of holon, navigating any type of holon relationship, and invocation of any type of dance. The MAP Uniform API is used by DAHN and MAP Visualizers. HolonAdaptors can be used to transform calls on the Uniform API into calls on other Holochain or non-Holochain applications.