技术:更简单的软件使通往星星的道路更加平滑

 作者:逄纺     |      日期:2017-09-02 18:06:22
下周,来自六个国家的13位软件专家将从头开始重建计算机程序,该程序已成为射电天文学家必不可少的工具该计划称为天文图像处理系统(AIPS),经过多次改进和增加,已变得笨拙且难以保持最新状态将在未来六个月在弗吉尼亚州夏洛茨维尔的国家射电天文观测台(NRAO)度过的“AIPS思想家”计划使用一种称为面向对象编程的技术这将软件安排在模块化块中,以便在不引入导致系统故障的错误的情况下更容易修改或升级他们希望这个名为AIPS ++的新版本能够在两年内完成 AIPS ++对射电天文学家至关重要但他们并不是唯一关注其发展的人,因为AIPS的问题与研究和工业中使用的许多大型计算机程序共享 AIPS是在20世纪70年代末由一个由Eric Greisen领导的NRAO小团队编写的它的设计目的是让天文学家能够利用由多个天线组成的射电望远镜收集的大量电子数据在他们自己的大学创建图像这种望远镜,例如新墨西哥州索科罗的超大阵列,当时是新的研究人员后来对AIPS进行了一些改进,增加了一些软件:减少原始图像失真的软件;一种“自我校准”算法,可以消除地球大气层的影响;和软件允许天文学家以三维方式呈现数据,例如,在第三轴上显示特定物体的速度或红移计算机分析已成为天文学的核心部分 “望远镜本身现在只是一个计算机外围设备,”Greisen说得益于AIPS,天文学家现在可以制作出比望远镜设计师梦寐以求的更加细致和透露的图像然而,随着每一次添加,AIPS变得更加复杂和难以控制它已经膨胀到大约60万行程序代码,大约是原始大小的四倍 Greisen的程序员团队不得不花费更多的时间来保持每个新版本的正常运行事实上,正在开发改进算法的大学研究人员无法将它们添加到AIPS中,因为该软件对于大多数人而言过于复杂构成面向对象程序(如AIPS ++)的模块是明确定义的计算机代码块,每个块负责特定任务,根据严格的规则将信息从一个传递到另一个 NRAO的AIPS专家Brian Glendenning说,每个模块就像一个“黑匣子”使用该软件包的人不需要知道每个黑盒子的工作原理:“你只需要告诉盒子该做什么,它就会这样做”这样一个黑盒子可以包含一张天空图片的所有数据,以及用统计学术语描述它所必需的数学程序 AIPS ++的模块化特性应该可以更容易地替换部分软件,就像用一台接受相同指令的更好的磁盘驱动器替换计算机上的一种磁盘驱动器一样在旧版本的AIPS中,信息被传递给执行特定操作的各种子例程格伦登宁说,这是造成许多麻烦的根源在修改包装时,“你有很多卷须,你必须很好地绑住,否则系统就会崩溃” AIPS ++将使用一种名为C ++的编程语言编写,专门用于面向对象的编程但Greisen说,使用它会带来一些风险许多天文学家对Fortran更熟悉,可能会受到C ++的威胁它是一种更复杂的语言,因此AIPS ++的运行速度可能比其前身慢如果发生这种情况,