形态发生的架构
第5章 形态发生的架构
ROOT → GATE → ANOD 的层级 · ANOD 的三区段架构 · MOVE 的拆分 · 器官的生命周期 · MOGE 与 GNET 的边界
5章 1. ROOT → GATE → ANOD 的层级
前几章把形态发生描述为一个过程:GERM 是什么、MOVE 如何安排、RTR0 由哪些步骤组成。保持敞开的是关于这一过程在其中发生的架构组织问题。GERM 在何处被放置?谁来接收 MOVE 的各个片段并对类进行实例化?资源在功能性器官之间如何分配?本章回答这些问题。
Gativus 中形态发生的架构组织为一个三层级的委派层级。每一层次都有一项清晰刻画的、唯一的角色,不重复其他层次的功能。
这一层级反映了管理职责按尺度的划分。ROOT 负责网络的全局完整性——名称空间与基本权限分配。GATE 负责本地平台——种子的接收以及它的资源在同一机体的诸器官之间的分配。ANOD 负责一个器官——详细的形态发生、对该器官各节点的管理、它的生命周期。
功能不扩张的原则是本质性的。ROOT 不管理形态发生,不包含 MOVE,不知道具体的 GERM 被放置在哪些具体的 GATE 上。GATE 不管理具体器官的详细形态发生。ANOD 不直接与 ROOT 交互,也不越出其器官的范围。每一层次只做自己的事,而这种功能的受限性保证了系统的可扩展性。
5章 2. 作为根登记者的 ROOT
ROOT——Gativus 网络的根节点,担任根登记者的功能。它在形态发生中的功能是受限的,在原则上不被扩张:名称空间的划分与基本 AVEC₀ 的委派。
a) 子宫的隐喻
ROOT——Gativus 的子宫。生物的子宫为胚胎的发育提供环境:空间、营养、保护。但子宫并不包含胚胎的 DNA,也不管理它的发育。它提供条件,而胚胎在这些条件下按照自身的遗传程序自主地发育。
ROOT 对 Gativus 担当类似的角色。它为任何机体的形态发生提供基本条件:唯一的 UNON 名称空间、带有创建节点和建立关系之权利的初始 AVEC。但 ROOT 不包含具体机体的 MOVE,不管理它们的形态发生,不知道它们结构的细节。这些功能被向下委派给了层级。
这一隐喻具有原则性的架构意义。当网络扩展到十亿个 GATE 时,ROOT 既无法管理每一次萌发,甚至无法知道每一次萌发。它登记名称并划分配额——这就够了。所有其他功能都是本地化的。
b) ROOT 在形态发生中所做的事
ROOT 在形态发生语境下的具体功能归结为若干操作。
GATE 的登记。在初始化一个新平台时,ROOT 给它指派一个唯一的 32 位 GATE 编号,并为该平台上将要创建的节点划出一段 UNON 范围。这是一次性操作,在 GATE 接入网络时执行。
初始 AVEC₀ 的委派。ROOT 在一致性空间 CNST₀ 中发行一包资产(见 GNET,第 4 章),并把它传递给新的 GATE。这一包包含允许 GATE 创建一定数量的节点和建立一定数量关系的坐标。包的大小由 ROOT 的政策决定。
D 组件的存放。ROOT 仓库包含 D 组件的库——GTR0 的已训练权重(见第 1 章,1.6 节)。任何 GATE 平台在形态发生时都会建立到 ROOT 中 D 组件的 d 关系,并经由这些关系获得节点类的可执行代码。
全局资产的发行。在整个网络中全局起作用的系统资产由 ROOT 发行。在形态发生的语境下,这包括 NRGN 配额、SYGN 配额、合法性标记(见 GNET,第 4 章,4.7 节)。
c) ROOT 不做的事
ROOT 不执行的功能清单,对理解架构同样重要。
ROOT 不保存具体机体的 MOVE。MOVE 存在于即将被展开的那些节点的 M 区段中,在必要时——作为分布式登记中的资产(见第 3 章)。ROOT 不介入此事。
ROOT 不知道哪些 GERM 被放置在哪些 GATE 上。这是 GATE 的本地信息,不接受全局登记。
ROOT 不管理形态发生。AVEC₀ 被委派到 GATE 之后,后续的操作——GERM 的接收、MOVE 的拆分、神经发生、突触发生——都自主地执行,无需调用 ROOT。
ROOT 不接收关于形态发生进展的报告。如果萌发成功了——ROOT 不被通知。如果不成功——也不被通知。本地事件不被向上路由。
d) 可用性与可持续性
在 ROOT 不可用时,网络在以前已获得的 AVEC₀ 范围内继续工作。现有的 GATE 继续接收 GERM,ANOD 继续形态发生,节点继续交换数据报——所有这一切都在已被委派的配额范围内。只有需要 ROOT 新鲜发行的操作不可执行:创建新的 GATE、增加现有GATE 的 AVEC₀、解决名称的全局冲突。
这与子宫的原则是一致的:子宫提供条件,但已经开始发育的胚胎即便外部环境发生变化也会自主地继续发育。类似地,已经经过初始萌发的 Gativus 机体,并不依赖 ROOT 当前的可用性。
5章 3. 作为萌发平台的 GATE
GATE(GATivus Edge)——形态发生在其上发生的物理设备。这是 Gativus 网络的边缘节点,把计算基底(处理器、内存、磁盘、网络接口)与 Gativus 的架构联结起来。一个 GATE——是一台具有指定资源的物理或虚拟机器。多平台的 Gativus 网络由许多 GATE 组成,经由标准的 IPv6 协议相连接。
a) GATE 在形态发生中的三项功能
GATE 在形态发生中执行三项不同的功能,共同构成一个统一的循环。
GERM 的接收。GERM 经由若干方式之一到达 GATE:由操作员在初始化平台时载入、通过网络从另一 GATE 接收、从仓库复制。所接收的 GERM 被放置在 GATE 的某一个节点的 M 区段中,等待萌发的启动。
用硬件资源补充 AVEC。从 ROOT 获得的基本 AVEC₀ 包含逻辑配额——创建节点与关系的权利。GATE 用物理资源加以补充:内存(节点可用多少字节)、计算(每单位时间多少处理器周期)、网络带宽、磁盘空间。这些资源是 GATE 的所有物,ROOT 不知道也不必知道。
资源在 ANOD 之间的分配。对于 MOVE 的 COMP 图中所描述的每一个功能性器官,GATE 创建一个 ANOD 节点,并把 MOVE 的一个片段和组合 AVEC 的一份份额传递给它。这是 GATE 在形态发生中的核心操作——5.5 节将更详细地讨论。
b) 同一个 GATE 上的多个 GERM
一个 GATE 可以同时包含若干个 GERM,每一个都在自己的 AVEC 份额范围内启动独立的萌发。这就给出在同一平台上的若干独立机体——类似于生物学中的多胎妊娠。
每一个 GERM 都获得 GATE 物理资源的一份指定份额。这种划分是严格的:分配给一个 GERM 的内存不能被其他 GERM 使用;分配给一个 GERM 的处理器时间不被其他 GERM 使用。严格的划分保证了隔离:一个 GERM 的形态发生出问题,不会影响其他 GERM。
在同一 GATE 上诸 GERM 之间的资源分配——是平台管理员的决定,不被自动地决定。一个 GATE 可以为某一个“优先” GERM 划出较大的份额,而给其余的较小的份额;可以把资源平均分配;也可以把一部分资源留作储备。这一政策——位于 MOGE 范围之外,属于平台的运营。
c) 作为信任边界的 GATE
GATE 是 Gativus 网络中天然的信任边界。在同一 GATE 内部,节点经由本地高速通道(GORP 中的 G1 层次,见 GNET)交互,无需对每一个数据报进行密码学保护。在不同 GATE 之间,传递经由标准的互联网通道(G3 层次)进行,并带有加密与签名检验。
这一边界与物理现实是一致的:一个 GATE——是一台处于统一管理控制之下的物理或虚拟机器。不同的 GATE——是不同的机器,可能位于不同的司法辖区,处于不同的管理控制之下。它们之间的信任不被自动地假定。
5章 4. 作为器官管理者的 ANOD
ANOD(Alliance NODe)——协调一个功能性器官形态发生的节点。ANOD 并不是一个具有自身本体论的独立专门实体;它是一个带有特殊区段集合的普通 NDDI 节点,为一组关联节点执行管理功能。
Gativus 的每一个功能性器官恰好有一个 ANOD。该器官的全部形态发生都在 ANOD 内部发生:对 MOVE 片段的解析、神经发生、突触发生、成熟、向运行的过渡。所有这些过程都是自主的——ANOD 并不就每一项操作向 GATE 或 ROOT 请求许可,它在已被委派的 AVEC 与 MOVE 片段的范围内行事。
a) 三区段架构
在 ANOD 内部,逻辑上区分出三个区段,每一个都负责器官生命周期的一个方面。这一区分是原则性的,提供清晰的职责分配并排除功能冲突。
G 区段负责安全与完整性。其内容:RULE 矩阵(见 GNET)、AVEC 配额、审计日志。任何关于神经发生或突触发生的请求都要经过 G 区段的验证——配额是否充足、操作是否被允许、是否不违反完整性。G 区段不建造也不设计——它进行控制。生物学的类比:器官的免疫系统。
D 区段(也即 LOAI,Local Asset Issuer)负责代码。其内容:D 组件——节点类型及其连接器与 CONT 类型的目标代码。在神经发生时,LOAI 为组装一个被请求类型的新节点提供代码。LOAI 并不决定要建什么,也不发起建造——它提供材料。生物学的类比:器官的基因仓库。
M 区段(也即 LOMN,Local Morphogenesis Node)负责生长。其内容:具体器官的 MOVE 片段、形态发生任务队列、对过程的协调。LOMN——形态发生的主体。它读取 MOVE,向 LOAI 请求 D 组件,经过 G 区段的验证,启动 NRGN,协调 SYGD 与 SYGA,控制成熟。
b) 划分的原则性
划分为三个区段——不是抽象,也不是一种装饰性的手法。这是排除功能冲突的职责划分。
LOMN 不能绕开 G 区段的配额。任何关于创建节点或建立确定性连接的请求都经过 G 区段进行验证。如果 G 区段拒绝——操作就不执行。LOMN 没有任何办法在 G 区段之外创建节点。
G 区段不能改变 D 组件。它处理权利与配额,但不处理可执行代码。如果需要改变节点的行为——这是 ROOT 中 D 组件的更新及其后经由 d 关系的分发,而不是对 G 区段的修改。
LOAI 不能发起神经发生。它是被动的:按请求提供代码,但自身并不决定何时和创建多少节点。这是 LOMN 的功能。
每一个区段只做自己的事。这一划分给出架构上的清晰性,并便于调试:如果某处不工作,诊断从确定问题出现在哪一个区段开始。
c) 所有区段——都在同一个 NDDI 之内
尽管在逻辑上划分为三个区段,ANOD 是一个 NDDI 节点,不是三个。所有区段都在同一个进程内部工作,它们之间没有网络开销。ANOD 的 G、D、M 区段之间的交换经由该节点内部的接口瞬时地、不带网络传递开销地进行。
ANOD 与其他节点——与上级 ANOD、与 GATE、与器官的下属节点——之间的外部通信,经由按消息类型多路复用的标准 g 关系进行。ANOD 从外部看是一个具有单一 UNON 的节点;在内部划分为各区段——是其自身组织的细节。
5章 5. 委派时 MOVE 的拆分
在从 GATE 向 ANOD 委派时,MOVE 向量并不被整体复制,而是被拆分。完整的 MOVE 包含机体所有功能性器官的描述;GATE 只把与每一个 ANOD 自身器官相关的片段传递给它。完整的 MOVE 留在 GATE 处。
a) 拆分的机制
拆分以单次扫描方式进行。GATE 同时把任务发给所有 ANOD:对来自 COMP 图的每一个组件,创建一个 ANOD,并把 MOVE 的相应片段写入该 ANOD 的 M 区段。
完整的 CLSS 图——应当在该器官中被创建的诸类。这些类是 ANOD 的所有物,没有任何其他 ANOD 创建它们。
COMM 图的一个片段,描述该器官的内部连接——即把 COMP 中一个组件内部各类相连接的那些模板。器官之间的连接被分开描述(见下文)。
ACTD 图的一个片段,描述该器官的形态发生程序——类实例化的顺序、检查点、各阶段之间的过渡。
SPCE 中相应的份额——该器官的节点究竟将在 GATE 的物理空间中何处被放置。
RSRC 中相应的份额——给该器官划出了哪些 AVEC。
这种拆分之所以可能,是因为 Gativus 只为主观现实建模——功能性器官的数量以数十计,而不是以十亿计。对一个 GATE 而言,在大约二十个 ANOD 之间拆分 MOVE——是一项可执行的操作,不会产生瓶颈。
b) 局部的不可逆性
拆分在局部上是不可逆的。一个 ANOD 在获得了一个器官的 MOVE 片段之后,就不能再获得另一个器官的片段了。它的 M 区段只包含与其自身的功能性器官相关的内容,扩展到他人领地的可能性并未被预见。
这一限制给出架构上的清晰性。每一个 ANOD 只知道自身的事;不存在偶然或恶意地干预他人器官形态发生的可能性。与生物学的类比是直接的:视觉皮层的神经元不能“改主意”而成为海马的神经元——它的命运由分化时对它可触及的遗传程序片段所决定。
c) 全局的可恢复性
然而,在全局上情形是不同的。GATE 保存了完整的 MOVE,并且可以在任何时刻以任何一个片段创建一个新的 ANOD。例如,如果一个现有的 ANOD 被损坏或丢失,GATE 可以为它创建一个替代——以同一片段 MOVE 创建一个新的 ANOD。
这并不是对被损坏的 ANOD 的修复,而是对它的替换。新的 ANOD 将重新开始形态发生,所得到的器官将是一个新的实例,在结构上对应于同一片段 MOVE,但节点的 UNON 与 SYGA 连接的具体拓扑会有所不同。生物学的类比:能够再生失去之组织的干细胞,但给出的是新的组织,而不是原先的组织。
d) 关于器官间连接信息的传递
拆分的一项本质性方面是器官间连接。如果 A 器官的一个节点应当与 B 器官的一个节点相连接,这一连接就不可能在一个 MOVE 片段的范围内完整地被描述。A 类在 ANOD-A 中被定义,B 类在 ANOD-B 中——它们中的任何一个,单独都不掌握完整的画面。
解决方案在于对连接器 CONT 类型的传递。在拆分 MOVE 时,每一个 ANOD 都不仅获得关于其内部各类的信息,还获得关于那些等待在其他器官中找到伙伴的连接器类型的信息。A 类的节点被创建时带有 CONT-X 类型的 PEND 连接器;B 类的节点被创建时带有同一类型的互补 PEND 连接器。当两者都启动 SYGA 时——它们经由层级化告示板彼此找到对方。
这样,器官间连接经由 SYGA 而被建立,而不是经由 SYGD。每一个 ANOD 只知道自己的类和自己的 CONT 类型;协调经由突触发生的标准机制自主地发生。这与生物学相一致:大脑不同区域之间的连接主要经由活动依赖的突触发生而形成,而不是经由严格编程的投射。
5章 6. ANOD 的生命周期
一个 ANOD 的生命周期——是一系列从创建到进入运行模式的阶段。在第 4 章对整体形态发生所描述的所有阶段,在这里被具体化为对一个 ANOD 的描述。
a) ANOD 的创建
ANOD 在 GATE 上对 MOVE 进行拆分时被创建。对 COMP 图中的每一个组件,GATE 启动一个 ANOD 的创建:划出 UNON,创建三个区段(G、D=LOAI、M=LOMN),把该组件的 MOVE 片段写入 M 区段,把所需的 D 组件载入 D 区段(更准确地说,建立到 ROOT 仓库中相应 D 组件的 d 关系),G 区段以 RULE 矩阵和初始 AVEC 配额进行初始化。
b) 解析
ANOD 工作的第一阶段是对其 MOVE 片段进行解析。LOMN 读取该片段,验证对 D 组件的引用(它们是否存在于 LOAI 中,签名是否未损坏),计算对 AVEC 的需求(将需要创建多少节点,需要建立多少连接)。
如果资源对于至少形态发生出最低限度可生存的器官变体都明显不足,LOMN 向 GATE 发出信号,并请求修订配额。GATE 可以在各 ANOD 之间重新分配 AVEC,或经由层级向上报告资源不足。
在成功解析之后,LOMN 形成形态发生任务队列:实例化的类的清单、必要的顺序、必要的实例数量以及必要的连接。
c) 主动的形态发生
LOMN 从任务队列中启动第 4 章所描述的形态发生各阶段:NRGN、SYGD、SYGA。这些阶段在时间上是重叠的。与它们并行的是验证的工作:LOMN 周期性地通过已构造的那部分网络发送测试信号,检查连通性,并在 TRL 中登记节点的最初状态。
主动形态发生的时长取决于器官的规模。对于小型器官(数十个节点),形态发生可能在数秒内完成。对于大型器官(数百万个节点)——则要数小时或数日。在两种情形下,过程都是自主的:LOMN 不需要外部管理,它遵循自己的 MOVE 片段。
d) 成熟
随着主要的 NRGN 完成,大部分 SYGD 连接已被建立,ANOD 进入成熟阶段。在这一阶段:
器官的大部分节点已经在工作——与邻居交换数据报,执行其功能,更新 TRL。
SYGA 在后台模式中继续:剩余的 PEND 连接器经由告示板寻找伙伴,其中一部分找到了伙伴。
活动依赖的纠正在工作:积极交互的节点之间的连接得到加强,使用稀少的连接可能被修剪。
LOMN 逐渐从主动神经发生切换到对工作的协调。神经发生成为罕见的操作,只在需要补足缺失的类时才发生。
e) 向运行的过渡
当形态发生的活动落到某一阈值之下时,ANOD 记录下形态发生的完成,并进入运行模式。这就是第 4 章所描述的 OPNG → OPN 的变换。LOMN 从建造者变为已建造器官的管理者。
从这一刻起,ANOD 继续工作,但以另一种身份。它的主要功能是:在其器官各节点之间路由数据报、管理运行 AVEC 配额、安全控制、对来自其他 ANOD 与上级节点请求的响应。
LOMN 的干细胞功能在休眠模式中得以保留。在必要时——损坏、需要适应、发布更新的 MOVE——ANOD 可以重新激活形态发生功能,并补建或重建器官的一部分。这是罕见事件,但在架构上是被支持的。
5章 7. MOGE 与 GNET 的边界
一个器官形态发生的完成——ANOD 从 OPNG 进入 OPN 的过渡——标志着 MOGE 的对象与 GNET 的对象之间的边界。在此边界之前——是形态发生:从描述出发形成网络的过程。在此之后——是运行:对已形成网络的工作。
a) 属于 MOGE 的内容
MOGE 的对象——是从 GERM 被放置在平台上到其所有器官的形态发生完成之间发生的一切:
对 MOVE 的解析、在 ANOD 之间的拆分、ANOD 的创建、神经发生(NRGN)、确定性突触发生(SYGD)、自主突触发生(SYGA)、成熟、验证、OPNG → OPN 的变换。
D 组件经由 d 关系从 ROOT 向各类的分发。AVEC 沿 ROOT → GATE → ANOD → 下属节点树的建立与分配。关键期的关闭以及向运行模式的过渡。
在必要时形态发生功能的重新激活——这是罕见事件,但按其本性仍处于 MOGE 的范围内。
b) 属于 GNET 的内容
GNET 的对象始于网络准备好进行运行之处:
数据报在三个层次上的路由(G1、G2、G3——分别为 GATE 内部、本地网络、互联网范围)。普通工作关系建立与维持的协议(用于值的 v 关系、用于行为的 b 关系,等等)。
对运行资产的管理——节点之间数字资产的传递、分布式登记中事务的登记、公证、智能合约。这也包括登记中对作为资产的 MOVE 本身的管理(见第 3 章)。
运行时可塑性——基于积累的经验,对已存在节点之间连接的纠正。这不是新节点的创建,也不是新确定性连接的建立,而是对已经在工作之网络的适应。运行时可塑性依赖于 TRL 与连接器使用情况的统计。
运行中网络的安全——对不合法请求的免疫响应、细胞因子信号传导、CRL 的分发、对已泄露密钥的撤销。其中很多内容使用了在形态发生时已嵌入的机制(ANOD 的 G 区段、作为免疫标记的 AVEC₀),但已经在运行阶段中主动地发挥功能。
c) 灵活的边界
MOGE 与 GNET 之间的边界是功能性的,不是时间性的。在同一个机体中,一些器官可能已经处于运行阶段(GNET 的对象),而其他器官还在经历主动的形态发生(MOGE 的对象)。这是大型发育中网络的正常状态。
边界可能反向地被跨越:在为恢复或适应而重新激活形态发生功能时,器官暂时从 GNET 模式回到 MOGE 模式。在重新激活完成之后,它再次进入运行。
这种灵活性反映了生物学的现实。在发育中的机体中,一些系统已经在它们的角色上工作,而其他系统还在形成中。在成体机体中,大多数系统在工作,但有些系统保留了有限的形态发生能力(海马的神经发生、上皮的更新、再生)。Gativus 继承了这一结构。
5章 8. 结语
Gativus 形态发生的架构被组织为一种层级,在每一层次上都有清晰的职责划分。ROOT 给出名称与基本配额,担当系统的子宫。GATE 接收 GERM,以硬件资源补充 AVEC,并把 MOVE 在各 ANOD 之间拆分。ANOD 培育一个功能性器官,自主地协调其全部形态发生。
在 ANOD 内部,三区段架构划分职责:G 区段进行控制,LOAI 提供代码,LOMN 进行建造。这一划分排除了功能冲突,保证了架构上的清晰性。所有三个区段都在同一 NDDI 进程内部工作,没有网络开销。
MOVE 在从 GATE 向 ANOD 委派时被拆分:每一个 ANOD 获得与其器官相关的片段。完整的 MOVE 留在 GATE 处,并保证了对被损坏 ANOD 进行替换的可能性。关于器官间连接的信息经由 CONT 类型被传递,而连接本身经由 SYGA 自主地被建立。
ANOD 的生命周期经历解析、主动形态发生、成熟、向运行的过渡等各阶段。各阶段在时间上重叠,保证了过程的并行性。形态发生的完成——OPNG → OPN 的变换——标志着从 MOGE 的对象向 GNET 的对象的过渡。
MOGE 与 GNET 之间的边界是功能性的,不是时间性的。一个机体可以同时包含处于两种模式中的诸器官,而模式之间的过渡是可逆的:在必要时形态发生功能的重新激活是可能的。
至此,MOGE 作为一项理论工作完成。最初的问题——一个运行中的网络如何从描述中得到——经由四章获得了回答。第 1 章把 GTR0 确立为 Gativus 的第四种变换,与其余三种同构。第 2 章引入了 MOLD 作为形态形式描述的语言,以及 MOVE 作为 16 维向量。第 3 章解决了 MOVE 作为双重性质实体——既是组件又是资产——的地位问题。第 4 章把 RTR0 描述为形态发生程序,具有原子单元、各阶段、并行性。本章以这一程序在其中被执行的架构,补足了整幅图景。
MOGE 为 GNET 准备了基础。在这里使用并引用至 GNET 的许多术语与机制——GORP、AVEC、CRL、GATN 资产、登记树——在下一本书中获得完整的规范。在 5.7 节中固定的 MOGE 与 GNET 之间的边界,划分了这两本书的对象:MOGE 回答关于网络起源的问题,GNET 回答关于其运行的问题。
目录
