【技术实现步骤摘要】
用于执行机动车用户功能的计算机系统和方法
[0001]本专利技术涉及用于执行用户功能特别是机动车用户功能(automotive customer function)的计算机系统,其中,用户功能生成用户功能输出数据,基于该用户功能输出数据对机器特别是机动车进行控制,其中,计算机系统包括一个或更多个处理核。
[0002]此外,本专利技术涉及用于在计算机系统中执行用户功能特别是机动车用户功能的方法,其中,用户功能生成用户功能输出数据,基于该用户功能输出数据对机器特别是机动车进行控制,其中,计算机系统包括一个或更多个处理核。
技术介绍
[0003]现代实时系统特别是机动车实时系统包括许多复杂的软件部件以处理复杂性并简化开发。自动驾驶功能如高速公路领航系统(highway pilot)被分解为既依次参与又可能并行参与以实现车辆的相应功能的多个较小的部件。
[0004]对于这样的实时系统,能够确定并保证从观察到车辆的环境至车辆的物理反应的最坏情况的端到端计算延迟是至关重要的。例如,如果车辆的传感器子系统记录到车辆前方的障碍物,则必须在一定时间内启动车辆级反应(转向或制动)来避免碰撞以防止人身伤害。
[0005]这样的处理链(以下称为计算链)的范围从处理传感器输入到计算世界模型和生成致动器命令,并且通常包括大量单独的软件部件。可以存在许多同时执行的功能。因此,许多独立的计算链被同时执行。这些软件部件可以具有强烈变化的复杂性和运行时行为。
[0006]计算链可以分布在多个处理单元甚至ECU上,但是还可 ...
【技术保护点】
【技术特征摘要】
1.一种用于执行用户功能(CUS)特别是机动车用户功能的计算机系统(CS),其中,所述用户功能(CUS)生成用户功能输出数据(OUT
‑
DAT),基于所述用户功能输出数据(OUT
‑
DAT)来控制机器特别是机动车,其中,所述计算机系统(CS)包括一个或更多个处理核,“核”(核1、核2、核3),其中,所述用户功能(CUS)包括应用(APP1、APP2、APP3),其中,所述用户功能(CUS)的每个应用(APP 1、APP 2、APP 3)包括多个不同的任务(T1.1至T1.3、T2.1至T2.9、T3.1至T3.4),其中,在应用(APP1、APP2、APP3)的执行期间,执行所述应用的一个或更多个任务,其中,以计算链(CHA)的形式以限定的序列一个接一个地执行所述应用(APP1、APP2、APP3),其中,计算链(CHA)在其开始时接收用户功能输入数据(IN
‑
DAT),并且生成在所述计算链(CHA)执行结束时提供的用户功能输出数据(OUT
‑
DAT),并且其中,在所述用户功能(CUS)的执行期间,所述计算链(CHA)被执行一次或若干次,其中,所述计算机系统(CS)提供容器(CON1、CON2、CON3),其中,所述计算机系统(CS)被配置成激活和去激活所述容器,使得所述容器为活动的或不活动的,其中,所述应用的所有任务被分配给容器(CON1、CON2、CON3),并且其中,每个特定应用的全部任务被分配给恰好一个特定容器,其中,在容器为活动的时间帧中,独占地保留所述计算机系统的一个或更多个核以用于执行所述容器的应用的任务,以及其中,所述计算机系统(CS)被配置成使得在所述容器为不活动的情况下,不能在所述计算机系统上执行所述容器的任务,其中,所述计算机系统被配置成根据所述应用(APP1、APP2、APP3)的序列来执行所述容器(CON1、CON2、CON3),使得容器在紧接在其之后的容器之前被激活,并且其中,不允许计算链的容器和紧接在其之后的容器在时间上交叠,并且其中,针对每个容器提供任务定序器,其中,在所述任务定序器的容器被激活的情况下,所述任务定序器被激活,并且其中,容器的所述任务定序器决定(“任务定序器决定”):
‑
必须执行所述容器的应用的哪些任务,
‑
要执行的任务的序列,以及
‑
针对必须执行的每个任务,所述容器提供的必须在其上执行所述任务的一个核或多个核,并且其中,所述计算机系统被配置成根据所述容器中的每个容器的所述任务定序器的所述任务定序器决定来执行每个容器的任务。2.根据权利要求1所述的计算机系统,其中,所述计算链被并行执行若干次,其中,所述计算机系统(CS)被配置成使得不同计算链(CHA)的相同容器,特别是所述计算链的不同迭代的相同容器,在时间上不交叠。3.根据权利要求1或2所述的计算机系统,其中,所述计算机系统被配置成根据时间触发的调度来激活每个容器和/或每个计算链。4.根据权利要求1或2所述的计算机系统,其中,所述计算机系统被配置成利用激活信
号来激活所述容器和/或所述计算链,其中,所述激活信号是事件触发的。5.根据权利要求4所述的计算机系统,其中,给每个容器分配优先级,使得如果具有比活动的容器更高优先级的容器被激活,则去激活所述活动的容器,并且激活所述具有更高优先级的容器。6.根据前述权利要求中任一项所述的计算机系统,其中,每个任务定序器基于所述任务定序器的配置来做出其任务定序器决定。7.根据权利要求6所述的计算机系统,其中,所述配置包括所述容器的任务的优先级,其中,优先级被分配给每个任务。8.根据前述权利要求中任一项所述的计算机系统,其中,每个任务定序器确定其容器内的任务的依赖性,并且特别是在每次任务的执行完成时,例如基于所述任务定序器的配置,检查接下来可以执行哪个任务。9.根据前述权利要求中任一项所述的计算机系统,其中,按顺序执行和/或并行执行和/或在时间上至少部分交叠地执行容器(CON1、CON2、CON3)的任务(T1.1至T1.3、T2.1至T2.9、T3.1至T3.4)。10.根据前述权利要求中任一项所述的计算机系统,其中,针对每个应用,提供一个或优选地更多个用于执行任务的不同安排,即所谓的“模板”(TEMP2.1、TEMP2.2、TEMP2.3、TEMP2.10),其中,优选地,用于应用的每个模板保证执行任务的正确顺序,并且其中,例如,配置包括一个或更多个模板,或者其中,配置是模板。11.根据权利要求10所述的计算机系统,其中,提供了外部部件“序列审计员”,所述外部部件在容器的每次执行之后接收在其中执行了任务的序列或关于所述序列的信息,并且将所述序列或所述信息与根据其已经执行了任务的模板进行比较,以检测不正确的执行顺序。12.根据权利要求10或11所述的计算机系统,其中,任务定序器特别是每个任务定序器被配置成:例如在所述任务定序器的容器开始时或在所述容器循环开始时选择针对所述容器所提供的模板之一,和/或在所述容器为活动的情况下在不同的模板之间进行切换。13.根据前述权利要求中任一项所述的计算机系统,其中,可以针对容器提供至少一个任务序列适配任务,特别地,针对每个容器提供至少一个任务序列适配任务,在所述容器为活动的情况下执行所述任务序列适配任务,其中,所述任务序列适配任务被配置成从所述计算机系统接收信息和/或接收关于所述计算机系统的信息,以及/或者分析数据和/或时间进度,并且其中,所述任务序列适配任务被配置成使得所述任务定序器根据来自所述计算机系统的信息和/或关于所述计算机系统的信息以及/或者根据所述数据和/或时间进度的分析结果来改变所述模板。14.根据前述权利要求中任一项所述的计算机系统,其中,所述计算机系统包括资源,其中,所述资源包括:
‑
存储器,特别是存储区域,和/或
‑
通信装置,例如通信信道,例如,在处理器之间和/或在核之间,和/或
‑
软件,例如操作系统、一个或多个任务调度器、容器等,并且其中,在特定容器(CON1、CON2、CON3)为活动的情况下,所述资源中的至少一些资源以及/或者所述资源中的至少部分资源或所有所述资源被独占地分配给所述特定容器
(CON1、CON2、CON3),使得在所述特定容器为活动的情况下,仅所述容器的应用(AAP1、APP2、APP3)的任务可以使用所述独占地分配的资源。15.根据前述权利要求中任一项所述的计算机系统,其中,每个容器(CON1、CON2、CON3)在其激活时间点接收其输入数据和/或在去激活时间点之前向所述计算机系统(CS)提供其输出数据。16.根据前述权利要求中任一项所述的计算机系统,其中,计算链(CHA)的容器(CON1、CON2)的去激活时间点和所述计算链(CHA)的直接跟随的容器(CON2、CON3)的激活时间点以下述时间距离进行布置:所述时间距离足以确保所有计算链的所有延迟要求并且同时使得能够有至少足够的时间以在容器之间发生通信。17.根据前述权利要求中任一项所述的计算机系统,其中,容器的时间帧例如所述容器(CON1、CON2、CON3)的容器时隙的持续时间的总和对应于WCET或至少对应于在所述容器中执行的应用(APP1、APP2、APP3)的任务的WCET。18.根据前述权利要求中任一项所述的计算机系统,其中,每个应用和/或容器与所述计算机系统独占地通信,并且仅在其执行的开始和结束时,特别是在其执行的每个迭代的开始和结束时与所述计算机系统独占地通信。19.一种用...
【专利技术属性】
技术研发人员:克里斯托弗,
申请(专利权)人:TTTECH汽车股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。