直接接上你手里现有的装备。不用推倒重来。
Perslis 用老 DOS 和 Windows 软件自己的按钮和输入框来驱动它们,通过主机现有的入口连上去,把老数据导出来,每一步都有收据。COBOL 的答案要么由编译器证明,要么被拒绝。什么都不用拆,也不用等一个新的正式立项。
谁都没有推倒重来的机会。美国政府问责局(GAO)发现,国防部一套协调国家核力量作战职能的系统运行在 IBM Series/1——“一套 1970 年代的计算系统”——上,用的是 8 英寸软盘。2015 财年联邦 IT 预算约 75% 花在运行和维护现有系统上(GAO-16-468,《信息技术:联邦机构需要解决老化的遗留系统》,2016 年 5 月 25 日)。部队里来的任何新东西,都得跟已有的东西一起干活。
能对接什么,怎么对接
“什么老系统都能跑”等于开一张空白支票。下面是真实的清单,与遗留系统页面一致:
| 对象 | 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 总线)、在目标硬件上运行固件、涉密网络,或任何已列装的系统。桥接只在商用老软件上用过,从未用在武器系统上。
从哪里开始
挑一台老工作站上的一项工作。我们把它梳理出来,在隔离的副本里运行,让地板以影子模式跟在操作员旁边:它记下自己本会放行什么、拒绝什么、为什么,但不碰任何东西。