专利名称:用于监视涉及安全的系统的方法和系统的制作方法
技术领域:
本发明涉及用于监视至少一个过程的方法和系统,该至少一个过程绑定到涉及安 全的系统中、尤其是在电的、电子的或可编程的电子(E/E/PE)系统中。
背景技术:
装置或设备通常是对人来说的一种危险。在此,该危险通常取决于相应装置或设 备的作用原理。一般来说,装置或设备由电的或电子的系统控制。这样的(涉及安全的) 系统最终负责将人置于危险之外。因此对这些涉及安全的系统提出高的安全要求,这些安 全要求例如由针对所涉及的人而存在的风险来给出。从而例如通常提出预定的标准、规则 和/或准则,相应的涉及安全的系统必须满足这些标准、规则和/或准则。这样的标准的示 例可以是EN50128。该标准是用于涉及安全的铁路软件的欧洲标准,并且涉及与电信技术、 信号技术有关的轨道应用以及用于铁路控制和监视系统的数据处理系统和软件。为了在涉及安全的系统中实施安全功能,需要证明所有参与该安全功能的部件和 模块都足够安全地实施它们各自的功能。就是说,预定标准、规则和/或准则的遵守在系统 的所有级别和层次中都是必须的。在此需要始终监视该系统和始终检验参与该安全功能的 部件、模块和过程。该监视通常在证明涉及安全的系统的范围内执行。通过该证明,证实所 有预定标准,也就是标准、规则和/或准则都得到了遵守并且在涉及安全的系统中所执行 的过程或处理的(最终)结果都具有必要的特征或按照相应标准的对应特征。为了避免可能的错误源,目前硬件和软件在与安全有关的范围内都是最小化的, 也就是仅减少到最需要的数量。操作系统是特别针对相应的专门硬件实施的。在此,关于 该操作系统、软件和/或硬件的实施方式的限制要考虑在内。此外,所实施的操作系统针对具体的应用情况而设计。如果例如想要将已存在的 操作系统再用于其它应用情况,则由于对应操作系统的该非常特别的设计而通常不太可 能。此外,通常还存在对所采用的部件的约束,这些部件将在对应操作系统的范围内被控 制。例如,特定于飞机领域或特定于工业应用的操作系统具有非常精确限定的功能范 围。该操作系统例如是为飞机工业的需求而设计的。由此与其它使用领域、如铁路的匹配 是不可能的。此外,公知的涉及安全的系统的体系还通过这些系统的部件、操作系统和过程的 特殊性而显得突出。如果现在想要检验或监视这种非常特别构建的涉及安全的系统是否 正确工作,则需要进行精确针对特别构成的涉及安全的系统设计以及为这种系统构建的监 视。由此,存在一般性地证明涉及安全的系统的需要。在此,需要贯穿性的证明,即达 到涉及安全的系统的所有级别和层、也就是一直达到操作系统级别的证明。目前还不知道 这样的直到操作系统级别的一般性证明,也就是包括操作系统的硬件和软件的证明。
发明内容
本发明所基于的任务是使得可以灵活地和一般性地证明涉及安全的系统。该任务通过具有独立权利要求1的特征的方法,通过具有独立权利要求11的特征 的装置,通过具有独立权利要求12的特征的计算机程序或通过具有独立权利要求14的特 征的数据载体来解决。本发明涉及一种用于监视涉及安全的系统的方法,其中该方法具有以下步骤-从监视装置向形成涉及安全的系统的至少一部份的装置传送第一过程的监视结 果,该监视装置是为监视涉及安全的系统而设置的;-通过第二过程分析该监视结果,其中第二过程形成涉及安全的系统的过程;-依据该监视结果计算处理结果;以及-检验所计算的监视结果。为了监视涉及安全的系统,在监视装置上执行第一过程。该第一过程在此被构成 为,使得第二过程可通过第一过程被监视,即第一过程被构成为,使得通过第一过程可检查 第二过程是否正确运行。在此,通过第一过程可以检查例如第二过程是否提供正确的结果, 执行正确的过程、步骤或功能和/或还要被执行。按照优选的实施方式,基于安全的系统可以由多个层、即至少一个层构成。第二被 监视的过程在该情况下是涉及安全的系统的层之一的过程。涉及安全的系统可以例如具有 以下层的至少一个-应用层,该应用层优选可被构成为使得可执行特定于应用的功能;-中间件层;-操作系统层;或者-硬件层。通过这种用于监视涉及安全的系统的优选构成的监视装置可成束地监视多个层。按照本发明的另一优选实施方式,作为操作系统可以采用开放源操作系统,例如 Linux0开放源操作系统的使用使得可以灵活和一般性地证明涉及安全的系统。开放源操 作系统(例如Linux)是可免费获得的并且其结构是透明的,也就是开放源操作系统为证明 涉及安全的系统而提供能匹配和可再使用的基础。开放源操作系统如Linux的开发是公开描述的。由此开放源操作系统经历多面的 测试并且满足预定的安全标准,而向外非透明的几个特别开发的操作系统在很多情况下不 经历这种测试强度大和有意识具有安全的开发。由此,使用开放源操作系统除了匹配能力 和再使用能力的优点之外通常还提供满足高安全标准的优点。除了使用整个开放源操作系统,也就是使用开放源操作系统的所有模块之外,按 照优选的实施方式可以选择或确定开放源操作系统的与应用相关的模块,并且在一般性证 明的系统的范围中仅使用开放源操作系统的预定模块。如果例如Linux被用作开放源操作 系统,则可以既使用整个操作系统又使用针对(该应用)选择的该操作系统Linux的包(模 块)。通过这样的预先选择,一方面避免潜在的错误源并减少测试或监视功能的个数,另一 方面还通过该预先选择减少开放源操作系统的模块所需要的存储位置。这使得可以灵活地 构造对涉及安全的系统的证明。
涉及安全的系统或该涉及安全的系统的层,例如开放源操作系统的层,通过为此 专门开发的软件来监视。在此,为了监视涉及安全的系统的过程(例如完全或部分绑定到 涉及安全的系统中的开放源操作系统的过程)而设置的监视过程管理、触发和处理涉及安 全的系统(例如在监视操作系统的层的情况下是开放源操作系统)的至少一个过程的监视 过程的结果。检验通过涉及安全的系统的过程的处理结果,由此识别出涉及安全的系统是 否正确工作或是否引入了干扰。正如已经提到的,按照本发明的方法通过第一过程监视第二过程。第一过程由此 是第二过程的上级,从而可以有针对性地证明涉及安全的系统。在此,在优选的实施方式中,从存储在为了监视而设计的装置中的过程集合中选 择第一过程。该第一过程或监视过程的集合可自由构造。监视过程具有通用的监视过程和 /或特定于应用的监视过程,这些通用的监视过程使得可以检验或检查涉及安全的系统的 一般性流程或过程或者涉及安全的系统的层的一般性流程或过程(该涉及安全的系统例 如是开放源操作系统)。由此保证针对涉及安全的系统的监视或证明的灵活性。此外,对监视结果或挑战的处理可以期望在预定的时间内进行。在此,当监视结果 的处理没有在预定的时间内进行时,中断对监视结果的处理,并且通过第二过程进行对监 视结果的重新处理。由此存在对监视的另一次机会,因为可以减缓对该系统的短时过载,并 且由此不需要立刻的干预或不需要立刻的措施来避免危险。可以在监视装置和/或在被监 视的装置中确定对监视结果的处理是否在预定的时间内进行。对处理结果或响应的检验可以在监视装置中执行。在此,该处理结果事先由被监 视的、具有开放源操作系统的至少一个模块的装置传送给监视装置。此外,对监视结果的处理可以在于将被监视的过程的函数应用于监视结果或挑 战。在这种情况下,该处理结果可以对应于被监视的过程的函数的结果。根据本发明方法的实施方式,对处理结果的检验包括通过第一过程来检查处理结^ ο此外,如果对处理结果的检验表明处理结果是错误的,则停止涉及安全的系统,以 便让涉及安全的系统处于可能的危险之外。根据本发明的优选实施例,作为构造为用于监视的第一被监视装置可以使用所谓 的安全和环境处理器(SEP)。作为具有开放源操作系统的至少一个模块的第二装置,例如可 以设置主处理器。本发明还提供一种系统,具有构成为监视涉及安全的系统的装置,并且该装置进 一步构成为向形成该涉及安全的系统的至少一部分的另一装置传送第一过程的监视结果 或挑战,其中该另一装置通过作为涉及安全的系统的过程的第二过程分析监视结果并且提 供处理结果或响应。所述另一装置可以形成涉及安全的系统的一部分,或者还包括整个涉及安全的系 统。第一过程优选构成为使得可以通过第一过程监视第二过程,也就是第一过程是第 二过程的上级。为了监视涉及安全的系统,第一过程实施在用于监视涉及安全的系统的监视装置 上。5
如上面解释的,涉及安全的系统可以具有多个层。在给定操作系统的一个层的 情况下,根据本发明装置的优选实施方式,作为操作系统可以使用开放源操作系统(例如 Linux)ο在本发明装置的实施方式中,用于监视涉及安全的系统的装置具有过程集合,并 且构成为可以从该过程集合中确定第一过程。此外,该装置优选还可以构成为,使得可以检验处理结果或响应。在此,第一过程 在该检验的范围内构成为,可以通过第一过程检查处理结果。如果处理结果或响应是错误的,则用于监视涉及安全的系统的装置优选构成为停 止该涉及安全的系统。此外,用于监视涉及安全的系统的装置优选构成为,使得可以从所述另一装置接 收处理结果。如上所解释的,用于监视涉及安全的系统的装置例如可以是安全和环境处理 器(SEP)。具有涉及安全的系统的至少一部分的另一装置,可以是MCP(Main Control Processor,主控制处理器)或主处理器。根据本发明的优选实施例,该装置可以构成为使得通过第二过程可以处理在预定 时间内的监视结果或挑战。在此,该装置优选可以构成为,当第一结果没有在预定时间内处 理时,可以中断对监视结果的处理并且可以通过第二过程重新处理监视结果。此外,第二过程可以优选构成为使得可以将第二过程的函数应用于监视结果或挑 战。按照本发明的优选实施例,具有涉及安全的系统的至少一部分的装置可以构成 为,使得可以向监视装置传送处理结果或响应。上述任务还通过计算机程序解决,该计算机程序具有编码,该编码构成为使得可 以执行上面简述以及下面详细描述的方法的步骤。计算机程序在此根据本发明的优选实施 例可以存储在数据载体上。最后,上述任务还可以通过具有上述计算机程序的数据载体解 决。本发明的监视由于上述软件层而确保持续进行的检查。对涉及安全的系统的正确 运行的检验或检查部分在分离的硬件(例如watchdog或安全和环境处理器(SEP))上进 行。通过足够复杂的、集成在监视过程中的要求保证完全的崩馈一也就是如果束缚所有的 系统资源一或存储器溢出现象以及涉及安全的系统的较小的错误都可能被识别出来(挑 战-响应,任务监视,等等)。监视涉及安全的系统的硬件(例如SEP)和软件的协作确保了足以用于安全完整 度等级(例如SIL 1)的错误发现。通过本发明还保证应用可以基于由操作系统提供的功能。安全功能由此不需要与 应用有关或适应地保证。
下面参照附图中示出的实施例详细描述本发明。图1示出根据本发明实施例的用于监视涉及安全的系统的系统;以及图2示出具有多个层并且根据本发明的实施例被监视的涉及安全的系统。
具体实施例方式图1所示的系统形成用于监视涉及安全的系统2的系统1。在此,操作系统层具有 开放源操作系统的至少一个模块,该开放源操作系统绑定在涉及安全的系统2中。开放源 操作系统按照实施例是Linux。涉及安全的系统2可以是电的、电子的或可编程的电子系统 (E/E/PE)。此外,根据实施例在操作系统的操作系统层中只有整个开放源操作系统的特定模 块。这些模块是涉及安全的系统2所必要的模块,以便通过其它的、非必要的模块最小化涉 及安全的风险。还可以使用整个开放源操作系统。为了更清楚和更简单的显示本发明,现在描述对操作系统层的监视,即监视Linux 的至少一个模块。还可以按照适应的方式监视涉及安全的系统2的其它层。此外,还可以 与层无关地监视涉及安全的系统2。根据实施例,监视系统1具有两个装置11和12,其中装置11是SEP(安全和安全 处理器)或监视处理器,并且设计为监视Linux的至少一个模块。装置12例如通过主控制 处理器(MCP)和Linux的至少一个模块形成。主控制处理器12由SEPll监视。SEPll具有监视过程111_1,111_2至11 l_n的集合,这些监视过程被配置为监视操 作系统 Linux 的过程 125_1,125_2 至 125_n。监视过程 111_1,111_2 至 111_η 形成 Linux 过程125_1,125_2至125_η的上级过程。按照实施例,每个待监视的Linux过程125_1,125_2至125_η具有在SEPll上的 负责监视SEPll的代表或上级过程111_1,111_2至111_η。但是,该简单的关系不应当被 看做限制的。当然可以由至少一个上级过程或监视过程111_1,111_2至111_η来监视多个 Linux 过程 125_1,125_2 至 125_η,并且一个 Linux 过程 125_1,125_2 至 125_η 由多个监视 过程111_1,111_2至111_η监视或验证。首先监视过程111_1,111_2至111_η产生监视结果b或挑战(例如一个数字或其 它数据结构)。该监视结果b按照该实施例通过分组编码器112编码并且通过接口 113-例 如通用异步接收器发送器(UART)-发送给MCP12的接口 121。编码的以及传送的监视结果 b在MCP12内传递给分组解码器122。分组解码器122将监视过程111_1,111_2至lll_n 的结果b或监视结果解码给调度器123。然后调度器123将传送的监视结果b传递给相应 待监视的Linux过程125_1,125_2至125_n以用于处理。对哪个Linux 过程 125_1,125_2 至 125_n 由哪个监视过程 111_1,111_2 至 111_η 监视的发现例如可以通过将相应的监视过程111_1,111_2至111_η的标识(ID)与所属的 监视结果b —起传送来进行。然后调度器123还与监视结果b —起接收Linux过程125的 相应ID并且可以将相应的监视结果b正确地传递给被寻址的Linux过程125_1,125_2至 125_n0Linux过程125_1,125_2至125_11在该实施例中由Linux安全管理器(LSM) 125管理。相应的Linux 过程 125_1,125_2 至 125_n 接收监视过程 111_1,111_2 至 lll_n 的 结果,并且处理该监视结果b。在此出现下面被称为处理结果a或响应的另一个结果。该处 理结果a可以类似于监视结果b那样例如是数字或其它简单或复杂的数据结构。
为了处理监视结果b,Linux过程125_1,125_2至125_n可以应用至少一个预定的 单独的函数。在此,监视结果b通过该函数来计算,即依据监视结果b计算预定函数的函数 结果,并且作为处理结果a临时存储。然后,实施至少一个单独的函数的结果可以用作处理结果a。为了显示处理结果a的出现,采用下面的示例例如从用于监视MCP12并由此监视Linux操作系统的监视过程的集合中选择监视 过程lll_n。监视过程111_11产生数字b作为结果或监视结果。监视结果b由Linux过程 125_n接收,因为监视过程lll_n执行对Linux过程125_n的监视。Linux过程125_n利用 单独的函数fn计算数字b得到新的结果a。该处理结果a被发送回监视过程lll_n。监视 过程lll_n然后利用相同的单独的函数fn检验这两个结果b和a是否相互匹配。如果匹 配,则涉及安全的系统2处于安全状态。在相反的情况下要引入相应的保证安全的措施,例 如完全停止涉及安全的系统。LSM125是为了在开放源操作系统一在此为Linux-的级别上的涉及安全的功能而 设置的。这些功能还确定对涉及安全的系统2的服务的实施,这些服务通过涉及安全的系 统2的服务的应用1 控制和提供。由此至少一些Linux过程能够干预和影响对涉及安 全的系统2的服务或应用126的实施,例如图1中的Linux过程125_1。在该Linux过程 125_1被测试或监视的情况下,同时还测试通过应用1 对相应服务的实施并且检验该实 施的安全流程。通过这种方式使得可以通过涉及安全的系统2的所有层进行证明。现在如果给出处理结果a,则将该处理结果传递给MCP12的分组编码器127。分组 编码器127对处理结果a编码并且将编码的处理结果a传递给用于传送和接收数据的接口 121。该接口 121将编码的处理结果a传送给SEPll或传送给SEP的接口 113。从那里编码 的处理结果a到达分组解码器114,在分组解码器114那里被解码并被传递给调度器115。调度器115将处理结果a分配给相应的监视过程111_1,111_2至lll_n。这例如 可以如上所述借助一起传送的ID来进行。相应的监视过程111_1,111_2至lll_n对接收的处理结果a进行分析,例如通过 合适地分析或通过合适地比较监视结果b和处理结果a来进行。如果通过监视过程111_1,111_2至11 l_n对处理结果a的分析是正面的,则涉及 安全的系统2处于安全状态。否则相应地要执行保护该系统的措施。紧急情况下通过监视 系统1的SEPll促使完全停止涉及安全的系统2。但是可能出现MCP12完全负荷的情况。为了捕获这种情况,可以为了通过Linux 过程125_1,125_2至125_n处理监视结果而确定这样一个持续时间,在该持续时间内进行 对监视结果b的处理。如果对监视结果b的处理不是在预定时间内进行,则可以进行另一 次处理尝试。目前的处理都将结束,并启动对监视结果b的重新处理。如果该新的处理也 没有给出结果,则涉及安全的系统2被置于安全状态。必要时简单地结束涉及安全的系统 2的实施。检验例如可以在MCP12中通过部件SEP-控制装置IM和全局的安全控制装置 (全局安全控制GSC) 128来进行。为了监视,SEP-控制装置IM从分组解码器122获得监 视过程的相应ID,如果所属的监视结果在分组解码器122中给出的话。将系统2转换到安 全状态可以在MCP12中通过安全控制装置1 进行。在SEPll —侧的一般性安全控制根据该实施例由部件一全局安全控制装置8(GSC) 116执行,该全局安全控制装置控制对监视过程111_1,111_2至lll_n的实施并且检 查Linux过程或处理过程的结果。将该系统转换到安全状态可以在SEPll中通过GSC116 进行。图2示出涉及安全的系统2,该系统具有多个层21,22,23,M并且按照本发明的优 选实施例被监视。在该实施例中,涉及安全的系统2具有应用层21、例如是通信框架的中间件层22、 例如是开放源操作系统的操作系统层23和硬件层24。各个层21,22,23可以如上所示被监 视。在这些层之间还进行通信或数据交换,即这些层相互影响、协调、控制和/或检查。该 通信在图2中通过层之间的箭头示出。在此,涉及安全的系统2例如位于主处理器中。监视由进行监视的装置如上述 SEPll进行。如果执行对应用层21的监视,则可以监视应用层21的软件模块或软件过程。在 监视期间保证应用能正确运行。在此,还可以推断出下面的层的正确工作或正确运行。在这种情况下SEPll具有这样的进行监视的过程等,这些过程被设计为监视应用 层21。这些进行监视的过程的结果或数据被传送给主处理器上的应用层21,并在那里由应 用层21的相应过程或模块处理。通过该处理而出现的结果或数据被传送给SEPll并且由 进行监视的过程检验或检查这些结果或数据的正确性。通过类似的方式还可以监视中间件层22。对操作系统层23的监视同样可以如上所述执行。此外,例如还可以监视过程以检查这些过程是否还“活着“。如果观察操作系统 Linux,则在借助Linux的指令“gr印”启动涉及安全的系统2或操作系统之后向监视装置 11传送在Linux上运行的过程的标识符。监视装置11可以初始化例如在清单或列表中的 这样的过程。然后在涉及安全的系统2的持续运行中,可以监视Linux的过程是否还如期 望地那样运行,或者这些过程是否一般还存在,尤其是是否存在于“活着的”状态。由此本发明涉及对涉及安全的系统2的监视,尤其是对电的、电子的或可编程的 电子(E/E/PE)系统的监视。在此,第一过程的第一结果b由构成为监视该涉及安全的系统 2的第一装置11传送给具有涉及安全的系统2的至少一部分的第二装置12。第一结果b通 过第二过程处理,其中第二过程是涉及安全的系统2的过程。通过该处理提供第二结果a。 接着检验第二结果a,以确定第二过程是否正确工作或正确运行,并由此确定涉及安全的系 统2是否正确工作。
权利要求
1.一种用于监视涉及安全的系统O)的方法,该方法具有以下步骤-从监视装置(11)向形成涉及安全的系统O)的至少一部分的装置(12)传送第一过 程(111)的监视结果(b),该监视装置是为监视涉及安全的系统(2)而设置的,-通过第二过程(125)分析该监视结果(b),其中第二过程(125)形成涉及安全的系统 O)的过程;-依据该监视结果(b)计算处理结果(a);以及-检验所计算的处理结果(a)。
2.根据权利要求1所述的方法,其中从存储在监视装置(11)中的过程的集合中确定第 一过程(111)。
3.根据权利要求1或2所述的方法,其中为了分析监视结果(b)而设置预定的时间。
4.根据权利要求3所述的方法,其中,当第一监视结果(b)的分析没有在为此设置的 时间内进行时,中断对该监视结果(b)的分析,并且通过第二过程(125)进行对该监视结果 (b)的重新分析。
5.根据权利要求3或4所述的方法,其中,在监视装置(11)和/或在涉及安全的系统 ⑵的装置(12)中确定对监视结果(b)的分析是否在预定的时间内进行。
6.根据上述权利要求之一所述的方法,其中对处理结果(b)的分析包括将第二过程 (125)的预定函数应用于监视结果(b)。
7.根据权利要求1-6之一所述的方法,其中,对处理结果(a)的检验在监视装置(11) 中执行。
8.根据权利要求7所述的方法,其中所述处理结果(a)由涉及安全的系统(2)的装置 (12)传送给监视装置(1)。
9.根据权利要求1-8之一所述的方法,其中所述处理结果(a)通过第一过程(111)检验。
10.根据权利要求1-9之一所述的方法,其中,如果对监视结果(a)的检验说明处理结 果(a)是错误的,则停止涉及安全的系统O)。
11.一种用于监视涉及安全的系统O)的系统(1),具有-监视装置(11),在该监视装置上运行第一过程(111),该第一过程产生监视结果(b), 该监视结果被传送给形成该涉及安全的系统O)的至少一部分的另一装置(12),其中涉及 安全的系统O)的第二监视过程(125)为了计算处理结果(a)而将接收的监视结果(b)发 送回第一过程(111)以用于检验。
12.—种计算机程序,该计算机程序具有编码,该编码构成为使得可以执行根据权利要 求1至10之一所述方法的步骤。
13.根据权利要求12所述的计算机程序,其中所述计算机程序存储在数据载体上。
14.一种具有根据权利要求13所述的计算机程序的数据载体。
全文摘要
一种用于监视涉及安全的系统(2)的系统,具有监视装置(11),在该监视装置上运行第一过程(111),该第一过程产生监视结果(b),该监视结果被传送给形成该涉及安全的系统(2)的至少一部分的另一装置(12),其中涉及安全的系统(2)的第二监视过程(125)为了计算处理结果(a)而将接收的监视结果(b)发送回第一过程(111)以用于检验。
文档编号G06F21/55GK102047263SQ200980119336
公开日2011年5月4日 申请日期2009年3月24日 优先权日2008年5月28日
发明者H·卡尔, R·波尔施, S·罗特鲍尔 申请人:西门子公司