首页> 中国专利> 计算机实施的用于生成控制设备程序代码的方法以及相关的消息管理环境

计算机实施的用于生成控制设备程序代码的方法以及相关的消息管理环境

摘要

本发明涉及一种计算机实施的用于生成控制设备程序代码的方法以及相关的消息管理环境,所述控制设备程序代码或中间描述在控制设备程序代码生成中由至少一个第一数据对象利用至少一个第一软件工具来生成,所述第一软件工具在所述控制设备程序代码或中间描述生成中输出关于生成过程的至少一个消息并且计算机实施的消息管理环境检测由所述软件工具输出的消息。在生成过程期间由软件工具输出的消息的评估通过如下方式有效地实现:由消息管理系统针对所检测的消息检测定性至少为“开放”或“被核准”,以及针对被定性为“被核准”的消息由消息管理环境检测定性前提条件。

著录项

  • 公开/公告号CN105389164A

    专利类型发明专利

  • 公开/公告日2016-03-09

    原文格式PDF

  • 申请/专利号CN201510530372.X

  • 发明设计人 M·迈尔;

    申请日2015-08-26

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人吕晨芳

  • 地址 德国帕德博恩

  • 入库时间 2023-12-18 14:45:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-31

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F 8/70 专利号:ZL201510530372X 变更事项:专利权人 变更前:帝斯贝思数字信号处理和控制工程有限公司 变更后:德斯拜思有限公司 变更事项:地址 变更前:德国帕德博恩 变更后:德国帕德博恩

    专利权人的姓名或者名称、地址的变更

  • 2020-06-05

    授权

    授权

  • 2017-01-25

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20150826

    实质审查的生效

  • 2016-03-09

    公开

    公开

说明书

技术领域

本发明涉及计算机实施的用于生成控制设备程序代码的方法,其中,控制设备程序代码或中间描述在生成控制设备程序代码时由至少一个第一数据对象利用至少一个第一软件工具来生成,其中第一软件工具在生成控制设备程序代码或中间描述时输出至少一个关于生成过程的消息,并且其中,计算机实施的消息管理环境检测由软件工具输出的消息。此外,本发明也涉及用于管理在生成控制设备程序代码时出现的消息的消息管理环境,其中,控制设备程序代码或中间描述在生成控制设备程序代码时由至少一个第一数据对象利用至少一个第一软件工具来生成,其中,第一软件工具在生成控制设备程序代码或中间描述时输出关于生成过程测至少一个消息。

背景技术

控制设备程序代码的生成如今在工业实践中是极其复杂的过程,其中常常应用许多软件工具。控制设备目前通常理解为为了工业使用而预备的鲁棒的小型计算机,其大多拥有集成I/O接口。在常常配备有实时操作系统的控制设备上执行如下程序,其在最为宽泛的意义上通过I/O接口与要控制的技术过程连接并且以期望的方式影响该过程。所述类型的控制设备例如广泛地使用在汽车领域中。控制设备的发展并且进而控制设备程序的代码的发展如今是汽车生产发展中的重要组成部分。

用来由数据对象生成控制设备程序代码的软件工具的简单例子是编译器,其将以高级语言形式存在的程序代码编译成在目标控制设备上可执行的控制设备程序代码,也即例如为字代码形式或为机器可执行的机器语言形式。数据对象于是高级语言形式的源代码。

实践中,控制设备程序代码大部分不再通过易出错地以高级语言手工编程来生成,而是在更抽象的层上对控制设备程序代码的功能进行公式化,例如借助图形建模环境实现,其允许将期望的功能以框图形式反映。在此情况下,数据对象以一个图形控制模型形式存在,或者也以多个图像控制模型形式存在,图像控制模型于是自动地被编译成以高级语言编写的程序代码。所述代码生成可以通过多个抽象中间级进行,在这些抽象中间级中所基于的数据对象以图形控制模型形式被转变为不同的抽象的中间描述。这样通过不同的中间级形成的不可执行的为高级语言形式的控制设备程序代码于是也最终通过合适的编译器编译成可执行的控制设备程序代码。

如从上述描述中可看到的是,多种软件工具参与所描述的用于生成控制设备程序代码或控制设备程序代码的中间描述的方法(图形模型化环境、代码生成器、编译器、专用代码检查器等)。通常,所有这些软件工具都输出关于生成过程的消息,以便向用户指示涉及生成过程中的特征。这些特征例如在图形模型化环境中可以是对功能块的未连接的端口的指示、未彼此匹配的数据类型的指示、冲突的采样时间的指示等等。编译器可以通过警告和出错消息形式的消息来指示变量未声明或未初始化、循环中不存在中断条件、被零除等等。

由软件工具输出的消息对于生成过程而言并且对于生成过程的评估而言基本上是值得考虑的并且重要的。这只在如下情况中可看到:在软件开发的不同领域中存在所谓的“零-警告-预设”,即当在得到控制设备程序代码的生成过程中不再有警告被软件工具输出时控制设备程序代码于是才被视为适合。类似的要求以确定的标准编撰成文,例如以MISRA标准来编撰成文,其对于在汽车工业中的控制设备程序代码的生成而言是重要的,而且对于在其他工业领域应用中的安全关键的应用而言越来越重要。

可能出现的是,软件工具的确定的消息是不可避免的或消息被用户识别为不关键的,以至于消息的出现在控制设备程序代码的质量评估方面并无负面影响。然而在任何其他生成过程中都必须检查软件工具的消息,这与并非无关紧要的工作耗费相联系。

发明内容

本发明的任务因此是,构建计算机实施的用于生成控制设备程序代码的方法,使得在生成过程期间由软件工具输出的消息的评估可以以更为有效的方式执行。

前面指出的任务在所阐述的计算机实施的方法方面通过使用消息管理环境以如下方式来解决:由消息管理环境针对所检测到的消息检测定性至少为“开放”或“核准”(英文:approved),并且针对定性为“被核准”的消息由消息管理环境检测定性前提条件。

在使用消息管理环境的情况下的根据本发明的方法具有如下优点:在生成过程期间输出的消息集中地在消息管理环境中被检测并且集中地受到评价。该评价存储在消息管理环境中并且由此总是又可被调用,使得在消息与该消息的相应的定性之间形成固定链接。术语“定性”在此在专业术语的意义上可理解为:取得定性的消息在任何确定的方面具有决定性的特征,即如下特征,其证明所检测到的特征同样被识别为“开放”或“被核准”并且于是设有相应的定性。

消息在如下情况下会被定性为“开放”:消息的原因尚不能澄清或例如尚不能最终确定消息不关键。消息在如下情况下会被定性为“被核准”:消息的原因可被识别并且消息总体可以被归入不关键。

特别重要的是,由消息管理环境针对定性为“被核准”的消息检测至少一个定性前提条件。通常,该方法的用户在形式语言方面通过消息管理环境的接口输入这样的定性前提条件。通过定性前提条件(也自动化地)始终又可以检查消息是否也还可以视为“核准”。由此,可以添加对于控制设备程序代码或控制设备程序代码的中间描述的生成过程重要的信息,其允许评价生成过程。

出于上述原因,在根据本发明方法的进一步发展中,可能的是并且设计为:所检测到的消息被消息管理环境就该消息是否之前已被检测并且已被定性为“被核准”进行检查,其中,由消息管理环境在已存在定性为“被核准”的情况下检查定性前提条件是否还满足。该方法的扩展方案是特别有利的,因为在任何情况下可以检查并且也检查:是否还始终满足前提条件,这已导致消息已被视为不关键,即检测为“被核准”。一次被检测为“被核准”的消息在消息管理环境中于是不可变地是定性为“被核准”的消息,更确切而言,又始终检查得到核准的决定性的准则是否还始终被满足。

例如,所使用的图形模型化环境的消息可能在于,在图形模型中使用的变量未初始化,即不具有起始值。尽管如此,当确保在生成过程开始时始终有具有变量的初始化值的文档被读入模型化环境中时可以将所述消息定性为“被核准”。定性前提条件于是可以在于:检查是否存在具有初始化值的文档并且该文档实际是否也包含对不确定的变量的值分配。通过计算机实施的方法于是避免了如下情况:“被核准的”消息尽管核准的前提条件不再存在还被视为“被核准”。

对于计算机实施的方法的使用者而言特别有利的进一步发展在于,消息管理环境在定性前提条件满足的情况下抑制定性为“被核准”的消息。可替选地或附加地,在不满足定性前提条件时该消息被消息管理环境作为“未被定性”(英语“unqualified”)输出。所述方法的该扩展只要该方法的用户还未知悉要视为“被核准”的消息就是有帮助的,因为相关的消息还被评价为不关键并且因此不需要重新处理。同样自然有意义的是,由于不满足定性前提条件已丧失将其定性为“被核准”的消息证明为需重新处理。

在该方法的另一构造中设计为,在重新经历控制设备程序代码的生成时已检测到的和被定性的消息的出现又被消息管理环境预期。这意味着,消息管理环境检测哪个消息在前面的用于生成控制设备程序代码的经历中出现并且被定性,并且在重新经历控制设备程序代码的生成时消息的被预先标记的出现与新检测的消息平衡(abgleicht)。优选地,消息管理系统指示预期的但未重新检测的消息。通过该措施可以检查生成过程是否也实际显示预期的特性。尤其是,也设计为,消息管理环境激活地指示尽管预期但未检测到的消息。

根据该方法的另一构造设计为,定性前提条件根据第一数据对象的至少一部分来公式化,尤其是被公式化的定性前提条件与数据对象的所述部分链接。在前面所谈及的具有包含变量的初始化值的文档的实例中,于是将对所述文档的链接存储到消息管理环境中,必要时在文档中有位置数据,使得消息管理环境总体上有可能访问定性前提条件所基于的数据。尤其是设计为,消息管理环境在定性前提条件不再满足的情况下显示数据对象的不再满足定性前提条件的部分。这极大地便利于使用该方法的用户检查控制设备程序代码的生成过程。

在该方法的另一构造中设计为,定性前提条件也已在定性前提条件对于消息管理环境不再能被检查时不被视为满足。这例如在消息管理环境不能访问确定的(被链接的)数据时已得出,例如由于缺少许可证而不可能进行这样的访问。在此情况下,确切而言,并非定性前提条件不满足而是缺少基本的可检查性。

所描述的方法在如下情况下是特别有利的:使用多个软件工具使得于是设计为,在生成控制设备程序代码或中间描述时至少由第一软件工具和由第二软件工具输出关于生成过程的消息并且由消息管理环境检测由多个软件工具输出的消息并且自然也以前面所描述的方式和方法来处理。由此,可能的是,用于生成控制设备程序代码的过程在针对所有参与的软件工具统一的工作环境中就所输出的消息方面进行检查。

通过考虑多个软件工具也产生了不期望的附加使用,即其方式是:第一软件工具的消息和第二软件工具的消息可以彼此链接。例如,这样也可以根据第一软件工具的消息公式化第二软件工具的消息的定性前提条件,反之亦然。这样的相关性可以以如下实例为例予以阐明:第一软件工具是代码生成器,其将图形功能描述编译为高级语言控制设备程序代码。代码生成器识别出:在模型内的变量在数值上并未初始化,为该变量根据ANSI标准分配零值,但尽管如此报告:变量未(通过用户)被初始化。第二软件工具是统计代码检查器,其检查由代码生成器生成的高级语言的控制设备程序代码,尤其是针对被零除。代码生成器的在缺少用户方面对变量的初始化情况下的消息在代码检查器没有输出关于被零除的消息给所述变量的定性前提条件下能被定性为被核准。

对于消息管理环境存在不同的可能性来检测由软件工具输出的消息。通常,由参与的软件工具输出记录文档,在其中存储消息,使得消息管理环境通过解析该记录文档可以检测消息。可替选地或附加地,消息管理环境构建为,其使用由相关的软件工具提供的用于应用编程的接口,通常称作应用编程接口(API)。

此外,前面概述的任务在所描述的消息管理系统方面通过如下方式来解决:计算机实施的消息管理环境构建和配置为:由软件工具输出的消息可被消息管理环境检测,由消息管理环境针对被检测的消息可以将定性检测为“开放”或“被核准”并且针对首次被定性为“被核准”的消息可以被消息管理环境检测定性前提条件。此外,这里所提出的消息管理环境表现为利用其实现并且可以实现前面所描述的用于生成控制设备程序代码的方法。

附图说明

具体而言,现在存在许多可能性来构建和改进根据本发明的计算机实施的用于生成控制设备程序代码的方法和根据本发明的消息管理环境。为此一方面参照从属于权利要求1和12的权利要求,另一方面参照如下结合附图对实施例的描述。在附图中示出:

图1示出了用于生成控制设备程序代码的方法,其中消息由软件工具输出并且由消息管理环境检测,

图2示出了如图1中那样的但具有多个数据对象和多个软件工具的方法,

图3示出了用于控制设备程序代码的利用多个相继执行的软件工具的生成过程,

图4示出了在自动检查定性前提条件的情况下用于消息管理的方法,

图5示出了在数据对象链接的情况下的根据图4的方法,

图6示意性地示出了具有关于数据对象的版本数据和最后修改数据的消息管理环境,以及

图7示出了消息管理系统的图形应用接口。

具体实施方式

在图1至图5中分别示意性地示出了计算机实施的用于生成控制设备程序代码2的方法1。控制设备程序代码2由至少一个数据对象3利用第一软件工具4来生成。在根据图1的构造方案中,数据对象3为高级语言形式的程序代码,其由构建为编译器的软件工具4编译成(在此情况下可执行的)控制设备程序代码2。

在生成控制设备程序代码2时,软件工具4输出消息M1、Mn。在所示的示例情况中,消息为编译器的警告和出错消息。由软件工具4输出的消息M1、Mn由消息管理环境5来检测。通过消息管理环境5对消息M1、Mn的检测在根据图1的实施例中通过由软件工具4提供的应用编程接口(API)来进行。

用于生成控制设备程序代码2的方法1现在特征在于,由消息管理环境5针对被检测的消息M1、Mn分别也检测定性q1、qn,其中定性q1、qn至少可以被赋值“开放”或“被核准”。通常,“核准的”消息M1、Mn理解为如下消息M1、Mn,其被视为对于控制设备程序代码2的质量而言不关键,而定性为“开放”的消息M1、Mn可视为实际未评价和未被定性。

此外,由消息管理环境5针对定性为“被核准”的消息M1、Mn检测定性前提条件p1、pm。在定性前提条件p1、pn中在形式语言上(并且由此通过计算机实施的方法可自动化地检查地)检测所述条件,必须满足这些条件,以便可以将相关的消息M1、Mn视为“被核准”。

在图2和图3中示出了用于生成控制设备程序代码2的方法1的两个扩展的变形方案,其示出,在此所介绍的方法1也可以利用更为复杂的工作过程来执行。在图2中,有第一数据对象3a以及另外的第二数据对象3b,其中,不同的数据对象3a、3b被两个不同的软件工具4a、4b使用。在所示的实施例中,数据对象3a、3b是高级语言的程序代码,其被构建为编译器的软件工具4a、4b编译成随后一起用于执行的可执行的控制设备程序代码2。不仅第一软件工具4a而且另外的第二软件工具4b都生成消息M1、Mn、Mv,其又由消息管理环境5来检测,其中,消息M1、Mn、Mv设置有定性q1、qn、qv和与所属定性相关的定性前提条件p1、pn、pv。

在图3中同样通过两个软件工具4a、4b来生成控制设备程序代码2,其中,但在此情况下软件工具4a、4b相继地连接。在所示的实施例中,数据对象3是图形功能模型,其被构建为代码生成器的软件工具4a首先编译成高级语言的中间产品(在此未详细示出),其中,中间描述于是被构建为编译器的第二软件工具4b最终编译成控制设备程序代码2。不仅代码生成器4a而且编译器4b又输出消息M1、Mn、Mv,其被消息管理环境5检测,与相关的定性q1、qn、qv和相应的定性前提条件p1、pn、pv一样。

在图4和图5中示出了用于生产控制设备程序代码2的方法1的特别有利的变型方案。在两个流程图中可看到,所检测到的消息Mn被在图4和图5中未详细示出的消息管理环境就消息Mn是否已事先被检测到(框:“Mn是否存在”)而被检查。针对Mn已被检测到的情况,还检查消息Mn是否也定性为“核准”(框:“qn(Mn)是否核准)。如果这也适用,则由消息管理环境检查,相关的定性前提条件pn是否还始终满足(框:“pn(Mn)是否有效?”)。针对消息Mn的定性前提条件还始终满足并且由此消息Mn还始终可定性为“核准”的情况,消息Mn被消息管理环境5抑制(框:“Mn未示出”)。针对消息Mn的定性前提条件pn不再满足的情况,消息管理环境指示:消息Mn不再是定性的,即必须又被定性。在另一(在此未示出的)实施例中,消息Mn在定性前提条件pn不满足的情况下简单地获得定性“开放”。

图5中所示的方法过程与图4中所示的方法过程不同仅在于,消息管理环境在定性前提条件pn的检查(框:“pn(Mn)是否有效?”)中访问数据对象3,这在定性前提条件pn根据数据对象3的至少一部分公式化时才是可能的,在此情况如此。

对于根据图6的消息管理环境5的实施例示出:消息管理环境5具有关于数据对象3a、3b、3c的版本信息v,其附加地表示为d1、d2和d3。关于数据对象d1的版本信息在此表示为v(d1)。此外,消息管理系统5也具有关于所连接的数据对象3a、3b、3c的最后的改变时刻(最后改变日期,lc)的说明。数据对象d1的最后改变日期lc在该视图中称作lc(d1)。在根据图6的消息管理环境5中根据不同数据对象3a、3b、3c的版本信息v和最后改变日期lc来公式化定性前提条件p。在另外的实施例中,定性前提条件p1、pn、pv也仅根据版本信息v或仅根据最后改变日期lc来公式化。

根据图6的消息管理环境5已在如下情况下视定性前提条件p1、pn、pv为未满足:数据对象3a、3b、3c(或数据对象3a、3b、3c的相关部分)(针对该数据对象在定性前提条件p1、pn中存在相关性)相对于数据对象3a、3b、3c的版本v在确定定性前提条件p1、pn的时刻已改变,或数据对象3的版本信息v或最后改变日期lc相对于在消息管理环境5中所检测的版本信息v或相对于在消息管理环境5中所检测的最后改变日期lc已改变。不满足定性前提条件p1、pn的准则尽管非常不具体,但由此实现当在控制设备程序代码2的生成过程中识别出所基于的数据对象的版本跳跃或潜在改变时对消息M1、Mn、Mv也即曾为被核准的消息M1、Mn、Mv重新进行检查。

图7示出了消息管理环境5的界面的可能的构型,借助该界面来操作消息管理环境5并且可以执行用于生产控制设备程序代码的方法。

在此示出了来自当前编码生产过程中的消息M,其中,消息M被划分成已被定性的(“有类属”)和未被定性的(“无类属”)消息M。存在对消息M根据其类型(在“按类别的过滤器”的字段信息组(Feld)中的警告/建议/注意)进行过滤的可能性。在所示的实施例中,有可能分开地显示单独被定性的消息M(“带类属的存在的消息”)和借助标识符被定性的消息(“由ID分配的类别”)。

此外,有可能在已被定性的、预期的但尚未出现的消息(“带类别的预期的不存在的消息”)和尚未被定性的但出现的消息(“不带类别的存在的消息”)之间进行区分和比较。

在界面的下部分中,当这些消息M例如通过鼠标点击从上部区域选择时,示出了关于这些消息M的细节。在那里,为了定性例如可以处理定性(类别)、定性的原因或定性的定性前提条件。关于软件工具的细节可以予以考虑,例如原始工具(工具)、组、源对象(可选)、消息文本、必要时导航至源对象(图形模型的块、变量数据库)。

对于这两个变量“不带类别的存在的消息”和“预期的不存在的带类别的消息”(例如由于重命名,这导致源对象路径的改变)有可能用相同ID或相同源对象的新消息来标识旧消息。

对于所选择的消息例如存在对最后定性的显示、对定性的改变的显示(或初始定性)、对对象式(objektweise)的改变历史的显示(包括改变过的源对象的标识)。

定性可以针对确定的消息进行(“应用到当前”,<ID>+<源对象>)或针对多个消息进行(应用到所有,<ID>)。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号