从Ada83到Ada95:大型应用程序迁移指南
在软件开发领域,代码复用和语言版本的更新是常见的挑战与需求。本文将围绕软件架构复用的经验,以及大型应用程序从Ada83迁移到Ada95的相关技术、工具和遇到的问题及解决方案展开。
复用经验总结
在持续开发过程中,代码复用并非易事。一个成功演进超过15年,能适应不同需求、平台和人员的架构,很大程度上得益于从一开始就选择了Ada语言。不过,为了控制因通用组件引入的复杂性增加,需要采用不同的方法。其中,将复用应用于有限的应用领域可能是最重要的因素。同时,文档的作用不可低估,它必须完整且相关,以弥合组件开发者和用户之间的信息差距,毕竟从开发到复用往往会间隔多年。而且,客户不一定将复用视为优势,但如果在分析、设计和编码阶段具备高超的技能,复用仍可能取得巨大成功。
应用背景:CFMU系统
欧洲航行安全组织(EUROCONTROL)在80年代末受其成员国交通部长组成的控制机构委托,成立了中央流量管理单元(CFMU)。CFMU负责两项重要活动:
- 飞行计划处理 :接收航空公司提交的飞行计划,进行手动或自动的验证和修正,然后将修正后的计划重新分发给航空公司和飞越的空域管制中心。
- 空中交通流量管理 :当计划的交通负荷超过空中交通管制(ATC)的容量时,CFMU负责平衡航班数量和可用的ATC容量,目标是优化欧洲空域的使用并防止空中交通拥堵。
为支持飞行计划处理和短期(提前两天)战术空中交通流量管理,CFMU开发了综合飞行计划处理系统(IFPS)和战术系统(TACT)。这两个系统使用了共同的工具和技术,如HP服务