2008年2月13日 航空航天和国防

我们不需要另一种Java方言。我们需要的是专业知识。

佛朗哥Gasperoni,AdaCore

一组专家正在研究一种用于安全关键系统的Java变体可以通过DO-178B认证的。这一持续不断的努力的根源在于Java实时规范始于1998年12月。

问题是:这种努力是为了解决什么问题?

答案不是技术。要创建适合开发安全关键软件的Java派生程序,存在许多技术挑战。这些挑战使得这项任务对一组专家来说很有趣。然而,在安全关键领域中不需要另一种编程语言。事实上,今天有许多使用大量技术开发的安全关键系统,并成功地用Ada 83/Ada 95和C/ c++编程。

再说一遍:用于安全关键系统的Java变体能解决什么问题?答:开发人员短缺。

争论是这样的:今天很难找到艾达
C/ c++开发人员,还有很多Java程序员
能够快速掌握安全关键的Java变体。
真的吗?这让我想起了我参加Java One会议的时候
在2000年,雇主们正在寻找有10年工作经验的Java开发人员
(Java于1995年引入)。

找到Ada和C/ c++开发人员不是问题。我们不是
谈论古希腊。我们说的是程序
语言。以艾达为例。有20000个独立用户
下载了GNAT, Ada工具链AdaCore“自由”网站
学习Ada或在Ada开发自由软件。这个数字不是
包括从自由软件下载GNAT的开发者
的基础。

更有趣的是,2007年11月,国家计算机博物馆
赞助了一个历史性的密码破解比赛来庆祝
重建的巨人马克2Bletchley Park
第一台可编程数字计算机Colossus被用于
来破解洛伦兹密码机创造的密码
被纳粹利用。程序员和代码破译员被邀请去尝试
击败了重建的巨像,破解了1938年的Lorenz SZ42加密系统
消息。约阿希姆Schüth,一个艾达的新手,能够破译代码并在业余时间学习了艾达,用艾达编写的程序打败了巨像。

用于安全关键系统的Java变体能解决什么问题?
在作者看来:没有。限制发展的问题
安全关键的软件对于编程语言来说是有点
就像说摩天大楼变成了
混凝土和钢材。是的,你不能用
钢材和混凝土质量差,所以编程语言具有安全性
内置的关注对于构建安全关键的软件是必要的。
不过,必要并不意味着充分。

在作者看来,真正的问题是缺乏专业知识。
一个好的安全关键软件开发人员是很难找到的,而且
Java、C/ c++或Ada不能单独解决这个问题。从需求
获取,安全工程,系统建模,软件设计,
开发,验证,配置管理和质量
保证有许多活动和专业知识参与其中
创建安全关键软件。将这些活动减少到
编程语言和编码是一厢情愿的想法。

总而言之,这种错觉是通过对Java进行小的更改
我们(a)将能够创造一种适合安全临界的语言
(二)我们将能够从庞大的Java资源池中汲取资源
开发安全关键系统的开发人员。这两个都是
陷阱。(a)就像说,对丰田汽车做小的改动
你可以创造一辆法拉利,而(b)是说一旦我们完成了
(a)我们可以利用大量的丰田司机来驾驶
法拉利在一级方程式赛车。大多数司机都没有
适当的技能。

在设计和开发方面缺乏专门知识
安全关键软件是一个真实且困难的问题。这是
更糟糕的是,我们需要一个世界范围的
有成千上万的软件安全专家,而不是
数百万。

那么,我们如何确保一个小而稳定的
安全关键开发人员是由学年系统产生的
复一年吗?(见计算机科学教育:“未来的软件工程师在哪里?”这才是真正的挑战。

Franco是AdaCore公司的联合创始人和总经理
该公司为GNAT Pro开发并提供商业支持
Ada 2005, Ada 95和Ada 83的软件环境。AdaCore是一家基于其商业模式的100%自由软件公司
高质量的支持和基于订阅的定价。AdaCore
为航空电子、航空交通等领域的客户提供Ada解决方案
管理、军事、铁路、航天等行业。弗朗哥·加斯佩罗尼(Franco Gasperoni)在巴黎高等商学院(Ecole des)获得工程学学位
他在法国巴黎的矿山工作,在纽约获得计算机科学博士学位
美国大学。在矿业学院的时候,佛朗哥和
法国诺贝尔经济学奖得主莫里斯·阿莱(Maurice Allais)。佛朗哥曾在纽约大学和
巴黎电信学院(ENST)。弗兰克已经出版了
25岁以上的论文。

以前的管理软件过时
下一个YABC