在20世纪70年代,N版编程(N-version programming)是先进的软件容错设计方法。此后,这种设计模式引发了一系列问题:随着该技术的采用,软件开发成本直线飙升,因为必须成立N个单独的团队开发N套相互独立的软件。如果期望降低成本,则将陷入所谓的“平均智商( Average IQ)”怪圈:较低成本的开发团队意味着较低质量的软件工程师,而这些工程师只能开发出较低质量的代码。因此,最终只能得到充斥着以N种不同方式产生故障的N种不同程序。
David Kalinsky是OSE Systems公司的客户培训主任,他是嵌入式软件技术的讲师和研究带头人。最近,David为实时和嵌入式系统开发的软件工程编著了高科技培训程序。之前,他还参与了许多嵌入式医疗和航天系统的设计。David于耶鲁大学获得核物理博士学位,他的联系方式是david@enea.com。
参考文献
1. SIAM (Society for Industrial and Applied Mathematics) News, vol. 29, #8, October 1996.
2. Chandra, Ramesh and Lui Sha. On Scheduling Tasks in Reliable Real-Time Control Systems, Proceedings of the 20th IEEE Real-Time Systems Symposium, 1998.