评论文章|开放获取
阿兰•克洛茨, ”用于机器人望远镜网络的协议”,天文学的发展, 卷。2010年, 文章的ID496765年, 8 页面, 2010年。 https://doi.org/10.1155/2010/496765
用于机器人望远镜网络的协议
文摘
自主机器人天文台可以使用现代通讯接收来自机构的相关信息,生成事件观察(如超新星,近地小行星,引力透镜效应,和伽马射线)。本文是写给天文学家在计算机科学不是专家。我们给的解释一些基本的和先进的协议来接收事件,如何实现机器人天文台软件。我们描述GCN通知等消息VOEvents或RTML和协议如CGI、HTTP、SOAP、RSS和XMPP。
1。介绍
自主机器人天文台(AROs)使用复杂的软件来控制设备和检查安全状况(天气、电力供应和机械传感器)。这个软件必须交换消息的不同部分和与外部资源。ARO不是连接到另一个时,消息可以使用任何语言,但在十年中,有协调努力规范通信协议(1]。最终目标是望远镜网络发送警报信息,可以通过网络中的任何天文台是可以理解的。科学观测网络的目标是最大化观测效率,以描述对象最近发现的性质(例如,小行星,超新星,伽马射线)或执行优化跟进(如引力透镜和变量明星)。在本文中,我们专注于中通常使用的望远镜网络协议技术的背景下,虚拟天文台(VOs)。这些协议主要是定义和维护国际虚拟天文台联盟(http://www.ivoa.net/)(IVOA)和本文的范围就是现在他们不是专家在计算机科学的天文学家。
2。代理服务器、客户端
在签证官的上下文中,我们定义一个代理软件或图书馆,ARO执行预定义的任务(例如,在2])。例如,望远镜代理是一个软件可以把望远镜山。
一般来说,代理是奴隶,等基本的命令。在计算机科学的背景下,他们命名服务器。服务器是一个代理,永远等待,直到收到一个订单。当接收到订单时,执行相应的任务,和代理返回到等待循环。所有服务器代理是由一个更智能代理收集天文台和进度的状态的观察,并决定向服务器发送订单代理。这种智能代理客户在计算机科学的上下文(参见图1)。首先,智能代理服务器建立客户联系代理。第二,智能代理发送消息到服务器代理订单对应的序列观测计划。ARO代理的一个很好的例子是套件RTS2 [3),可以适应许多硬件配置。一个更复杂的例子望远镜网络及其代理人(RoboNet-II)中描述4]。
3所示。什么是协议?
计算机科学使用开放系统互连参考模型的概念(以下OSI模型)来定义计算机之间如何通信。OSI模型定义了七层:物理、数据链路、网络、交通、会议、报告和应用程序。一分之三层相关媒体用来发送数据(互联网协议,点对点协议,电缆,中心,等等)。最后的四层关注的数据是如何在计算机管理。ARO代理使用协议定义的本质上是在应用程序层。在这篇文章中,我们将使用以下协议:CGI、HTTP、SOAP、RSS和XMPP。
应用程序层协议定义如何被运送到了其他代理的消息,但消息的内容都写在一个给定的语言。在本文中,我们使用以下语言:HTML和XML。
的组合应用程序层协议和消息语言定义了协议中定义的标题。让我们举一个例子。望远镜代理正在等待一个消息使用一个事件循环基于TCP套接字服务器。一次,TCP套接字接收来自智能代理以下消息:
坐标
RightAscension 41.25 / RightAscension
赤纬 + 22.5 /偏差
/坐标
这个消息写在可扩展标记语言(XML),一位天文学家是可以理解的。这是一个文本语言的语法规则基于开始标记( )和相应的结束标记(/)。标签坐标意味着以下坐标代表下一个目标去观察。参数是赤经和赤纬。相应的值躺在开始/结束标记分别RightAscension和偏差。标签偏差可能是由于之前RightAscension没有任何差异的解释。如果米德望远镜控制器是基于LX200协议,望远镜代理必须转换坐标的语言控制器(LX200米德命令的完整列表可以在找到http://www.meade.com/support/CommandSet.html):
:Sr02:45:00 #
:Sd + 22 * 30:00 #
然后,这两个命令必须把望远镜的RS232插座控制器。这些低水平命令取决于制造商的望远镜控制器和望远镜剂的作用是把命令从一个标准形式(参见上面的XML文本,看看部分6RTML定义)的低水平命令语言特定于望远镜控制器(例如,LX200米德语言)。
4所示。协议准备观察
在一个完整的ARO,观察是由一个日程安排代理类型相关的观测来最大化准则科学成果(5]。同样重要的是简化人类的观察数据输入请求,避免人为错误,当进入目标坐标。例如,最好要求小行星的名字而不是要求它的坐标变化。在本节中,我们展示了如何把两个简单的名字解决代码在一个ARO代理。
4.1。CGI和HTTP
在本节中,我们提出一个经典web服务交付的小行星中心(MPC)。MPC为小行星提供在线星历表。首先,使用web浏览器连接到MPC服务器(图2)。统一资源定位符(URL)是MPC服务器计算机的地址提供web页面。这个页面是用超文本标记语言(HTML)是基于开始和结束标记(例如,HTML和/ HTML)。MPC的web服务,web表单的摘录算法定义的HTML代码1。
|
||||||||||||||||||||||||||||||||||||||
由浏览器解释这段代码给图上可以看到什么2。主要的标签是形式。它定义了网络设备(以下部件)按钮、单选按钮、文本区域,等等。这些小部件将发送的内容相关联的URL参数操作标记的表单使用POST方法。这个URL触发脚本通用网关接口(CGI)在MPC服务器用户按submit按钮时。总而言之,数据格式是CGI-POST和HTTP协议。
显然,一个ARO必须能够发送一个CGI表单没有任何人类行为(即。,没有一个web浏览器)。如何去做?ARO必须使用的软件代码,模拟由浏览器显示的web表单。对应的代码获得谷神星的星历表是由行后的七个用Tcl脚本语言编写的(参见算法2)(可用文档http://www.tcl.tk/。Tcl / Tk是安装在大多数Linux发行版。类型tclsh推出Tcl翻译。):
|
||||||||||||||||
在脚本结束,变量html_text包含结果的HTML代码。下一个行动是解析HTML文本提取小行星的坐标。
4.2。SOAP和HTTP
简单对象访问协议(SOAP)是CGI-POST接近。它可以用于HTTP。让我们举一个例子。我们想使用web服务中心的数据Stellaires (CDS)找到坐标关联的对象名称。解决这个名字不是可用的浏览器,因为SOAP协议没有图形界面在web浏览器中。然而,SOAP是容易使用的ARO剂和肥皂可以比CGI-POST许多技术原因,超出了本文的范围。作为一个例子,下面的线是用Tcl脚本语言编写的解决复杂的坐标51(参见算法3)。
|
||||||||||||||||
在脚本结束时,变量xml_text包含结果的XML代码。下一个行动是解析XML文本提取星系的坐标。行算法4显示XML代码返回的变量xml_text。
|
||||||||||||||||||||||||||||||||||||||||
中定义的URL参数xsi: noNamespaceSchemaLocation给标签的结构中使用的文档。坐标以十进制形式在于标签jradeg和jdedeg。XML格式更容易解析返回的HTML代码这样CGI-POST的部分4所示。1因为坐标提取从内部定义的HTML代码没有必要开始/结束标记和返回的HTML代码的结构不是auto-documented是XML。
5。协议来接收事件
刚刚发现伽马射线爆发(GRB)光学余辉(1997年6]BACODINE成立,一个互联网信息分发服务,成为后来的伽马射线协调网络(之下,7])。这个服务是信息的数据输入由卫星装备的实时定位器的伽马射线爆(例如,斯威夫特、积分和费米)。有用的输出ARO之下的通知。(见http://gcn.gsfc.nasa.gov/invitation.html完整描述)为每一个伽马射线爆发引发的卫星,GCN构建一个注意,显示坐标,错误框和总结杂项信息表征的破裂。这些通知是自动生成时将出现一个新的触发。自由分布是由一个简单的TCP套接字连接到任何ARO要求接收通知。
5.1。政府通讯通知和TCP套接字
TCP套接字是一个简单的方法在软件之间交换消息。原则是基于客户机-服务器连接。首先,软件,想打开一个端口接收消息。这是服务器和端口是一个0到65535之间的整数。发送消息的其他软件打开一个连接到互联网协议(IP)数量在服务器的端口号。这是客户端。政府通讯服务,ARO GCN打开服务器和客户联系并发送通知的方式。GCN必须知道谁是服务器。它是强制性的注册的IP +端口号ARO代理之下。然后,ARO代理打开服务器套接字端口,等待政府通讯通知。 Note that the port number is attributed by the GCN (the list of registered ARO ishttp://gcn.gsfc.nasa.gov/sites_cfg.html)(例如,塔罗牌望远镜端口= 5134)。
在GCN通知由TCP套接字、数据编码的二进制流40 4字节的整数。所以,总共160字节开始解码之前必须收到通知参数。对应的代码在Tcl脚本显示了算法5。
|
||||||||||||
在这段代码中,过程socket_accept被称为TCP通道被打开。注意,这个通道被配置为只在收到160个字节时被激活。的fileevent函数创建一个回调过程socket_read当数据到达打开通道:
proc socket_read 通道
设置行(读160频道)
如果 eof美元通道)
近美元通道
elseif (美元fblocked频道)!
二进制扫描行我*美元多头
设置数据(notice_parser多头美元)
美元返回数据
返回"
这个过程socket_read读取通道中的数据并将它们存储在变量中行。然后它将行到40个整数变量列表多头。现在你必须调用过程notice_parser检索的天球坐标伽马线暴(参见算法6)。
|
||||||||||||||
中定义的规则解析GCN文档。(注意定义可以下载http://gcn.gsfc.nasa.gov/sock_pkt_def_doc.html)。通知的类型(pkt_type)是最重要的参数解码。触发器的类型与来源(例如,迅速蝙蝠触发器pkt_type = 61)。这个过程notice_parser返回最小信息:通知的类型和天球坐标。很明显,一个真正的实现解析器应包括其他信息通知为了达成是否触发值得观察。最后一个Tcl函数vwait永远必须激活事件循环使用的套接字监听器。
5.2。使用GCN通知和TCP套接字的局限性
使用TCP套接字的优势是任何编程语言的代码容易编写。几乎所有的早期光排放grb多亏了这个系统中被发现。然而,有几个缺点:
(1)大多数机构不授权的政府通讯端口由于安全原因。研究所必须配置防火墙的网络管理员授权唯一的IP数字之下(128.183.16.187、128.183.96.236 128.183.96.237)连接服务器上的端口。不幸的是,并不是所有研究所授权这样做。可以裙子的问题通过使用虚拟私有网络(VPN)。(2)解析GCN注意参数取决于每种类型的警报(2009年超过100中定义)。解析器必须处理所有情况下健壮。一个新的卫星的到来意味着添加代码。(3)政府通讯计算机必须验证连接的电脑。这个优秀的工作是由斯科特Barthelmy但这几乎是不可能的扩展系统ARO成千上万。解决方案是更换160字节通知由XML文件专门定义一个事件。在签证官的上下文中,这些是VOEvents。
5.3。政府通讯通知和VOEvents
VOEvent是一个XML文件(http://www.ivoa.net/cgi-bin/twiki/bin/view/IVOA/IvoaVOEvent)。由IVOA VOEvent规范维护。VOEvent的结构
小海湾:VOEvent
谁 /谁
什么 /什么
WhereWhen / WhereWhen
如何 /如何
为什么 /为什么
如何 /如何
/小海湾:VOEvent
应用于GCN通知,VOEvent应当载明通知类型的标签:
什么
参数name = value = " 61 " /“Packet_Type”
/什么
天球坐标位于标签WhereWhen;看算法7。
|
||||||||||||||||||||||||||||||||
访问坐标似乎不是微不足道但解码规则存储在一个文件中定义的标签小海湾:VOEvent参数xsi: schemaLocation(见部分4所示。2对于类似的情况)。的完整解析器VOEvent很难发展但没有需要更新的时候一种新的发送通知。
5.4。VOEvents和XMPP
VOEvents可以播放使用TCP套接字但不解决问题管理成千上万的连结的广播和授权问题。有许多解决方案在计算机科学,但主要的限制是ARO代理必须打开客户端而不是服务器授权的联系来解决这个问题。然而,在这种情况下,问题是,广播公司(即。ARO GCN)不能连接本身,代理。必须找到一个机制,允许ARO特工被告知当一个新的VOEvent可以下载。
一个解决方案是使用Really Simple Syndication (RSS)。ARO代理下载、定期一个文件中定义一个固定的URL (GCN RSS URLhttp://www.estar.org.uk/voevent/GCN/GCN.rdf)。这是一个XML文件,其中包含两个重要信息:标记发布日期这表明当创建最后通知,和标签链接表明去年VOEvent文件下载的URL。在伽马射线爆的情况下,ARO代理应该被告知的频率高于1 Hz。这通常是一个频率过高RSS通量(但RSS为低频事件仍然是一个不错的解决方案作为引力透镜效应,例如)。
更好的解决方案来自于可扩展消息传递和到场协议(XMPP)。这是一个开放的协议用于即时消息。这不是非常不同于流行的SkyPE或MSN Messenger但XMPP是开源的!ARO代理打开一个客户联系XMPP服务器。XMPP客户端标识,必须订阅一个提要。有这样一个服务器在加州理工学院(见信息http://voeventnet.caltech.edu/software/index.html)。这个服务器也提出了一个Java客户机命名voeclient.jar很容易被包括在任何代码。一个配置文件允许选择GCN VOEvent格式通知;(参见算法8)。
|
||||||||||||||||||||||||||||||||||||
XMPP客户机运行时使用一个Java运行时环境(JRE)可用于任何操作系统。在开始之前,必须创建一个帐户:
java jar voeclient。jar - n的名字我的密码client.properties
和一个必须GCN VOEvents订阅
java jar voeclient。jar - s home /莫里奥里人。cacr.caltech.edu/egcn
client.properties
然后,下面叫VOEvents启动侦听器:
java jar voeclient。jar - rclient.properties
voeclient.jar生成文件的饲料。日志可以遵循新的VOEvents的到来。不幸的是,原始代码voeclient.jar不写VOEvent本身在磁盘上但是代码是开放源代码的,很容易编写代码后评论“/ /在这里添加代码来处理数据包”VOEventJabberClient。java代码。注意,这段代码也能够发送VOEvent。
6。RTML
远程望远镜标记语言(RTML,看(http://www.astro.physik.uni-goettingen.de/hessman/)[8,9)通常用于给定ARO代理之间的通信。RTML定义了一个XML语法来描述观察参数如仪器设置。RTML与VOEvent不同。VOEvents定义科学观察的对象。然后,VOEvent必须被一个特工解析天文参数生成RTML消息知道天文台的仪器特点。在望远镜的情况下网络,这个代理必须为每个望远镜生成RTML消息。的力量的结合VOEvents RTML是代理可以优化观测知道先前存在的望远镜观察策略的异构网络(HTN)。总结一下,VOEvent定义的天文特征目标和RTML定义了望远镜观察这一目标设置。协议发送和接收RTML消息可以我们想读的东西(如TCP套接字,和SOAP)但必须适应HTN ARO或的约束。
节3我们把智能代理的一个例子,将一个RTML消息发送到望远镜代理:
坐标
RightAscension 41.25 / RightAscension
赤纬 + 22.5 /偏差
/坐标
这只是一个摘录RMTL消息的集中在标签坐标。RTML还可以使用从望远镜代理通知完成一个任务的智能代理。
7所示。结论
协议为机器人望远镜网络刚开始可以几年及其发展还没有完全完成。今天,最重要的异构望远镜网络会也是一个开发平台VOEvents和RTML [10]。在下一年,成千上万的VOEvents被认为是由大型数字调查项目(口径(播放http://www.lsst.org/)和之一(http://pan-starrs.ifa.hawaii.edu/)。重要的是要把这些协议融入ARO代理尽快,尤其是在小型望远镜网络,因为他们会因此受益于VOEvents生成的大调查,使他们能够积极参与二十一世纪的天文科学。
确认
作者感谢马修·格雷厄姆和约书亚布鲁姆有用的讨论和CNRS-INSU东德PCHE通过费加罗基金提供协作。
引用
- 自r白色和a·艾伦望远镜异构网络系统的概述:概念、可伸缩性和操作,“Astronomische后卷,329年,第236 - 232页,2008年。视图:出版商的网站|谷歌学术搜索
- c . j . Mottram和弗雷泽、“robonet - 1.0,”Astronomische后,卷329,不。3、317 - 320年,2008页。视图:出版商的网站|谷歌学术搜索
- 和j . p . Kubanek m•耶利内克法语,“RTS2协议,”先进控制软件和天文学卷,7019学报学报p。92年,马赛,法国,2008年6月。视图:谷歌学术搜索
- y Tsapras, r .街,k·霍恩et al .,“RoboNet-II:后续观测望远镜的透镜事件与机器人网络,”Astronomische后卷,330 4,2009页。视图:出版商的网站|谷歌学术搜索
- t·格兰兹,“是什么让机器人自动望远镜?”Astronomische后,卷325,不。6 - 8,513 - 518年,2004页。视图:出版商的网站|谷歌学术搜索
- j . van Paradijs p . j . Groot t Galama et al .,“瞬态光学发射的错误框1997年2月28日的射线爆发”,自然卷,386年,第689 - 686页,1997年。视图:出版商的网站|谷歌学术搜索
- s . d . Barthelmy t·l·克莱因p·巴特沃斯et al .,“伽马线暴坐标网络(GCN):一个状态报告”伽马射线爆发c . Meegan和r . Preece Eds。卷,526航会议论文集施普林格,页731 - 735年,柏林,德国,2000年。视图:谷歌学术搜索
- c . Pennypacker m·波尔·r·丹尼et al .,“RTML-a标准使用远程望远镜让无处不在的使用远程望远镜,“天文学和天体物理学卷,395年,第731 - 727页,2002年。视图:出版商的网站|谷歌学术搜索
- f . v . Hessman“远程望远镜标记语言(RTML)”Astronomische后,卷327,不。8,751 - 757年,2006页。视图:出版商的网站|谷歌学术搜索
- 答:艾伦,t·内勒和e·s·桑德斯”自主软件:神话还是魔法?”Astronomische后卷,329年,第268 - 266页,2008年。视图:出版商的网站|谷歌学术搜索
版权
版权©2010阿兰•克洛茨。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。