研究文章|开放获取
切赫Kubanek, ”RTS2-The远程望远镜系统”,天文学的发展, 卷。2010年, 文章的ID902484年, 9 页面, 2010年。 https://doi.org/10.1155/2010/902484
RTS2-The远程望远镜系统
文摘
RTS2是一个开源的天文台经理。这是从头在c++语言编写,可移植性和模块化。它起源于快速跟进的驾驶需求伽马射线爆发。经过一些年的发展现在用于携带任务最初无意携带。本文介绍了当前的发展现状RTS2代码。它侧重于描述策略,以及未能实现预期的结果。
1。介绍
RTS2源于即时战略游戏,远程望远镜系统。即时战略游戏写在1999年和2000年作为计算机科学课程(团队项目1)学生的数学和物理教师在布拉格查尔斯大学的。
RTS2主要是开发的吗Ubuntu Linux分布。众所周知上运行各种各样的Linux发行版,Solaris操作系统和部分微软视窗系统和Mac OS X。
项目源代码可以从网站获得http://rts2.org/。项目的Wiki页面http://rts2.org/wiki/集团经历各种全自动天文台项目列表。
本文的大纲如下:第一部分是介绍。在下一节中描述了项目的目标和历史发展。第三部分重点是描述里面的各种任务RTS2有分歧。第四个总结通信协议。下一节描述的方法在开发期间使用。第六部分形式的核心文章列表目前添加特性。第七节告诉读者关于当前正在运行RTS2系统。第八提醒我们关于我们的经历重新启动失败的设备。结尾部分对预期发展的贡献。
2。项目目标和它的发展
原始的目标RTS2发展为一个小机器人生产软件望远镜,致力于研究伽玛射线暴(伽马线暴)瞬变。项目的需求
(我)必须充分自治,(2)必须尽快反应传入伽马线暴警报,(3)必须执行定期观察期间无伽马线暴观察来验证系统准备就绪,(iv)必须是模块化,使简单的转换的工具。这些要求是在2000年初。他们与其他项目有相似之处,特别是AudeLA(2)和利物浦望远镜系统(3]。当时,开源项目类似的规模并不存在。可用的商业,闭源解决方案要么是与一个仪器,有问题可移植性他人望远镜,或未满足的需求快速切换目标。值得注意的是,即使在今天它不容易实现这个要求。它形成一个强有力的进入障碍,对于那些想成为伽马线暴观察员。
随着项目的先进,还添加了额外的需求。他们反映了经验在开发过程中,尤其是痛苦和问题的早期移植系统到另一个天文台:
(我)系统必须足够健壮的继续操作即使非关键部分(s)失败;(2)观察者必须有可能远程与观察;(3)使用配置文件系统必须完全可配置;(iv)系统必须提供清晰的描述它的组件执行;(v)观察者必须提供设备的列表失败;(vi)代码应该包括虚拟设备驱动程序没有硬件测试软件。创建虚拟环境在系统开发带来极大的好处。它们使开发人员调试系统部署。仍然存在情况下检测到错误和缺陷只在晚上运行。但随着项目的不断成熟,这些病例的数量显著下降,有记录的情况下新的软件,有意义的新功能,部署和它只是工作,没有任何调试。
随着天文台数量的运行RTS2的增长,他们的管理,解决各种小故障,以及他们的调度和数据处理开始饱和员工时间。我们意识到这一点,我们在进步创造工具将允许我们管理的网络操作使用一个较小的运营商。
3所示。RTS2概览
RTS2是基于“即插即用”哲学。部分构成系统可以启动,重新启动或停止在任何时间,在不影响系统性能。是特别注意解决所有可能的阻塞状态,所以该系统将总是在合理的时间响应请求。
整个系统是user-space-based,除了司机提供通过硬件制造商或我们的集团,它不需要任何kernel-space-based组件。
代码是围绕一个中心选择系统调用,选择任何传入的消息。如果没有传入消息类闲置方法被调用。代码使用广泛的层次结构的c++类。
的RTS2系统包括列于表的过程1。图1显示过程和连接用于天文台的一个例子,其中包括三个ccd,两个半圆,和一个气象站穹顶。详细描述请参阅[4]。
|
||||||||||||||||||||||
4所示。通信协议
RTS2拥有自己的通信协议。详细的协议描述中可以找到(5]。协议是基于通过TCP / IP套接字发送ASCII字符串。这是快速、简单和鲁棒性。其重要特性之一
(我)发送的“我活着,”如果没有收到这回复删除连接断开连接死组件,(2)切换到二进制模式的数据传输能力,传输图像和其他大型数据项,(3)交通加速值没有改变没有运输。协议支持库为开发人员提供了一个灵活和简单的方法来使用系统的常见的部分。这导致一个健壮的、透明的代码,可以很容易地扩展。这大大提高软件重用。有合理的希望和声称的接口简单来理解开发人员不熟悉项目。
5。编码风格和哲学
人们普遍传言,有尽可能多的编码方法是软件开发人员。本节的目标是上市规则和海关期间使用RTS2发展。虽然他们中的大多数已经广为人知,我们希望他们是值得一提的。
最好的代码文档代码本身。本文的读者鼓励检查系统和研究它。代码的复杂性RTS2项目不能完全透明的。出乎意料的是,开发人员将在第一次遇到理解代码。重要的是,他/她发现所使用的接口。之后,他/她可以继续发展对系统核心类。
5.1。跟踪软件版本控制系统的变化
这个项目是在Subversion (Subversion网站-跟踪http://subversion.tigris.org/)跟踪系统。以前版本跟踪依赖并发版本系统(CVS)。(CVS网站-http://www.nongnu.org/cvs/)。我们不得不承认开关Subversion的版本控制系统提供了重要的改进,和我们很惊讶Subversion的能力。Subversion真的提供了简单的解决困难的或不可能的情况下与CVS来处理。
5.2。代码版本
随着项目仍在积极开发,发布形式主义还不是很确定。通常有两个大版本在一年。天文台都运行Subversion code-code从Subversion定期更新并投入使用。这个版本管理方法也用于软件分发。我们希望平静这个速度和建立正式的释放机制。
5.3。开发Cycle-Release早期
变化通常致力于颠覆一旦编译没有错误。在每次提交之前,新代码和代码库的区别了。的意义和目的犯行再次检查。
这种方法跟踪的绝大多数错误之前他们做版本控制存储库。毕竟改变承诺,至少一些文档解释提供了新功能,代码的行为再次测试。由开发人员,测试将被执行。通常在虚拟系统测试设备,后来搬到了一个真正的天文台。但小变化,引入可预测的结果,在天文台上直接进行测试。
5.4。遵循共同的实践
常见的做法可以用几句话概括,如:三思而后行,代码一次。与他人讨论,告知用户更改。试着设计一个通用的解决方案,而不是一个简单的添加新的问题。慢慢地添加新特性和测试之前执行另一个。把一个复杂的问题简单的子问题,为他们实现和测试解决方案,然后把代码来解决复杂的问题。记住最好的开发人员能够设计,编码,测试和发布不超过100行/工作day-try保持小的行数通过重用现有代码中或在c++库。
6。当前的发展
这部分是最近添加到处理特性RTS2。波纹管提供的列表不是complete-please看到项目日志更深入的描述。
6.1。状态机
RTS2使用状态机。美国代表各种状态的硬件,例如相机可以有空闲,暴露,读出的状态。
美国最初是用于编码目的,区分代码的各种状态。他们显示在监视应用程序,这样用户被告知设备应该做什么。
后来国家使用对同步扩大。州防止相机曝光望远镜运动期间,在曝光和不必要的望远镜运动。他们显示在用户显示,允许观察确定哪些设备是阻止下一个接触或下一个望远镜运动。同步的使用状态是描绘在图2。
6.2。默认配置
最初RTS2观察之前并没有改变配置的设备。这使得用户负责设备配置。他/她可以使用观察监视应用程序或脚本。
这种处理后延长RTS2记住默认值。命令script_ends添加到协议。它加载的所有变化值。
这段代码被成功用于聚焦。系统能够改变回最后一次正确聚焦器位置即使集中运行中断。但它开始显示其瓶颈,尤其是
(我)不可预知的行为最终user-he /她改变一些东西,突然另一个值出现在获得图像;(2)未知的默认价值体不幸的是没有显示值被改变;(3)系统很难代码,因此,很难维护。各种解决方案被认为是解决这些瓶颈。以下被选为最好的:
在适当的时候,系统提供的默认值和各种补偿。默认值可以改变只在用户请求,并由系统从未改变。补偿可以通过用户和/或系统被改变。补偿零在开始下一个观察; 或只提供缺省值值写在设备默认的配置文件。这两种情况下可以从一个例子是最好的理解。第一种情况可以最好的展示了新的聚焦器接口和第二个CCD上处理模式设置。
6.2.1。偏移量,默认值和目标
接口为终端用户提供以下值:
(我)当前值,这是阅读从聚焦器;(2)目标价值,下面列出的值等于总和;(3)默认值,设置由用户;(iv)集中补偿值,用户可设置的;(v)临时集中补偿值,用户可设置的,零结束时观察脚本。变化的最后三个值用于用户聚焦器交互。默认值是当用户想改变显著改变聚焦器的位置。例如可以设置偏移量不同光学厚度的过滤器。和时间集中补偿用于聚焦脚本改变聚焦器位置集中运行期间。
如果集中运行中断,聚焦脚本完成,或集中的程序断开连接,时间集中抵消由聚焦器驱动程序设置为零。然后一个聚焦器的新目标计算和使用价值。
类似的控制是用于望远镜。抖动补偿用于命令从目标位置。
6.2.2。摄像头采集模式
新现代相机提供各种设置。一些组合的设置对天文学很好,虽然有些很糟糕。所需的系统的行为是只允许用户设置好的设置,避免坏习惯,同时还留下一个选项来手动设置所有变量。
所需的系统的行为也将脚本的末尾的相机切换到默认模式,以便下一个脚本可以使用摄像头,不改变任何变量。
这个功能是通过设置相机提供的模式回到默认的脚本。相机模式文件提供了不同的模式。第一个是默认,这是用于设置相机。一个示例配置文件包含在软件发布。
6.3。天文台调度
众所周知,天文台调度不是一个微不足道的问题。调度类属于np难问题,不使问题更容易。最重要的是,它并不总是清楚到底应该观察到为了天文台的科学产出最大化。
RTS2目前为用户提供三种调度模式:分派调度、队列调度和预编的晚上的计划。先进的遗传算法调度,它应该能够安排整晚运行,后期整合阶段。在以下部分中描述的调度模式。
6.3.1。分派调度
分派调度的调度使用在大多数,如果不是所有全自动天文台。每个可观测的目标是指定一个价值函数,其预期收益。分派调度所有目标计算的优点,选择最好的一个优点,并观察它。这个目标完成后,调度程序重新计算价值函数,选择一个新的目标。这种方法讨论了多个作者,尤其是[6,7]。RTS2提供了这个模式选择器组件。
再。队列调度
队列调度计划目标human-night观察者的循环。晚上观察者提供一个可能的目标列表,这是值得观察。基于当前条件下,仪器设置和天文学家偏好,他/她选择一个队列并执行其观察。目标完成后,从队列中选择一个新的目标,或者队列由观察者改变。
这所使用的调度是当前大天文台,例如,通过ESO VLT [8)、CAHA和IAC望远镜。
观察者可以填补一个队列的目标RTS2执行人组件。计划提供自动选择的目标,所以观察者进入他们在晚上,该系统将在夜间观察他们在最佳的时间和天气。
6.3.3。晚上的计划
另一种方法是提供一个详细的计划,这将列出的顺序观察,他们的时间和图像应该如何处理。虽然RTS2晚上计划提供支持,它不提供任何接口创建和管理计划。观察者必须填一个文本文件和加载到一个数据库中。因为这个操作的复杂性和缺乏支持这个选项不是广泛使用的工具。
6.3.4。遗传算法调度
上面讨论的调度模式是最优的。分派调度缺乏可预见性和short-sighted-it生产时间表搜索局部极大值,而不是专注于长期收益。队列调度和规划需要重要的观察者的参与。
我们提出并实现了基于遗传算法(GA)调度。完整的深度描述的问题是在9]。这是这种方法的概述。
观察目标可以列出各种约束条件和优点。帕累托最优(前面的算法然后搜索10)——一组安排不违反任何约束和各自的绩效函数至少与其他最好的安排。执行搜索这方面与NSGA-II [11]。
实验的实现遗传算法调度是当前的一部分RTS2开发分支。遗传算法调度的主要好处是一个简单的增加新的约束条件和优点。缓解的重用是证明(12]。
该计划是为观察者提供帕累托前安排,让他/她选择他/她喜欢,或有系统自动选择在晚上的路径将紧随其后。
6.4。天气阻碍
是非常重要的关闭天文台屋顶条件敌意时的正常操作和保持它关闭,只要这些条件为准。我们的记录清楚地表明,在打开屋顶与恶劣天气在它产生重大问题一旦检测到错误的屋顶状态。
以下部分处理这个问题。首先,原始的方法是描述。这是紧随其后的详细描述当前硬件和软件设置,防止设备的元素。
6.4.1。原来天气报告
跟踪观测条件最初是一个圆顶的工作模块。它被认为是一个单点故障。圆顶代码处理极端的保健和圆顶每个软件升级软件后仔细测试。每个设备可以显示天气恶劣天气状态信息直接发送到圆顶模块。圆顶模块将它们放在一起,决定如果天气有利于观察、和反应是否所有条件都满足,它切换系统到“on”模式。如果一个条件没有满足,圆顶控制模块试图关闭屋顶和切换系统“待机”模式。
这个解决方案有以下问题:
(我)圆顶软件测试耗时;(2)对于严重的计算机硬件问题圆顶可以敞开;(3)每一个新的天气传感器需要修改圆顶控制软件和广泛的测试之前运行。6.4.2。天气的设计基于状态的处理
不同的新传感器设置添加到天文台,它变得明显,天气报告值得特别关注。以下要求提出新算法:
(我)它必须容易添加新的传感器天气报告;(2)必须能够配置系统包括各种传感器;(3)系统必须报告坏天气在发生传感器故障。除了这些软件需求,额外的需求被放在硬件负责屋顶操作:
(我)它必须独立于运行控制电脑,(2)它将尽可能可靠,(3)这将是尽可能简单,(iv)它必须关闭屋顶自身在其控制电脑失去连接,(v)必须报告给计算机的所有传感器连接到它。软件和硬件的实现,满足所有这些requiremens在下一节中描述。
6.4.3。当前天气阻碍
RTS2centrald和所有设备的状态。改变时,状态是传播到所有连接。
一个位的状态代表坏天气。如果设置了这一点,这意味着组件(如果设备)或整个系统(以防centrald)报告违反观察条件,因此要求控制系统关闭。
Centrald还持有的设备列表为观察是强制性的。如果任何强制性的设备不存在,或者不回复centrald请求,系统切换到坏天气状态。这给开发人员提供了一个非常简单的方法添加一个新的天气传感器系统。他们可以使用天气状态操作中提供的方法SensorWeather类。
最终的天气保护元素是大多数系统可编程序逻辑控制器(PLC)。这个硬件的输入连接到各种传感器屋顶运载信息的状态。继电器的输出连接到汽车负责屋顶操作。PLC是保守编程。它实际上是很难打开屋顶然后关闭它。
PLC可以手动控制开关。屋顶的形象实际控制面板请见图3。
如果计算机想开屋顶必须发送信号每隔几秒钟PLC,检查它是活的。PLC程序关闭屋顶如果这个“我还活着”信号是没有收到。
关键的失败这个设置是电动机的故障点,故障电力汽车和信号连接到PLC, PLC故障或电源故障。
我们没有能力使汽车冗余。plc是专为恶劣的工业环境。PLC程序是相对简单的,仔细测试。作为它的安装需要安装在现场的人,通常是不敏感的缺陷引入的系统升级。UPS提供的电源备份关闭屋顶的能力。UPS状态监控RTS2屋顶是命令关闭如果剩下的UPS正常运行时间或电池水平低于一个预定义的值。
制度也是商品价值。在不太可能的情况下,PLC是损坏或摧毁,一个新的可以购买几乎任何地方的星球上没有重大问题和安装失败在几天的时间内被发现。
PLC程序的源代码可以从RTS2subversion存储库。就像安装在多个网站所示,这个设置是完全复制和模块化。
7所示。RTS2安装
表2提供当前的列表RTS2安装在年就开始使用RTS2和目前的主要光学的直径。的完整清单RTS2安装项目提供web页面。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
系统目前正在考虑各种新和翻新的望远镜。请注意,1.23 m CAHA目前在半自动模式下操作,和RTS2不是控制只在几个晚上。可以找到更多的细节关于这个在13]。
8。编码策略重启或代码正常吗?
在项目的开始,我们有时使用“最后的机会”的战略,如果失败(在我们的例子中通常意味着“生产核心转储”),该系统将注意到它,等待一段时间,重新启动失败的一部分。虽然这看起来非常聪明的方法,事实证明,它隐藏了潜在的严重的问题,会影响系统的性能。此外,由于错误在某些地方可以生产情况设备将重启,产生几行系统日志,并退出。
我们的经验是,如果失败了,让系统重新启动它,希望最好的策略是contraproductive和不应该被使用。代码中最重要的bug修复后,项目运行在一些设置好几个月不需要一个重启。如果遇到一个问题,其根本原因是发现并修复。固定司机然后安装和启动远程ssh访问。
下面的事情对于这个策略是至关重要的:编译所有的代码与调试选项,更改核心转储ulimit无限的知识和如何使用广东发展银行(GDB的网站http://www.gdb.org/)核心转储的找到原因。如果所有前面的失败,valgrind(Valgrind网站http://www.valgrind.org/安装)或类似的内存分析器,了解如何使用它来找到内存分配问题。
一旦编码器管理所有这些问题,不仅将系统运作顺利,但他/她也不会做好切换到一些语言与垃圾收集器(承诺免费开发人员从内存分配问题最可能的原因失败的c++代码)。这并不是说这高级语言并不好对一些工作做使用Python GUI和Java / PHP Web页面。但是根据我们的经验,对于低级、硬件控制算法,没有什么比正确地设计和编码的C / c++代码。
9。预计项目变更
虽然RTS2能够控制自主天文台,还有很多更值得关注,一些解决方案和编码。这些产品是下面的列表。
9.1。图像质量监控
系统目前提供了一些基本的质量检查。这些包括一盘的结果解决常规提供的乡下佬[14)和/或Astrometry.net (Astrometry.net网站:http://www.astrometry.net/)包,所以观察者知道望远镜指向预期的位置。
系统缺乏实时显示各种图像质量parameters-average和中间值,最小和最大价值,数量的图像中检测对象(明星),等等。这些计算并保存图像标题。我们的经验表明,这些应该是方便的实时显示,以及导航图像档案的工具。
9.2。图像处理
图像处理可以作为一个外部脚本配置,提供相对光度学和其他服务。我们想要更好地集成系统
(我)添加校准图像数据库,并提供工具来维护和使用这个数据库;(2)提供observations-to-paper预定义好理解问题的解决方案,其中observatorion行星凌日的掩星和透镜的事件。9.3。更好的用户界面
该系统主要是通过一个基于ncurses接口控制。虽然这是足够的对于有经验的用户,并不适合偶尔的用户界面。
发展网络和- windows图形用户界面目前处于初始阶段。计划还呼吁增加applet GNOME和其他桌面环境中,因此我们将能够跟踪全球望远镜操作从一个桌面。
9.4。网络管理
该系统目前缺乏一个中央管理控制台。天文台通常通过ssh连接管理和监控。虽然这种方法是可行的,它迅速成长的能力之外一个维护者。
需要应用程序,将
(我)显示网络中个体的天文台,(2)名单尚未解决的问题,个人的望远镜,跟踪行动来解决这个问题,和这些行为的结果,(3)使整个网络的调度,(iv)合成结果通过网络成员。这将是很高兴有这些功能由简单,低级、互联网接口。工作进展有一个xml - rpc接口将做到这一点。
9.5。归档文件访问
RTS2保持所有重要的信息在数据库中。观察,执行信息和图像获取,以及基本的图像特征(包括WCS坐标,安装乡下佬和/或Astrometry.net)记录的快速检索。
当前档案访问提供主要通过控制台的工具。毫无疑问在这有点太老式了图形用户界面的年龄。
为基于web的档案访问PHP脚本,甚至包括断路器的服务。不幸的是他们没有很好地设计。随着项目的成熟和介绍修改数据库,这些脚本停止功能,当它被过于膨胀,使它们再次工作,与通常的情况一样简单小型快速PHP和其他脚本。
到目前为止多个试图提供更好的解决方案。然而直到现在他们每个人未能提供有用的结果。
目前尝试包括Google Web Toolkit XML-RPC-backed应用程序。我们希望这将提供承诺的结果合理,虽然不是在短时间尺度。
10。结论
本文提出了一个开源机器人观测控制系统。它为其发展提供了基本原理的概述,其组成和主要特点。然后关注最近的改进的列表。文章结尾名单的开发项目仍提上了日程。
确认
作者要感谢慷慨提供的金融支持西班牙语项目效果FPI del Ministerio de Ciencia e Innovaci (Subprograma FPI-MICINN)和欧洲洋底社会Europeo。工作RTS2从众多影响,支持和鼓励人,为本文的列表将会太大。人从这个列表根据作者应该明确指出马丁•内克Alberto Castro-Tirado Antonio de Ugarte Postigo,罗南Cunniffe, Rene Hudec,维克多Reglero和迈克尔•Prouza Beatriz桑切斯Felix。这篇文章由两位匿名裁判仔细审阅,大大改善了它的建议。斯蒂芬·贝利最后gramatical改进这篇文章。
引用
- t . Jilek et al .,“Detekce astronomickych objektů年代proměnnou intenzitou咱pomoci robotickeho teleskopu,“团队项目,行星齿轮,英国,2000年。视图:谷歌学术搜索
- a . Klotz f . Vachier, m·布尔“塔罗牌:机器人天文台伽马射线和其他来源,”Astronomische后,卷329,不。3、275 - 277年,2008页。视图:出版商的网站|谷歌学术搜索
- 弗雷泽和中情局钢铁、“利物浦望远镜机器人控制系统的面向对象设计,”先进的望远镜和仪器控制软件卷,4848学报学报Waikoloa,页443 - 454年,夏威夷,美国,2002年8月。视图:出版商的网站|谷歌学术搜索
- s . p . Kubanek m•耶利内克Vitek, a . De Ugarte Postigo, m . Nekola和j .法国“RTS2:一个强大的机器人天文台经理”先进控制软件和天文学卷,6274学报学报美国奥兰多,佛罗里达州,2006年5月。视图:出版商的网站|谷歌学术搜索
- j . p . Kubanek m•耶利内克法国et al .,“RTS2协议,”先进控制软件和天文学卷,7019学报学报2008年6月,马赛,法国,。视图:出版商的网站|谷歌学术搜索
- 弗雷泽、“调度Robonet-1同质望远镜网络,”Astronomische后,卷327,不。8,779 - 782年,2006页。视图:出版商的网站|谷歌学术搜索
- y Tsapras, r .街,k . et al .,“RoboNet-II:后续obervations望远镜的透镜事件与机器人网络,”Astronomische后,卷330,不。1,4,2009页。视图:出版商的网站|谷歌学术搜索
- a . m . Chavan g . Giannone d·席尔瓦,t·克鲁格和g·米勒,“夜间调度ESO的甚大望远镜,”天文数据分析软件和系统七世卷,145ASP系列会议,1998年。视图:谷歌学术搜索
- p . Kubanek遗传Algorihm机器人望远镜调度,主人在软计算y sistema的才华,格拉纳达大学,格拉纳达,西班牙,2008。
- 诉帕累托,手动di经济政治麦克米伦,纽约,纽约,美国,1906年。
- k . Deb, A .普拉塔普,美国阿加瓦尔和t . Meyarivan”一个快速和精英多目标遗传算法:NSGA-II,”IEEE进化计算》第六卷,没有。2、182 - 197年,2002页。视图:出版商的网站|谷歌学术搜索
- f·福斯特:洛佩兹,j .胎盘p . Kubanek和g . Pignata”调度目标瞬态的调查和追逐的新望远镜,“天文学的发展ID 107569条,卷。2010年,8页,2010。视图:出版商的网站|谷歌学术搜索
- j . Gorosabel p . Kubanek m .内克et al .,“最近观察到的伽马射线爆1.23 CAHA望远镜和其升级的状态,”天文学的发展。在出版社。视图:出版商的网站|谷歌学术搜索
- a . de Ugarte Postigo, m .内克j·m·g . Urquia et al。乡下佬:联合国conjunto de la reduccion utilidades para y分析automatizado de画像在西班牙,Astrofisica Robotica,艾德。小天狼星,马德里,西班牙,2005年。
版权
版权©2010切赫Kubanek。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。