部队运行在遗留系统之上。Perslis 让它们原样运行。
国防没有推倒重来的机会。美国政府问责局(GAO)发现,国防部一套协调国家核力量作战职能的系统运行在 IBM Series/1——“一套 1970 年代的计算系统”——上,使用 8 英寸软盘;2015 财年联邦 IT 预算中约 75% 用于运行和维护现有系统(GAO-16-468,《信息技术:联邦机构需要解决老化的遗留系统》,2016 年 5 月 25 日)。
替换一套已列装的系统需要一个项目,桥接它只需要一个运行时。Perslis 正是从这里起步的:一个先重建遗留程序如何工作、再原样操作它并留下收据的运行时。
桥接做什么,逐层说明
“运行任何遗留系统”等于开一张空白支票,所以这里给出它的真实边界,与遗留系统页面的陈述一致:
| 层级 | Perslis 做什么 | 在哪里展示 |
|---|---|---|
| 桌面软件 DOS、Win16、Win32 | 重建并原生运行;程序自身的控件被映射为可驱动的接口;每次会话都带验证收据。 | 软件保存 · 白皮书 |
| 服务器与主机 COBOL、AS/400 | 通过其接口映射和连接——API、终端仿真、数据桥。是编排,不是仿真。COBOL 答案要么由编译器预言机证明,要么被拒绝。 | COBOL 预印本 |
| 遗留数据 DBF、Access、XLS、定宽文本 | 恢复为 SQLite、CSV 与 JSON,附哈希清单与收据。 | Liberate |
| 嵌入式与固件 | 可读取和分析。执行它需要目标硬件或仿真器。 | Win95 USB 实验室(一项驱动调查) |
为什么桥接在地板之前
地板只能对它读得到的事实、做得了的动作作出裁决。桥接把一个封闭的遗留系统变成两者:它的状态成为事实——从程序自身的控件和数据中读取,而不是猜测——它的操作成为一个封闭的动作集合。然后由地板决定其中哪些动作可以执行——与它在其他所有领域运行的是同一份契约(运行时)。
先桥接,再设界,再让任何智能来引领。遗留系统保持原样;地板决定什么能抵达它;位于其上的任何东西——学习型模型、符号规划器或一个机组——都只在可容许的动作之中选择(任何模型居上)。
已经展示的,与尚未展示的
- 已展示:在隔离的客户机中通过原生控件操作遗留的 Windows 与 DOS 桌面软件,并留下收据;由编译器验证的 COBOL 合成;带哈希清单的遗留数据恢复。
- 未展示:军用数据总线(MIL-STD-1553、ARINC 429、平台上的 CAN 总线)、在目标硬件上执行固件、涉密网络,或任何已列装的系统。桥接只在商用遗留软件上运行过,没有在武器系统上运行过。
从哪里开始
选一个遗留工作站上的工作流程。我们把它映射出来,在隔离的客户机中运行,并让地板在操作员旁边以影子模式运行:它记录下自己本会准入什么、拒绝什么,以及各自的证据,同时不改变任何东西。