1、LAMOST观测控制系统的设计与实现答答辩辩人:人:万万长胜长胜导师导师:金革金革 教授教授1 1中国科技大学博士论文答辩中国科技大学博士论文答辩内容提要LAMOSTLAMOST工程背景工程背景LAMOSTLAMOST观测观测控制系控制系统统分析分析设计设计OCSOCS消息消息总线总线OCSOCS命令解析器命令解析器OCSOCS命令命令执执行器行器OCSOCS视图视图控制器控制器OCSOCS其他其他组组件件OCSOCS与子系与子系统统的接口的接口OCS-2OCS-2级级系系统实现统实现工作工作总结总结2中国科技大学博士论文答辩LAMOST工程背景3中国科技大学博士论文答辩大口径兼备大视场望远镜
2、对天体性质和行为的认识,光学波段光谱最有用目前只有约1:104进行过光谱观测以往的望远镜大多一次只能观测一个目标4中国科技大学博士论文答辩国际上同类望远镜比较国国际际上同上同类类望望远镜远镜比比较较 美国的美国的SDSSSDSS 英国和澳大利英国和澳大利亚亚的的AATAAT 美国的美国的SSTSST 中国的中国的LAMOSTLAMOST性能指数性能指数QIQI 在同在同样样的光的光谱仪谱仪、同、同样样的探的探测测器、同器、同样样的台址条件下,的台址条件下,对对同一亮度的一批天体,在同一亮度的一批天体,在同同样样信噪比的要求下和在某信噪比的要求下和在某一一给给定曝光定曝光时间时间里,所能里,所能
3、记记录录下的光下的光谱谱数量数量望望望望远镜远镜 SDSSSDSS AAT/AAT/2dF2dF SSTSST LAMOSTLAMOST 视场视场(W)(W)3 3o o 2 2o o 3.5 3.5 5 5o o 口径口径(D)(D)2.5m 2.5m 3.9m 3.9m 8.0m 8.0m 4.0m 4.0m 焦比焦比 f/5 f/5 f/3 f/3 f/1.8 f/1.8 f/5 f/5 光光纤纤数数 660 660 400 400 1 13 3 4000 4000 QI QI 4125 4125 6400 6400 192 192 64000 64000 5中国科技大学博士论文答辩LA
4、MOST观测流程控制系统的复杂性导致观测流程的复杂性观测流程观测观测前准前准备备工作工作观测过观测过程程结结束束观测观测6中国科技大学博士论文答辩LAMOST观测流程示意图7中国科技大学博士论文答辩LAMOST观测流程示意图8中国科技大学博士论文答辩LAMOST观测流程示意图9中国科技大学博士论文答辩LAMOST观测流程示意图10中国科技大学博士论文答辩LAMOST观测流程示意图11中国科技大学博士论文答辩LAMOST观测流程示意图12中国科技大学博士论文答辩LAMOST观测控制概念的引入控制系统的复杂性LAMOSTLAMOST运作运作过过程中需要程中需要调调整多个部件的状整多个部件的状态态观
5、测流程的复杂性全自全自动观测动观测观测控制系统的基本任务协协作望作望远镜远镜各部件完成各部件完成观测观测任任务务13中国科技大学博士论文答辩LAMOST观测控制系统进度要求OCS-0级系统原型系原型系统统OCS-1级系统系系统统框架框架设计设计OCS-2级系统设计设计与与实现实现OCS-3级系统功能完功能完备备的系的系统统14中国科技大学博士论文答辩LAMOST观测控制系统分析设计15中国科技大学博士论文答辩LAMOST控制系统模型 16中国科技大学博士论文答辩LAMOST控制系统各子系统功能简介观测观测控制系控制系统统(OCSOCS)OCSOCS是控制系是控制系统统的核心,它的核心,它协协作
6、子系作子系统统完成天文学家的完成天文学家的观观测测任任务务观测战观测战略系略系统统(SSSSSS)制定制定观测计观测计划划望望远镜远镜控制系控制系统统(TCS)(TCS)控制望控制望远镜远镜的各机械系的各机械系统统焦面焦面仪仪器控制系器控制系统统(ICSICS)光光纤纤定位、光定位、光谱仪谱仪控制、控制、CCDCCD曝光、信号曝光、信号读读出等出等数据数据处处理系理系统统(DHSDHS)光光谱谱数据的在数据的在线处线处理和保存理和保存17中国科技大学博士论文答辩OCS命令驱动模型基本思想LAMOST对OCS的功能要求协调协调子系子系统统完成完成观测观测流程流程OCS的基本做法在在OCSOCS中
7、,命令起着至关重要的作用。中,命令起着至关重要的作用。为为了使整了使整个个观测观测流程流程顺顺利完成,利完成,OCSOCS发发送一系列的命令来送一系列的命令来驱动驱动各个子系各个子系统统完成其相完成其相应应的命令。同的命令。同时时,OCSOCS监视监视各个子系各个子系统统的运行状况,根据运行状况,在的运行状况,根据运行状况,在必要必要时时向各个子系向各个子系统发统发送命令,完成需要送命令,完成需要调调整的整的行行为为或命令。或命令。18中国科技大学博士论文答辩命令的分层分分层层的原因的原因 OCSOCS协调协调子系子系统统完成天文学家的完成天文学家的观测观测任任务务的的过过程中,既要程中,既要
8、面面对对天文学家又要面天文学家又要面对对子系子系统统观测观测命令命令 观测观测命令面命令面对对的是天文学家,它是最上的是天文学家,它是最上层层的命令的命令 基本命令基本命令 基本命令面基本命令面对对的是子系的是子系统统 子系子系统统命令命令 子系子系统统命令定命令定义义了子系了子系统统中具体操中具体操纵纵硬件的命令硬件的命令 19中国科技大学博士论文答辩命令驱动模型实现观测流程过程中需要考虑的问题命令的命令的发发送送 如何把天文学家的如何把天文学家的观测观测任任务转换务转换成子系成子系统统的任的任务务 如何按照一定的如何按照一定的观测逻辑执观测逻辑执行行观测观测任任务务 如何制定如何制定OCS
9、OCS与子系与子系统进统进行命令通行命令通讯讯的的协议协议 命令相关的数据集的格式与数据的定命令相关的数据集的格式与数据的定义义子系子系统统反反馈馈信息的信息的处处理理 如何从子系如何从子系统获统获得状得状态态信息信息 如何如何对对子系子系统统的信息的信息进进行行综综合分合分类类 如何完成子系如何完成子系统统信息在信息在OCSOCS内部各内部各组组件件间间的分的分发发 子系子系统统状状态态信息的格式与数据的定信息的格式与数据的定义义 20中国科技大学博士论文答辩命令驱动模型结构图 21中国科技大学博士论文答辩命令驱动模型中的关键问题软件构架消息消息总线总线语义转换命令解析器命令解析器协作子系统
10、命令命令执执行器行器22中国科技大学博士论文答辩OCS消息总线23中国科技大学博士论文答辩消息总线在命令驱动模型中的位置24中国科技大学博士论文答辩消息总线的优点便于统一管理控制信息组件间的松耦合25中国科技大学博士论文答辩消息总线的实现技术CORBA事件服务生生产产者者组组件把件把产产生的控制信息交生的控制信息交给给消息消息总线总线,消息,消息总线总线把把该该信息交信息交给给感感兴兴趣的消趣的消费费者者组组件件CORBA通知服务通知服通知服务务是事件服是事件服务务的的扩扩展集,提供事件展集,提供事件过滤过滤等等高高级级功能功能26中国科技大学博士论文答辩OCS消息总线组件 27中国科技大学博
11、士论文答辩消费者组件 28中国科技大学博士论文答辩生产者组件接口生产者组件的基本功能是通过消息总线组件提供的接口发布信息,因此,它所做的工作就是获得消息总线组件引用,并通过消息总线接口发布信息。生产者组件不需要为消息总线提供接口操作,采用消息总线模式对生产者组件的实现没有任何影响。29中国科技大学博士论文答辩OCS命令解析器30中国科技大学博士论文答辩命令解析器在命令驱动模型中的位置 31中国科技大学博士论文答辩命令解析器概述命令的分层观测观测命令命令基本命令基本命令子系子系统统命令命令基本功能天文学家天文学家观测语观测语言到子系言到子系统统基本命令的基本命令的转换转换(即(即观测观测命令到基
12、本命令的命令到基本命令的转换转换)32中国科技大学博士论文答辩命令解析算法要求各层命令集可以扩充命令间映射关系允许改变上下层命令的映射关系必须唯一解析后的结果对运行观测是合理的,没有冗余命令对解析的结果,需要判断和防止硬件冲突33中国科技大学博士论文答辩命令格式命令命令 命令由命令命令由命令动词动词(CmdVerb)(CmdVerb),选项选项(op)(op),参数,参数(para)(para)组组成,格式如下:成,格式如下:CmdVerb op1 para1 op2 para2 CmdVerb op1 para1 op2 para2 命令命令动词动词 CmdVerbCmdVerb的首字母使用
13、子系的首字母使用子系统统的名称,每个的名称,每个单词单词的首字母大写,的首字母大写,CmdVerbCmdVerb要能反映命令的内容,要能反映命令的内容,CmdVerbCmdVerb允允许简许简写。写。选项选项 opop不区分大小写,不区分大小写,opop包括一个字符包括一个字符-,后跟一个英文字母,后跟一个英文字母,不支持不支持单词选项单词选项。参数参数 parapara位于位于选项选项后,后,parapara可可为为空,空,parapara应应符合特定符合特定选项选项的要求,一个的要求,一个选选项项至多只能跟一个至多只能跟一个parapara。34中国科技大学博士论文答辩观测命令到基本命令的
14、解析基本步基本步骤骤 扫扫描:描:检验检验命令串命令串 推推导导:把:把观测观测命令串中命令串中的符号逐步的符号逐步转换转换成基本成基本命令串的符号命令串的符号35中国科技大学博士论文答辩命令解析过程涉及的数据集观测命令动词集Cobv观测命令选项集Oobv基本命令动词集Cbas基本命令选项集Obas命令动词推导集D1选项推导集D236中国科技大学博士论文答辩命令解析文法命令解析文法命令解析文法G G由四元式由四元式(VT,VN,S,P)(VT,VN,S,P)组组成。其中:成。其中:VTVT是基本命令符号,在命令符号表中,是基本命令符号,在命令符号表中,C Cbasbas和和O Obasbas中
15、定中定义义的基本命令的基本命令动词动词和和选项选项属于属于VTVT。在推。在推导过导过程中它是程中它是终结终结符。符。VNVN是是观测观测命令符号,在命令符号表中,命令符号,在命令符号表中,C Cobvobv和和O Oobvobv中定中定义义的的观测观测命令命令动词动词和和选项选项属于属于VNVN,另外待解析的,另外待解析的观测观测命令命令字符串字符串s s也属于也属于VNVN。在推。在推导过导过程中它是非程中它是非终结终结符。符。S S是命令解析器的是命令解析器的输输入。入。S=sS=s在推在推导过导过程中它是开始符程中它是开始符号。号。P P是从是从观测观测命令符号到基本命令符号的推命令符
16、号到基本命令符号的推导导关系,由命令关系,由命令推推导导表定表定义义。在推。在推导过导过程中它是程中它是产产生式。生式。37中国科技大学博士论文答辩推导过程命令检查推导命令动词推导选项推导38中国科技大学博士论文答辩命令解析器组件外部接口 39中国科技大学博士论文答辩命令解析器内部结构 40中国科技大学博士论文答辩扫描器41中国科技大学博士论文答辩推导器 从扫描器获得待解析元素把解析结果交给结果处理类42中国科技大学博士论文答辩结果处理类 43中国科技大学博士论文答辩OCS命令执行器44中国科技大学博士论文答辩命令执行器在命令驱动模型中的位置 45中国科技大学博士论文答辩命令执行器基本功能OC
17、S的要求OCSOCS的基本功能是的基本功能是协调协调各子系各子系统统共同工作,共同工作,协调协调任任务务由命令由命令执执行器行器实现实现46中国科技大学博士论文答辩命令执行器要解决的问题基本命令交基本命令交给给命令命令执执行器后必行器后必须须在一定的在一定的时间时间段段内被内被执执行行基本命令开始基本命令开始执执行后必行后必须须在一定的在一定的时间时间段内段内结结束束同同时执时执行的多个基本命令,需要判断和防止硬件行的多个基本命令,需要判断和防止硬件冲突冲突没有冗余命令没有冗余命令多个基本命令的多个基本命令的执执行行顺顺序序对对运行运行观测观测是合理的,是合理的,一个命令只有等相关的命令已开始
18、一个命令只有等相关的命令已开始执执行或行或执执行完行完毕毕才能开始才能开始执执行行命令在命令在执执行行过过程中要能响程中要能响应应中断中断基本命令被子系基本命令被子系统统拒拒绝执绝执行后的行后的处处理理 47中国科技大学博士论文答辩命令执行器需要完成的控制系统资源控制命令执行时间控制命令关联控制执行中断控制子系统拒绝处理 48中国科技大学博士论文答辩命令执行器涉及的控制信息集系统资源集由于由于协调过协调过程要解决子系程要解决子系统统硬件冲突硬件冲突问题问题,因此,因此OCSOCS必必须须定定义义系系统资统资源集源集R R基本命令与系统资源的映射集附附录录6 649中国科技大学博士论文答辩命令执
19、行算法原理命令命令执执行行过过程特点程特点 OCSOCS命令命令执执行行过过程,本程,本质质就是就是C C basbas中的基本命令在中的基本命令在时间时间、观测逻辑观测逻辑等等约约束条件下束条件下访问资访问资源源R R的的问题问题命令命令执执行算法原理与行算法原理与执执行行过过程程 OCSOCS采用局域网介采用局域网介质访问质访问的的时时槽槽环环技技术术来来实现实现。整个。整个时时槽槽环环由一系列由一系列的的时时槽构成,每个槽构成,每个时时槽代表一个槽代表一个资资源,可容源,可容纳纳一个基本命令。一个基本命令。环环的的周周围围是命令是命令发发送站(送站(TCSS,ICSS,DHSSTCSS,
20、ICSS,DHSS)、命令接收站和)、命令接收站和监监控站。控站。每一个子系每一个子系统统有一个命令有一个命令发发送站,子系送站,子系统统代理代理(SSA)(SSA)是命令接收站,是命令接收站,监监控站根据子系控站根据子系统统命令命令执执行的情况行的情况监视执监视执行行过过程。程。时时槽槽环环不停的运不停的运行,把行,把环环周周围围子系子系统发统发送站的待送站的待发发送基本命令送基本命令带带到子系到子系统统代理,子代理,子系系统统代理再把代理再把该该命令命令发发往子系往子系统执统执行。行。协协作作过过程的关程的关键键是是综综合合观测逻辑观测逻辑等各种因素制定等各种因素制定时时槽槽环环周周围围的
21、站的站对对时时槽槽环环的的读读写写规则规则,并根据,并根据读读写写规则规则的需要完善的需要完善时时槽定槽定义义。50中国科技大学博士论文答辩资源控制获取资源子系子系统统命令命令发发送站完成送站完成 执行命令 子系子系统统代理代理释放资源 监监控站控站51中国科技大学博士论文答辩命令执行时间控制 基本命令开始执行的时间由子系由子系统统命令命令发发送站控制送站控制 基本命令执行超时由由监监控站控制控站控制52中国科技大学博士论文答辩命令关联控制 人工控制观测逻辑与自动识别观测逻辑人工控制人工控制观测逻辑观测逻辑是是强强制性制性观测逻辑观测逻辑自自动识别观测逻辑动识别观测逻辑是建是建议议性性观测逻辑
22、观测逻辑同步命令 某些基本命令需要与其它基本命令同某些基本命令需要与其它基本命令同时执时执行行前驱命令 某些基本命令需要在其它一些命令某些基本命令需要在其它一些命令执执行后行后执执行行53中国科技大学博士论文答辩执行中断控制 中断控制的原因观测过观测过程中有程中有时时需要中断正在需要中断正在执执行的基本命令行的基本命令中断控制的实现时时槽的修改:中断槽的修改:中断标标志位、中断开始志位、中断开始时间时间、中断、中断允允许许的最大的最大时间时间命令命令发发送站:启送站:启动动中断中断过过程程监监控站:控站:监视监视中断情况中断情况子系子系统统代理:代理:执执行中断行中断 54中国科技大学博士论文
23、答辩子系统拒绝执行处理 子系统代理:获得拒绝信息监控站:提交拒绝信息55中国科技大学博士论文答辩其它读写规则没有控制要求的基本命令的执行命令的强制执行56中国科技大学博士论文答辩命令执行器设计57中国科技大学博士论文答辩命令分发器58中国科技大学博士论文答辩子系统命令发送站 59中国科技大学博士论文答辩时槽环 60中国科技大学博士论文答辩监控站 61中国科技大学博士论文答辩子系统代理 62中国科技大学博士论文答辩OCS视图控制器63中国科技大学博士论文答辩视图控制器在命令驱动模型中的位置64中国科技大学博士论文答辩功能与设计要求视图控制器基本功能为为天文学家提供控制天文学家提供控制LAMOST
24、LAMOST观测过观测过程的界面程的界面设计要求良好的良好的扩扩展性,易于修改展性,易于修改与与OCSOCS内部的松散耦合内部的松散耦合要求既能方便的控制要求既能方便的控制观测过观测过程,程,还还要能方便的要能方便的监监测观测测观测情况,同情况,同时还时还要能提供在要能提供在线线工具工具65中国科技大学博士论文答辩视图控制器的设计模式SVC的模式S(subject)S(subject)为应为应用主体,即根据命令用主体,即根据命令驱动驱动模型定模型定义义的的观测观测控制框架模型控制框架模型V(view)V(view)即即显显示示给给天文学家的控制天文学家的控制视图视图C(controller)C
25、(controller)把用把用户户的的输输入入转换转换成主体的操作成主体的操作优点把把实现实现不同功能的不同功能的组组件分离开来,提高了灵活性件分离开来,提高了灵活性和复用性和复用性66中国科技大学博士论文答辩视图组件 67中国科技大学博士论文答辩菜单类状态显示器命令流生成器编辑工具数据库网络68中国科技大学博士论文答辩流程类基本任务观测观测流程控制步流程控制步骤骤类定义69中国科技大学博士论文答辩状态监控类监视命令执行情况类定义70中国科技大学博士论文答辩Shell类字符界面类定义71中国科技大学博士论文答辩OCS其他组件72中国科技大学博士论文答辩命令流生成器73中国科技大学博士论文答辩
26、日志记录器74中国科技大学博士论文答辩日志管理器 75中国科技大学博士论文答辩命令管理器 76中国科技大学博士论文答辩状态管理器 77中国科技大学博士论文答辩OCS与子系统的接口78中国科技大学博士论文答辩接口类别命令接口OCSOCS如何把命令如何把命令发发送送给给子系子系统统状态接口OCSOCS如何从子系如何从子系统获统获取命令取命令执执行的状行的状态态信息信息79中国科技大学博士论文答辩接口命令协议命令的接收/拒绝协议这这是一种异步接口模式,是一种异步接口模式,OCSOCS不等待子系不等待子系统执统执行行完完毕毕。命令的执行反馈协议提供命令的提供命令的执执行完成情况信息行完成情况信息开始、
27、完成、出开始、完成、出错错、正在、正在执执行、中断行、中断80中国科技大学博士论文答辩接口状态协议主动式状态获取由于子系由于子系统统状状态态信息的改信息的改变对变对于于OCSOCS而言具有很而言具有很大的随机性,大的随机性,为对为对子系子系统统状状态态随随时时作出反作出反应应,OCSOCS要求子系要求子系统统具有一定的主具有一定的主动动性功能性功能81中国科技大学博士论文答辩接口数据集子系统状态集OCSOCS中最底中最底层层的命令的命令执执行信息行信息子系统事件集子系子系统统中出中出现现的的阶阶段性的事件段性的事件观测事件集观测过观测过程的程的阶阶段性事件段性事件82中国科技大学博士论文答辩子
28、系统事件的获得过滤的方式获得开始开始执执行基本命令行基本命令基本命令基本命令执执行完行完毕毕83中国科技大学博士论文答辩观测事件的获得从子系统事件对应的基本命令获得相关的观测命令通过命令解析器提供的工具获得该观测命令相关的基本命令集从OCS观测数据库中获得上一步中观测命令对应的基本命令集的执行情况综合出观测事件84中国科技大学博士论文答辩接口软件模块的设计 85中国科技大学博士论文答辩OCS-2级系统实现86中国科技大学博士论文答辩OCS开发平台linuxlinux操作系操作系统统 LinuxLinux遵从遵从posixposix标标准准 开放源代开放源代码码C/C+C/C+开开发语发语言言
29、灵活灵活 快速快速软软件系件系统统架构工具架构工具 CORBACORBA图图形形库库 QTQT数据数据库库 MYSQLMYSQL87中国科技大学博士论文答辩光纤定位系统的测试 88中国科技大学博士论文答辩测试流程传送星表坐标分区定位回零采集图像计算定位精度 89中国科技大学博士论文答辩OCS与光纤定位系统接口软件实现基于tcp的socket连接非阻塞的读写接口client把命令交给接口server。接口server执行命令90中国科技大学博士论文答辩测试结果该次对接过程中,光纤定位系统实现了同时定位19颗目标星的预计目标 91中国科技大学博士论文答辩工作总结92中国科技大学博士论文答辩本论文工
30、作总结观测观测控制框架的完善控制框架的完善 命令流生成器的位置命令流生成器的位置 视图视图控制器的外部控制器的外部联联系系 命令命令执执行器的外部行器的外部联联系系 命令状命令状态态智能智能处处理器的外部理器的外部联联系系 其它其它组组件功能和接口的完善件功能和接口的完善关关键键算法算法 语义转换语义转换算法算法 协协作算法作算法 信息信息综综合分合分类类算法算法93中国科技大学博士论文答辩本论文工作总结数据集数据集 确定了控制信息数据模型和控制数据集,并确定了控制信息数据模型和控制数据集,并对对数据集的数据集的修改提出了修改提出了约约束条件束条件OCSOCS组组件的件的实现实现 消息消息总线组总线组件件 视图视图控制器控制器组组件件 命令解析器命令解析器 命令命令执执行器行器 组组件管理器件管理器 与光与光线线定位系定位系统连统连接接94中国科技大学博士论文答辩实现难点与解决途径控制的复杂性和观测流程的复杂性引入了引入了观测观测控制的概念控制的概念利用CORBA技术构筑了OCS消息总线采用基于编译理论的语义转换算法完成了命令解析过程采用基于时槽环的命令执行算法实现了协作子系统共同工作的任务完成了光纤定位系统的测试工作95中国科技大学博士论文答辩致谢96中国科技大学博士论文答辩