CN112241255A - 中间件***和方法 - Google Patents
中间件***和方法 Download PDFInfo
- Publication number
- CN112241255A CN112241255A CN202010693500.3A CN202010693500A CN112241255A CN 112241255 A CN112241255 A CN 112241255A CN 202010693500 A CN202010693500 A CN 202010693500A CN 112241255 A CN112241255 A CN 112241255A
- Authority
- CN
- China
- Prior art keywords
- model
- controller
- input
- processor
- controller type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 230000006870 function Effects 0.000 claims description 54
- 230000004044 response Effects 0.000 claims description 43
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 230000010354 integration Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 230000000737 periodic effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000002485 combustion reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 101100181922 Caenorhabditis elegans lin-32 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
一种方法,包括:接收指示至少选择的控制器类型的第一输入;以及基于该第一输入,生成代表与选择的控制器类型相对应的控制器的模型。该方法还包括:接收指示选择的控制器类型的至少一个功能方面的第二输入;基于该第二输入,更新模型以代表选择的控制器类型的至少一个功能方面;以及使用该模型编译二进制文件,该二进制文件至少代表选择的控制器类型的至少一个功能方面。该方法还包括:将二进制文件上传到与选择的控制器类型相对应的控制器。
Description
技术领域
本公开涉及嵌入式***软件设计,并且特别地涉及使用中间件***和方法的嵌入式***软件设计。
背景技术
诸如汽车、卡车、运动型多功能车、跨界车、小型货车、海上航行器(marinecraft)、飞行器、全地形车、休闲车或其他合适的车辆等车辆通常包括被配置为执行车辆的相应功能的各种控制器。例如,一个或多个控制器可以被配置为执行车辆的电动助力转向***的功能。由这样的控制器执行的软件的软件工程中的挑战可以被称为“关注点分离”。具体来说,有助于分离出软件应该做什么(例如,设计)以及软件如何工作(例如,实现)。
通常,这是通过将软件分离成“层”来实现的,其中,每个层都抽象了其以下各个层的复杂功能,并为其以上的各个层提供更简单的界面。通常,使用各种第三方工具可实现这样的软件到层的分离。AUTOSAR(汽车开放***架构)为此限定了结构,第三方工具限定了许多AUTOSAR组件。但是,这样的工具通常是复杂且昂贵的,需要使用软件的专业知识,并且需要大量的时间来学习和执行。
发明内容
本公开大体上涉及嵌入式计算***。
根据公开的实施例的一方面,模块化中间件***与应用程序和平台可操作地通信。模块化中间件***包括多个组件,可以使用中间件配置工具添加或去除该多个组件。模块化中间件***还包括通用接口,该通用接口是应用程序逻辑可访问的并可转换为应用程序逻辑固有的惯用数据流范例。
公开的实施例的另一方面包括一种计算机实现的方法。该方法包括:接收指示至少选择的控制器类型的第一输入;以及基于该第一输入,生成代表与选择的控制器类型相对应的控制器的模型。该方法还包括:接收指示选择的控制器类型的至少一个功能方面的第二输入;基于该第二输入,更新模型以代表选择的控制器类型的至少一个功能方面;以及使用该模型编译二进制文件,该二进制文件至少代表选择的控制器类型的至少一个功能方面。该方法还包括:将二进制文件上传到与选择的控制器类型相对应的控制器。
公开的实施例的另一方面包括一种***,该***包括处理器和存储器。存储器包括指令,这些指令在由处理器执行时使处理器:接收指示至少选择的控制器类型的第一输入;基于该第一输入,生成代表与选择的控制器类型相对应的控制器的模型;接收指示选择的控制器类型的至少一个功能方面的第二输入;基于该第二输入,更新模型以代表选择的控制器类型的至少一个功能方面;使用该模型编译二进制文件,该二进制文件至少代表选择的控制器类型的至少一个功能方面;以及将二进制文件上传到与选择的控制器类型相对应的控制器。
公开的实施例的另一方面包括一种用于对车辆控制器建模的装置。该装置包括处理器和存储器。存储器包括指令,这些指令在由处理器执行时使处理器:接收指示至少选择的控制器类型的第一输入;基于该第一输入,生成代表与选择的控制器类型相对应的第一控制器的第一模型;基于该第一输入,生成代表与选择的控制器类型相对应的第二控制器的第二模型;接收指示选择的控制器类型的至少一个功能方面的第二输入;基于该第二输入,更新第一模型和第二模型以代表选择的控制器类型的至少一个功能方面;使用该第一模型编译第一二进制文件,该第一二进制文件至少代表选择的控制器类型的至少一个功能方面;使用该第二模型编译第二二进制文件,该第二二进制文件至少代表选择的控制器类型的至少一个功能方面;将第一二进制文件上传到车辆的第一控制器,该第一控制器对应于选择的控制器类型;以及将第二二进制文件上传到车辆的第二控制器,该第二控制器对应于选择的控制器类型,其中,由在第二控制器上执行的相应功能来验证由第一控制器执行的功能。
在以下对实施例、所附权利要求书和附图的详细描述中公开了本公开的这些和其他方面。
附图说明
当结合附图阅读时,通过以下详细描述,本公开被最好地理解。要强调的是,根据惯例,附图的各种特征未按比例绘制。相反,为了清楚起见,各种特征的尺寸被任意地扩大或缩小。
图1大体上示出了根据本公开原理的车辆。
图2A-图2C大体上示出了根据本公开原理的计算机架构的框图。
图3A大体上示出了根据本公开原理的计算装置。
图3B大体上示出了根据本公开原理的控制器。
图4是大体上示出了根据本公开原理的控制器建模方法的流程图。
图5是大体上示出了根据本公开原理的替代控制器建模方法的流程图。
具体实施方式
以下讨论针对本公开的各种实施例。尽管这些实施例中的一个或多个可能是优选的,但是不应将所公开的实施例解释或以其他方式使用为限制包括权利要求书的本公开的范围。另外,本领域技术人员将理解,以下描述具有广泛的应用,并且对任何实施例的讨论仅旨在作为该实施例的示例,而不旨在暗示包括权利要求书的本公开的范围限于该实施例。
如所描述的,诸如汽车、卡车、运动型多功能车、跨界车、小型货车、海上航行器、飞行器、全地形车、休闲车或其他合适的车辆等车辆通常包括被配置为执行车辆的相应功能的各种控制器。例如,一个或多个控制器可以被配置为执行车辆的电动助力转向***的功能。由这样的控制器执行的软件的软件工程中的挑战可以被称为“关注点分离”。具体来说,有助于分离出软件应该做什么(例如,设计)以及软件如何工作(例如,实现)。
通常,这是通过将软件分离成“层”来实现的,其中,每个层都抽象了其以下各个层的复杂功能,并为其以上的各个层提供更简单的界面。通常,使用各种第三方工具可实现这样的软件到层的分离。AUTOSAR(汽车开放***架构)为此限定了结构,第三方工具限定了许多AUTOSAR组件。但是,这样的工具通常是复杂且昂贵的,需要使用软件的专业知识,并且需要大量的时间来学习和执行。
在典型的软件设计***中,设计被限定为许多计算机模拟的模型,这些模型被手动或自动转换为代码。在任一情况下(例如,手动或自动转换为代码),都需要一些软件知识,以及将每部分设计集成到较大项目中的专业知识,这通常是纯手动过程。通常,这意味着需要花费数周的时间才能将新设计转换为可以在硬件上测试的可执行二进制文件。另外,通常对于要使用该设计的每个其他项目再次进行集成工作。这可能是耗时的并且容易出错,从而花费了额外的资源。
因此,可能希望被配置为提供减少集成的复杂性的成套工具和中间件接口的***和方法,例如,本文所述的那些***和方法。中间件通常包括用作应用程序和应用程序运行平台之间的桥梁的软件的类型。其被设计为封装应用程序的软件的复杂的内部运作。在一些实施例中,本文描述的***和方法可以被配置为提供简化的中间件接口。本文描述的***和方法可以被配置为提供减少集成的复杂性的成套的配置工具。
在一些实施例中,本文描述的***和方法可以被配置为允许减少集成时间(例如,减少到几分钟,而不是几周),并且不需要用户具有特定的软件专业知识。本文描述的***和方法可以被配置为提供用于快速原型制作的平台,其可以减少生产程序(例如,软件、应用程序等)中所需的资源。
在一些实施例中,本文描述的***和方法可以被配置为提供模块化***,该模块化***允许使用中间件配置工具来添加或去除装置驱动器和/或其他低级组件。本文描述的***和方法可以被配置为允许基于期望的硬件平台以及应用程序所需的其他复杂的内部算法来选择这些组件。该应用程序可以包括车辆控制(例如,诸如马达控制、转向***控制、其他合适的车辆控制),或者利用嵌入式***的其他合适的控制应用程序。
在一些实施例中,本文描述的***和方法可以被配置为提供通用接口,该通用接口被配置为与传感器交互。本文描述的***和方法可以被配置为提供一个或多个通信接口。本文所述的***和方法可以被配置为提供一个或多个输入接口和一个或多个输出接口(I/O),这些接口是应用程序(例如,软件)逻辑可访问的,并被转换为该应用程序逻辑本身固有的惯用数据流范例。本文描述的***和方法可以被配置为允许最小化跨不同平台的应用程序逻辑中的返工。
在一些实施例中,本文描述的***和方法可以被配置为提供包括规范的架构,该规范限定了中间件和应用程序逻辑之间的接口、到装置驱动器和硬件的接口、一个或多个其他接口和/或模型的限制或其组合。
在一些实施例中,本文描述的***和方法可以被配置为提供包括配置工具的架构,该配置工具可以被用户(例如,设计者或其他合适的用户)用来选择硬件和***装置,并生成代表配置的计算机模拟的模型界面。
在一些实施例中,本文描述的***和方法可以被配置为提供包括基础软件的架构,该基础软件包括驱动器、操作***和/或限定软件项目本身的所有其他内部软件组件(例如,具有使用配置工具选择的模块化组件)。
在一些实施例中,本文描述的***和方法可以被配置为提供包括自动编码工具的架构,该自动编码工具提供将计算机模拟的模型转换为与基本软件集成的代码的能力。
在一些实施例中,本文描述的***和方法可以被配置为提供包括构建工具的架构,该构建工具包括用于构建软件***的集成工具(例如,对应于软件项目)。
在一些实施例中,本文描述的***和方法可以被配置为提供用户界面。本文描述的***和方法可以被配置为经由用户界面从用户接收用户使用配置工具经由用户界面选择的所选硬件和***装置。本文描述的***和方法可以被配置为使用配置工具基于选择的配置来生成计算机模拟的模型组件。本文描述的***和方法可以被配置为经由用户界面从用户接收具有期望的功能的计算机模拟的模型。本文描述的***和方法可以被配置为接收用户中间件工具以编译二进制文件(例如,通过经由用户界面从用户接收一键式指令以进行编译)。
在一些实施例中,本文描述的***和方法可以被配置为允许用户解决任何问题(例如,如果模型失败)和/或将二进制文件闪存到硬件上(例如,如果模型成功)。本文描述的***和方法可以是平台不可知的。可以使用任何合适的计算机模拟建模软件来实现配置和中间件工具。本文描述的***和方法可以被配置为在没有高级软件知识并且没有手动软件集成过程的情况下为用户提供编译二进制文件的能力。
在一些实施例中,本文描述的***和方法可以被配置为提供混合确定性嵌入式软件架构。例如,非确定性软件架构可以包括没有任何可预测的时序的软件运行(例如,通常用于具有更简单代码的更简单的电子装置中,例如计算机键盘)。也就是说,代码仅运行,并且任何与时序相关的功能都取决于微控制器或处理器硬件。相比之下,确定性软件架构包括使用操作***定期运行任务的软件。每个功能在指定的时间段启动。确定性软件架构可以支持不同功能的不同周期性速率。当所有周期性功能均已完成执行时,与确定性软件架构关联的***是空闲的,直到下一周期开始为止。
本文描述的***和方法可以被配置为提供使用非确定性和确定性功能执行的组合的软件架构。例如,本文描述的***和方法可以被配置为根据确定的周期性执行来执行功能,如所描述的。本文描述的***和方法可以被配置为确定是否已经执行了所有周期性功能,并且响应于确定已经执行了所有周期性功能而执行非确定性代码的分离部分。非确定性代码可以被执行直到下一周期开始为止,并且一旦已经完成周期性功能就恢复执行。
在一些实施例中,本文描述的***和方法可以被配置为允许从模型中去除程序问题,这可以显著地简化模型。这种简化也扩展到代码生成(例如,可以同时或基本同时对架构的更大一部分进行建模和自动编码,而无需手动集成)。
在一些实施例中,本文描述的***和方法可以被配置为接收指示至少选择的控制器类型的第一输入。本文描述的***和方法可以被配置为基于第一输入生成代表与选择的控制器类型相对应的控制器的模型。本文描述的***和方法可以被配置为接收指示选择的控制器类型的至少一个功能方面的第二输入。本文描述的***和方法可以被配置为基于该第二输入,更新模型以代表选择的控制器类型的至少一个功能方面。本文描述的***和方法可以被配置为使用该模型编译二进制文件,该二进制文件至少代表选择的控制器类型的至少一个功能方面。本文描述的***和方法可以被配置为将二进制文件上传到与选择的控制器类型相对应的控制器。
在一些实施例中,本文描述的***和方法可以被配置为响应于基于第二输入来更新模型以代表选择的控制器类型的至少一个功能方面而确定该模型是否包括一个或多个误差。本文描述的***和方法可以被配置为响应于确定该模型包括一个或多个误差而生成指示该一个或多个误差的输出。本文描述的***和方法可以被配置为响应于指示一个或多个误差的输出来接收指示对模型的至少一种修改的第三输入。本文描述的***和方法可以被配置为基于第三输入来更新模型。
在一些实施例中,本文描述的***和方法可以被配置为将定时器设置为预定时段。本文描述的***和方法可以被配置为响应于将定时器设置为预定时段来执行模型的确定性功能。本文描述的***和方法可以被配置为响应于确定已经执行了模型的所有确定性功能并且响应于确定定时器没有到期而执行模型的非确定性功能。
图1大体上示出了根据本公开原理的车辆10。车辆10可以包括任何合适的车辆,例如小汽车、卡车、运动型多用途车、小型货车、酷越车、任何其他客车、任何合适的商用车或任何其他合适的车辆。尽管车辆10被图示为具有车轮并且用于道路上的客车,但是本公开的原理可以应用于其他交通工具,例如飞机、船、火车、无人机或其他合适的交通工具。
车辆10包括车体12和发动机罩14。乘客室18至少部分地由车体12限定。车体12的另一部分限定引擎室20。发动机罩14可以可移动地附接至车体12的一部分,使得当发动机罩14处于第一位置或打开位置时发动机罩14提供进入引擎室20的通道,而当发动机罩14处于第二位置或关闭位置时发动机罩14覆盖引擎室20。在一些实施例中,引擎室20可以被布置车辆10的后部上(与通常所示出的相比而言)。
乘客室18可以被布置在引擎室20的后方,但是在引擎室20被布置在车辆10的后部的实施例中,乘客室18可以被布置在引擎室20的前方。车辆10可以包括任何合适的推进***,包括内燃机、一个或多个电动马达(例如,电动车辆)、一个或多个燃料电池、包括内燃机和一个或多个电动马达的组合的混合(例如,混合动力车辆)推进***和/或任何其他合适的推进***。
在一些实施例中,车辆10可以包括汽油引擎,诸如火花点火引擎。在一些实施例中,车辆10可以包括柴油引擎,例如压缩点火引擎。引擎室20容纳和/或包围车辆10的推进***的至少一些组件。附加地或可替代地,推进控制装置,例如加速器致动器(例如,加速器踏板)、制动致动器(例如,制动踏板)、方向盘和其他此类组件布置在车辆10的乘客室18中。推进控制装置可以由车辆10的驾驶员致动或控制,并且可以直接分别连接至推进***的相应组件,例如节气门、制动器、车轴以及车辆变速器等。在一些实施例中,推进控制装置可以将信号传送到车辆计算机(例如,线控驱动),进而可以控制推进***的相应推进组件。这样,在一些实施例中,车辆10可以是自主驾驶车辆。
在一些实施例中,车辆10包括经由飞轮或离合器或液力联轴节与曲轴关联的变速器。在一些实施例中,变速器包括手动变速器。在一些实施例中,变速器包括自动变速器。在内燃机或混合动力车辆的情况下,车辆10可以包括一个或多个活塞,其与曲轴协同运行以生成力,该力通过变速器被传递到一个或多个轴上,使车轮22转动。当车辆10包括一个或多个电动马达时,车辆电池和/或燃料电池向电动马达提供能量以转动车轮22。
车辆10可包括自动车辆推进***,例如巡航控制、自适应巡航控制、自动制动控制、其他自动车辆推进***或其组合。车辆10可以是自动或半自动车辆、或其他合适类型的车辆。车辆10可以包括比本文一般示出和/或公开的特征更多或更少的特征。
在一些实施例中,车辆10可以包括以太网组件24、控制器局域网(CAN)总线26、面向媒体***传输组件(MOST)28、FlexRay组件30(例如线控制动***等)和本地互连网络组件(LIN)32。车辆10可以使用CAN总线26、MOST 28、FlexRay组件30、LIN 32、其他合适的网络或通信***或其组合,以将各种信息从例如车辆内部或外部的传感器传送到例如车辆内部或外部的各种处理器或控制器。车辆10可以包括比本文一般示出和/或公开的特征更多或更少的特征。
图2A-图2C大体上示出了包括中间件112的***100。***100可以包括合适的计算装置,或使用合适的计算装置来执行,计算装置例如是图3A中大体示出的计算装置200。计算装置200可以被配置为执行本文描述的***和方法。计算装置200可以包括任何合适的计算装置。
计算装置200可以包括处理器202,被配置为控制计算装置200的整体运行。处理器202可以包括任何合适的处理器,例如本文所述的那些。附加地或可替代地,除处理器202之外,计算装置200还可包括任何合适数量的处理器。计算装置200还可包括用户输入装置204,被配置为从计算装置200的用户接收输入,并将代表从用户接收的输入的信号传送到处理器202。例如,用户输入装置204可以包括按钮、小键盘、拨盘、触摸屏、音频输入接口、视觉/图像捕获输入接口、以传感器数据形式的输入等。
计算装置200可以包括显示器206,该显示器206可以由处理器202控制以向用户显示信息。数据总线208可以被配置为促进至少在存储装置210和处理器202之间的数据传送。计算装置200还可以包括网络接口21,该网络接口21被配置为经由网络连接(例如,有线或无线连接)将计算装置200耦合或连接到各种其他计算装置或网络装置。在一些实施例中,网络接口212包括无线收发器。
存储装置210可以包括单个磁盘或多个磁盘(例如,硬盘驱动器)、一个或多个固态驱动器、一个或多个混合硬盘驱动器等。存储装置210可以包括管理存储装置210内的一个或多个分区的存储管理模块。在一些实施例中,存储装置210可以包括闪存、半导体(固态)存储器等。计算装置200还可包括存储器214。存储器214可包括随机存取存储器(RAM)、只读存储器(ROM)或其组合。存储器214可以存储要由处理器202执行的程序、实用程序或过程。存储器214可以提供易失性数据存储,并且存储与计算装置200的操作有关的指令。
中间件112可以包括用作应用程序114和应用程序的运行平台116之间的桥梁的软件的类型。中间件112可以被设计为封装软件的复杂的内部运作。本文公开的中间件112可以通过进一步简化中间件接口并提供减小集成复杂度的成套的工具来改进现有***。当适当地执行时,该***100可以允许集成花费几分钟而不是几周,并且该***100可以不需要用户具有任何特定的软件专业知识。时间的减少为快速原型制作创建了理想的平台,并且可以减少程序制作中所需的大量资源。
中间件112可以作为模块化***来运行。例如,可以使用经由用户界面提供给用户的中间件配置工具来添加或去除装置驱动器和其他低级组件。可以基于期望的硬件平台以及该应用程序(例如,诸如本文所述的那些)所需的其他复杂的内部算法来选择(例如,通过使用用户界面的用户)这些组件。硬件16可以包括任何合适的硬件,包括但不限于车辆控制器(例如,如图3B中大体示出的控制器300)。控制器300可以包括任何合适的控制器。控制器300可以被配置为控制例如车辆10的各个方面。
控制器300可以包括处理器302和存储器304。处理器302可以包括任何合适的处理器,例如本文所述的那些。附加地或可替代地,除处理器302之外,控制器300还可以包括任何合适数量的处理器。存储器304可以包括单个磁盘或多个磁盘(例如,硬盘驱动器),并且包括存储管理模块,其管理存储器106内的一个或多个分区。在一些实施例中,存储器304可以包括闪存、半导体(固态)存储器等。存储器304可以包括随机存取存储器(RAM)、只读存储器(ROM)或其组合。存储器304可以包括指令,该指令在由处理器302执行时使处理器302至少基于编译的二进制文件来控制车辆10的各种功能,如所描述的。
为传感器、通信接口和I/O限定通用接口118,该通用接口118是应用程序逻辑可访问的,并被转换为应用程序逻辑本身固有的惯用数据流范例。这种架构允许最小化跨不同平台的应用程序逻辑中的返工。
中间件112可以包括一个或多个部分。例如,规范可以限定中间件和应用程序逻辑之间的接口,以及装置驱动程序和硬件的接口。该规范还限定了对模型的任何限制。附加地或可替代地,用户可经由用户界面使用配置工具来选择硬件和***装置,并生成代表该配置的计算机模拟的模型界面,如图2B的框120所示。基本软件可以包括驱动程序、操作***和所有其他内部组件,这些组件创建软件项目本身的基础(利用通过配置工具选择的模块化组件)。自动编码工具可以提供将计算机模拟的模型转换为与基本软件集成的代码的能力,如图2B的框122和124所示。构建工具可以包括用于构建***的集成工具。
在一些实施例中,在用户使用一个或多个配置工具来选择硬件和***装置之后,配置工具基于选择的配置来生成计算机模拟的模型组件。如框120所示,用户然后可以创建计算机模拟的模型,该计算机模拟的模型具有由模型代表的控制器(例如,控制器300)的一个或多个功能方面。用户使用中间件工具来编译二进制文件,如框122所示。在一些实施例中,这可以通过单击计算装置200的输入装置来执行。用户可以解决测试之后的任何问题(例如,如果模型失败)。如果模型成功,则用户可以将二进制文件闪存到控制器300或其他合适的控制器或硬件上,如框124和126所示。
在一些实施例中,计算装置200可以接收指示至少选择的控制器类型的第一输入。例如,用户可以使用用户界面来选择控制器类型。控制器类型可以对应于控制器300或任何合适的控制器。应当理解,用户可以选择控制器以外的任何合适的硬件。
计算装置200可以基于第一输入来生成代表控制器300(例如,或与选择的控制器类型相对应的其他合适的控制器)的模型。计算装置200可以接收指示选择的控制器类型的至少一个功能方面的第二输入。计算装置200可以基于第二输入来更新模型以代表控制器300(例如,或与选择的控制器类型相对应的其他合适的控制器)的至少一个功能方面。
计算装置200可以使用模型来编译二进制文件,该二进制文件至少代表控制器300的至少一个功能方面。计算装置200可以将二进制文件上传到控制器300。控制器300可以被配置为根据二进制文件运行。例如,二进制文件可以存储在存储器304上。处理器302可以执行与二进制文件相关联的指令。在一些实施例中,控制器300可以是车辆10的控制器,并且可以被配置为执行一个或多个车辆控制功能。
在一些实施例中,响应于基于第二输入来更新模型以代表控制器300的至少一个功能方面,计算装置200可以确定该模型是否包括一个或多个误差。本文描述的***和方法可以被配置为响应于确定模型包括一个或多个误差而生成指示该一个或多个误差的输出。本文描述的***和方法可以被配置为响应于指示一个或多个误差的输出来接收指示对模型的至少一种修改的第三输入。本文描述的***和方法可以被配置为基于第三输入来更新模型。
在一些实施例中,计算装置200可以将定时器设置为预定时段。计算装置200可以响应于将定时器设置为预定时段来执行模型的确定性功能。计算装置200可以响应于确定已经执行了模型的所有确定性功能并且响应于确定定时器没有到期,而执行模型的非确定性功能。例如,计算装置200可以确定是否已经执行了所有确定性功能。如果计算装置200确定已经执行了所有确定性功能,则计算装置200可以确定定时器是否已经到期。如果计算装置200确定定时器还没有到期,则计算装置200可以执行非确定性功能,直到定时器到期。相反地,如果计算装置200确定不是所有确定性功能都已经被执行或者定时器已经到期,则计算装置200可以继续执行确定性功能。
在一些实施例中,计算装置200可以被配置为生成多个模型,以便使用两个或更多个合适的控制器来验证模型的输出。例如,如所描述的,计算装置200可以接收第一输入。计算装置200可以基于第一输入来生成第一模型,该第一模型代表与选择的控制器类型相对应的第一控制器,例如控制器300。然后计算装置200可以基于第一输入来生成第二模型,该第二模型代表与选择的控制器类型相对应的第二控制器,例如车辆10的另一控制器。
计算装置200可以接收第二输入,该第二输入指示选择的控制器类型的至少一个功能方面。计算装置200可以基于第二输入来更新第一模型和第二模型,以代表车辆10内的控制器300和另一控制器的至少一个功能方面。计算装置200可以使用第一模型来编译至少代表控制器300的至少一个功能方面的第一二进制文件。计算装置200可以使用第二模型来编译第二二进制文件,该第二二进制文件至少代表车辆10的另一控制器的至少一个功能方面。计算装置200可以将第一二进制文件上传到控制器300。计算装置200可以将第二二进制文件上传到车辆10的另一控制器。控制器300可以使用模型限定的各种运算和/或计算来生成一个或多个输出(例如,以便控制车辆10的各个方面)。另一控制器或车辆10可以被配置为使用模型限定的一个或多个不同或相似的运算和/或计算来生成与控制器300相同的输出。以这种方式,可以通过将由控制器300生成的输出与由车辆10的另一控制器生成的输出进行比较,来验证由模型(例如,第一模型和/或第二模型)限定的输出。
在一些实施例中,***100、计算装置200和/或控制器300可以执行本文描述的方法。然而,由***100、计算装置200和/或控制器300执行的本文描述的方法并不意味着是限制性的,并且在控制器或处理器上执行的任何类型的软件都可以执行本文描述的方法而不会脱离本公开的范围。例如,诸如在计算装置内执行软件的处理器之类的控制器可以执行本文所述的方法。
图4是大体上示出了根据本公开原理的控制器建模方法400的流程图。在402处,方法400接收指示至少选择的控制器类型的第一输入。例如,计算装置200接收指示选择的控制器类型的第一输入。
在404处,方法400基于第一输入生成代表与选择的控制器类型相对应的控制器的模型。例如,计算装置200基于第一输入来生成代表控制器300的模型。
在406处,方法400接收指示选择的控制器类型的至少一个功能方面的第二输入。例如,计算装置200接收指示控制器300的至少一个功能方面的第二输入。该至少一个功能方面可以包括控制器300的一个或多个功能、计算、运算或控制方面。如所描述的,当闪存有二进制文件时,控制器300可以执行至少一个功能方面。
在408处,方法400基于第二输入来更新模型,以代表选择的控制器类型的至少一个功能方面。例如,计算装置200更新模型以代表控制器300的至少一个功能方面。
在410处,方法400使用模型来编译二进制文件,该二进制文件至少代表选择的控制器类型的至少一个功能方面。例如,计算装置200使用中间件112来编译二进制文件,该二进制文件至少代表控制器300的至少一个功能方面。
在412处,方法400将二进制文件上传到与选择的控制器类型相对应的控制器。例如,计算装置200将二进制文件上传或闪存到控制器300。然后控制器300可以执行由二进制文件限定的至少一个功能方面和/或其他各种功能。
图5是大体上示出了根据本公开原理的替代控制器建模方法500的流程图。在502处,方法500接收指示至少选择的控制器类型的第一输入。例如,计算装置200接收指示选择的控制器类型的第一输入。
在504处,方法500基于第一输入生成第一模型,该第一模型代表与选择的控制器类型相对应的第一控制器。例如,计算装置200基于第一输入生成代表控制器300的第一模型。
在506处,方法500基于第一输入生成第二模型,该第二模型代表与选择的控制器类型相对应的第二控制器。例如,计算装置200基于第一输入生成代表车辆10的另一控制器的第二模型。
在508处,方法500接收第二输入,该第二输入指示选择的控制器类型的至少一个功能方面。例如,计算装置200接收指示控制器300的至少一个功能方面的第二输入。该至少一个功能方面可以包括控制器300和/或车辆10的另一控制器的一个或多个功能、计算、运算或控制方面。如所描述的,当闪存有二进制文件时,控制器300和/或车辆10的另一控制器可以执行至少一个功能方面。
在510处,方法500基于第二输入来更新第一模型以代表选择的控制器类型的至少一个功能方面。例如,计算装置200更新第一模型以代表控制器300的至少一个功能方面。
在512处,方法500基于第二输入来更新第二模型以代表选择的控制器类型的至少一个功能方面。例如,计算装置200更新第二模型以代表车辆10的另一控制器的至少一个功能方面。
在514处,方法500使用模型来编译第一二进制文件,该第一二进制文件至少代表选择的控制器类型的至少一个功能方面。例如,计算装置200使用中间件112来编译第一二进制文件,该第一二进制文件至少代表控制器300的至少一个功能方面。
在516处,方法500使用模型来编译第二二进制文件,该第二二进制文件至少代表选择的控制器类型的至少一个功能方面。例如,计算装置200使用中间件112来编译第二二进制文件,该第二二进制文件至少代表车辆10的另一控制器的至少一个功能方面。
在518处,方法500将第一二进制文件上传到与选择的控制器类型相对应的控制器。例如,计算装置200将第一二进制文件上传或闪存到控制器300。然后控制器300可以执行由第一二进制文件限定的至少一个功能方面和/或其他各种功能。
在520处,方法500将第二二进制文件上传到与选择的控制器类型相对应的控制器。例如,计算装置200将第二二进制文件上传或闪存到车辆10的另一控制器。然后,另一控制器可以执行由第二二进制文件限定的至少一个功能方面和/或其他各种功能。
在一些实施例中,计算机实现的方法包括:接收指示至少选择的控制器类型的第一输入;以及基于该第一输入,生成代表与选择的控制器类型相对应的控制器的模型。该方法还包括:接收指示选择的控制器类型的至少一个功能方面的第二输入;基于该第二输入,更新模型以代表选择的控制器类型的至少一个功能方面;以及使用该模型编译二进制文件,该二进制文件至少代表选择的控制器类型的至少一个功能方面。该方法还包括:将二进制文件上传到与选择的控制器类型相对应的控制器。
在一些实施例中,该方法还包括响应于基于第二输入来更新模型以代表选择的控制器类型的至少一个功能方面而确定该模型是否包括一个或多个误差。在一些实施例中,该方法还包括响应于确定该模型包括一个或多个误差而生成指示该一个或多个误差的输出。在一些实施例中,该方法还包括响应于指示一个或多个误差的输出来接收指示对模型的至少一种修改的第三输入。在一些实施例中,该方法还包括基于第三输入来更新模型。在一些实施例中,该方法还包括将定时器设置为预定时段。在一些实施例中,该方法还包括响应于将定时器设置为预定时段来执行模型的确定性功能。在一些实施例中,该方法还包括响应于确定已经执行了模型的所有确定性功能并且响应于确定定时器没有到期而执行模型的非确定性功能。
在一些实施例中,***包括处理器和存储器。存储器包括指令,这些指令在由处理器执行时使处理器:接收指示至少选择的控制器类型的第一输入;基于该第一输入,生成代表与选择的控制器类型相对应的控制器的模型;接收指示选择的控制器类型的至少一个功能方面的第二输入;基于该第二输入,更新模型以代表选择的控制器类型的至少一个功能方面;使用该模型编译二进制文件,该二进制文件至少代表选择的控制器类型的至少一个功能方面;以及将二进制文件上传到与选择的控制器类型相对应的控制器。
在一些实施例中,指令还使处理器响应于基于第二输入来更新模型以代表选择的控制器类型的至少一个功能方面而确定该模型是否包括一个或多个误差。在一些实施例中,指令还使处理器响应于确定该模型包括一个或多个误差而生成指示该一个或多个误差的输出。在一些实施例中,指令还使处理器响应于指示一个或多个误差的输出来接收指示对模型的至少一种修改的第三输入。在一些实施例中,指令还使处理器基于第三输入来更新模型。在一些实施例中,指令还使处理器将定时器设置为预定时段。在一些实施例中,指令还使处理器响应于将定时器设置为预定时段来执行模型的确定性功能。在一些实施例中,指令还使处理器响应于确定已经执行了模型的所有确定性功能并且响应于确定定时器没有到期而执行模型的非确定性功能。
在一些实施例中,一种用于对车辆控制器建模的装置包括处理器和存储器。存储器包括指令,这些指令在由处理器执行时使处理器:接收指示至少选择的控制器类型的第一输入;基于该第一输入,生成代表与选择的控制器类型相对应的第一控制器的第一模型;基于该第一输入,生成代表与选择的控制器类型相对应的第二控制器的第二模型;接收指示选择的控制器类型的至少一个功能方面的第二输入;基于该第二输入,更新第一模型和第二模型以代表选择的控制器类型的至少一个功能方面;使用该第一模型编译第一二进制文件,该第一二进制文件至少代表选择的控制器类型的至少一个功能方面;使用该第二模型编译第二二进制文件,该第二二进制文件至少代表选择的控制器类型的至少一个功能方面;将第一二进制文件上传到车辆的第一控制器,该第一控制器对应于选择的控制器类型;以及将第二二进制文件上传到车辆的第二控制器,该第二控制器对应于选择的控制器类型,其中,由在第二控制器上执行的相应功能来验证由第一控制器执行的功能。
在一些实施例中,指令还使处理器将定时器设置为预定时段。在一些实施例中,指令还使处理器响应于将定时器设置为预定时段来执行第一模型和第二模型中的至少一个的确定性功能。在一些实施例中,指令还使处理器响应于确定已经执行了第一模型和第二模型中的至少一个的所有确定性功能并且响应于确定定时器没有到期而执行第一模型和第二模型中的至少一个的非确定性功能。
以上讨论意在说明本公开的原理和各种实施例。一旦完全理解了上述公开,许多变化和修改对于本领域技术人员将变得显而易见。意图将以下权利要求书解释为包含所有这样的变化和修改。
词语“示例”在本文中用来代表用作示例、例子或说明。本文中被描述为“示例”的任何方面或设计不一定被解释为比其他方面或设计更优选或有利。相反,使用“示例”一词旨在以具体方式呈现概念。如在本申请中使用的,术语“或”旨在代表包括性的“或”而不是排他性的“或”。也就是说,除非另有说明或从上下文可以清楚地看出,“X包括A或B”旨在代表任何自然的包含性排列。也就是说,如果X包含A;X包括B;或X包括A和B,则在任何前述情况下均满足“X包括A或B”。另外,在本申请和所附权利要求书中使用的冠词“一个”通常应被解释为意指“一个或更多个”,除非另有说明或从上下文清楚地指向单数形式。此外,除非如此描述,否则贯穿全文使用术语“实施方式”或“一个实施方式”并不旨在代表相同的实施例或实施方式。
可以以硬件、软件或其任何组合来实现本文描述的***、算法、方法、指令等的实现。硬件可以包括,例如,计算机、知识产权(IP)核心、专用集成电路(ASIC)、可编程逻辑阵列、光处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其他合适的电路。在权利要求书中,术语“处理器”应被理解为单独地或组合地包括任何前述硬件。术语“信号”和“数据”可互换使用。
如在此使用的,术语模块可以包括被设计为与其他组件一起使用的封装的功能硬件单元、可由控制器(例如,执行软件或固件的处理器)执行的一组指令、被配置为执行特定功能的处理电路以及与大型***交互的独立硬件或软件组件。例如,模块可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、电路、数字逻辑电路、模拟电路、分立电路的组合、门和其他类型硬件或者它们的组合。在其他实施例中,模块可以包括存储器,该存储器存储可由控制器执行以实现模块的特征的指令。
此外,在一方面,例如,可以使用具有计算机程序的通用计算机或通用处理器来实现本文描述的***,该计算机程序在被执行时实现本文描述的任何相应的方法、算法和/或指令。附加地或可替代地,例如,可以利用专用计算机/处理器,其可以包含用于执行本文描述的任何方法、算法或指令的其他硬件。
此外,本公开的全部或部分实现方式可以采取可从例如计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是例如可以有形地包含、存储、通信或传输程序以供任何处理器使用或与任何处理器结合使用的任何装置。介质可以是例如电的、磁的、光的、电磁的装置或半导体装置。也可以使用其他合适的介质。
已经描述了上述实施例、实施方式和方面,以允许容易地理解本公开并且不限制本公开。相反,本公开旨在覆盖所附权利要求书的范围内所包括的各种修改和等效布置,该范围应被赋予最宽泛的解释,以涵盖法律允许的所有此类修改和等效结构。
Claims (20)
1.一种计算机实现的方法,包括:
接收至少指示选择的控制器类型的第一输入;
基于第一输入,生成代表与选择的控制器类型相对应的控制器的模型;
接收指示选择的控制器类型的至少一个功能方面的第二输入;
基于第二输入,更新模型以代表选择的控制器类型的至少一个功能方面;
使用模型编译二进制文件,所述二进制文件至少代表选择的控制器类型的至少一个功能方面;以及
将二进制文件上传到与选择的控制器类型相对应的控制器。
2.根据权利要求1所述的方法,还包括:响应于基于所述第二输入来更新模型以代表选择的控制器类型的至少一个功能方面,而确定所述模型是否包括一个或更多个误差。
3.根据权利要求2所述的方法,还包括:响应于确定所述模型包括所述一个或更多个误差而生成指示所述一个或更多个误差的输出。
4.根据权利要求3所述的方法,还包括:响应于指示所述一个或更多个误差的输出来接收指示对模型的至少一种修改的第三输入。
5.根据权利要求4所述的方法,还包括:基于所述第三输入来更新所述模型。
6.根据权利要求1所述的方法,还包括:将定时器设置为预定时段。
7.根据权利要求6所述的方法,还包括:响应于将定时器设置为预定时段来执行模型的确定性功能。
8.根据权利要求6所述的方法,还包括:响应于确定已经执行了所述模型的所有确定性功能并且响应于确定定时器没有到期,而执行所述模型的非确定性功能。
9.一种***,包括:
处理器;以及
包括指令的存储器,所述指令在由所述处理器执行时,使所述处理器:
接收至少指示选择的控制器类型的第一输入;
基于所述第一输入,生成代表与选择的控制器类型相对应的控制器的模型;
接收指示选择的控制器类型的至少一个功能方面的第二输入;
基于第二输入,更新模型以代表选择的控制器类型的至少一个功能方面;
使用模型编译二进制文件,所述二进制文件至少代表选择的控制器类型的至少一个功能方面;以及
将二进制文件上传到与选择的控制器类型相对应的控制器。
10.根据权利要求9所述的***,其中,所述指令还使所述处理器:响应于基于所述第二输入来更新模型以代表选择的控制器类型的至少一个功能方面,而确定所述模型是否包括一个或更多个误差。
11.根据权利要求10所述的***,其中,所述指令还使所述处理器:响应于确定所述模型包括所述一个或更多个误差而生成指示所述一个或更多个误差的输出。
12.根据权利要求11所述的***,其中,所述指令还使所述处理器:响应于指示所述一个或更多个误差的输出来接收指示对模型的至少一种修改的第三输入。
13.根据权利要求12所述的***,其中,所述指令还使所述处理器:基于所述第三输入来更新所述模型。
14.根据权利要求9所述的***,其中,所述指令还使所述处理器:将定时器设置为预定时段。
15.根据权利要求14所述的***,其中,所述指令还使所述处理器:响应于将定时器设置为预定时段来执行模型的确定性功能。
16.根据权利要求14所述的***,其中,所述指令还使所述处理器:响应于确定已经执行了所述模型的所有确定性功能并且响应于确定定时器没有到期,而执行所述模型的非确定性功能。
17.一种用于对车辆控制器建模的装置,所述装置包括:
处理器;以及
包括指令的存储器,所述指令在由所述处理器执行时,使所述处理器:
接收至少指示选择的控制器类型的第一输入;
基于第一输入,生成代表与选择的控制器类型相对应的第一控制器的第一模型;
基于第一输入,生成代表与选择的控制器类型相对应的第二控制器的第二模型;
接收指示选择的控制器类型的至少一个功能方面的第二输入;
基于第二输入,更新第一模型和第二模型以代表选择的控制器类型的至少一个功能方面;
使用第一模型编译第一二进制文件,所述第一二进制文件至少代表选择的控制器类型的至少一个功能方面;
使用第二模型编译第二二进制文件,所述第二二进制文件至少代表选择的控制器类型的至少一个功能方面;
将第一二进制文件上传到车辆的第一控制器,所述第一控制器对应于选择的控制器类型;以及
将第二二进制文件上传到车辆的第二控制器,所述第二控制器对应于选择的控制器类型,其中,由在第二控制器上执行的相应功能来验证由第一控制器执行的功能。
18.根据权利要求17所述的装置,其中,所述指令还使所述处理器:将定时器设置为预定时段。
19.根据权利要求18所述的装置,其中,所述指令还使所述处理器:响应于将所述定时器设置为预定时段来执行第一模型和第二模型中的至少一个的确定性功能。
20.根据权利要求19所述的装置,其中,所述指令还使所述处理器:响应于确定已经执行了所述第一模型和第二模型中的至少一个的所有确定性功能并且响应于确定定时器没有到期,而执行第一模型和第二模型中的至少一个的不确定性功能。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962875216P | 2019-07-17 | 2019-07-17 | |
US62/875,216 | 2019-07-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112241255A true CN112241255A (zh) | 2021-01-19 |
CN112241255B CN112241255B (zh) | 2024-06-18 |
Family
ID=74093408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010693500.3A Active CN112241255B (zh) | 2019-07-17 | 2020-07-17 | 中间件***和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11294642B2 (zh) |
CN (1) | CN112241255B (zh) |
DE (1) | DE102020118563A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6847382B1 (ja) * | 2019-09-23 | 2021-03-24 | 株式会社デンソークリエイト | 設計支援ツール |
US11921622B2 (en) * | 2021-06-08 | 2024-03-05 | Microsoft Technology Licensing, Llc | Generating fault conditions using a fault-enabled software development kit |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100083223A1 (en) * | 2008-09-30 | 2010-04-01 | Ics Triplex Isagraf Inc. | Compilation model |
US20110078694A1 (en) * | 2008-07-30 | 2011-03-31 | Autonetworks Technologies, Ltd. | Control apparatus, control system and computer program |
CN102262394A (zh) * | 2010-05-24 | 2011-11-30 | 通用汽车环球科技运作有限责任公司 | 车辆***建模***和方法 |
CN102906652A (zh) * | 2010-05-25 | 2013-01-30 | 西门子产品生命周期管理软件公司 | 用于闭环控制器编程的方法和*** |
CN103677835A (zh) * | 2013-12-16 | 2014-03-26 | 北京经纬恒润科技有限公司 | 软件集成方法及*** |
CN106170764A (zh) * | 2014-01-10 | 2016-11-30 | 西安姆贝拉有限公司 | 用于自动设备程序生成的方法和装置 |
CN106371813A (zh) * | 2015-07-23 | 2017-02-01 | 广州汽车集团股份有限公司 | 一种基于Simulink的电动汽车电机控制器软件生成方法 |
CN107562422A (zh) * | 2016-06-30 | 2018-01-09 | 西门子瑞士有限公司 | 控制器人机界面的编程方法以及提供此编程工具的服务器 |
CN107784152A (zh) * | 2016-08-26 | 2018-03-09 | 株式会社日立制作所 | 包括多个模拟器的模拟 |
US20180293057A1 (en) * | 2017-04-11 | 2018-10-11 | Beijing Deephi Technology Co., Ltd. | Programming model of neural network-oriented heterogeneous computing platform |
CN109697915A (zh) * | 2017-10-20 | 2019-04-30 | 福特全球技术公司 | 车辆和车辆仿真器 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074059B2 (en) * | 2005-09-02 | 2011-12-06 | Binl ATE, LLC | System and method for performing deterministic processing |
CN103116497B (zh) * | 2013-03-05 | 2015-12-23 | 北京经纬恒润科技有限公司 | 一种基于软件平台的多电子控制单元构建方法及*** |
US9141365B1 (en) * | 2013-12-20 | 2015-09-22 | The Mathworks, Inc. | Installation of a technical computing environment customized for a target hardware platform |
US9915950B2 (en) * | 2013-12-31 | 2018-03-13 | Polysync Technologies, Inc. | Autonomous vehicle interface system |
US9594559B2 (en) * | 2015-01-07 | 2017-03-14 | International Business Machines Corporation | Binary file for computer program having multiple executable code variants for a function that are executable on a same processor architecture |
US10185547B2 (en) * | 2015-06-26 | 2019-01-22 | Intel Corporation | Techniques for distributed operation of secure controllers |
JPWO2017056194A1 (ja) * | 2015-09-29 | 2017-10-05 | 株式会社東芝 | 情報機器または情報通信端末および、情報処理方法 |
US10331829B2 (en) * | 2015-12-15 | 2019-06-25 | International Business Machines Corporation | System design using accurate performance models |
US20170295188A1 (en) * | 2016-04-06 | 2017-10-12 | Karamba Security | Automated security policy generation for controllers |
US20190095303A1 (en) | 2016-06-01 | 2019-03-28 | The Mathworks, Inc. | Systems and methods for measuring error in terms of unit in last place |
DE102017116883A1 (de) * | 2016-07-28 | 2018-02-01 | Steering Solutions Ip Holding Corporation | Ununterbrochene Verfügbarkeit von Daten während eines Fehlers in einem redundanten Mikrocontrollersystem |
DE102017122168B4 (de) * | 2016-09-28 | 2021-09-02 | Steering Solutions Ip Holding Corporation | Stabilitätsüberwachung in Echtzeit bei Lenkungssystemen |
CN111133412A (zh) * | 2017-07-25 | 2020-05-08 | 奥罗拉实验室有限公司 | 基于工具链构建车辆ecu软件的软件增量更新和异常检测 |
US20190258460A1 (en) * | 2018-02-22 | 2019-08-22 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method and system for generating a software component |
US10884717B2 (en) * | 2019-04-09 | 2021-01-05 | Raytheon Company | Resource management system featuring a sensor-agnostic software architecture |
US20190392296A1 (en) * | 2019-06-28 | 2019-12-26 | John Brady | Hardware agnostic deep neural network compiler |
-
2020
- 2020-07-14 DE DE102020118563.4A patent/DE102020118563A1/de active Pending
- 2020-07-17 US US16/932,662 patent/US11294642B2/en active Active
- 2020-07-17 CN CN202010693500.3A patent/CN112241255B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078694A1 (en) * | 2008-07-30 | 2011-03-31 | Autonetworks Technologies, Ltd. | Control apparatus, control system and computer program |
US20100083223A1 (en) * | 2008-09-30 | 2010-04-01 | Ics Triplex Isagraf Inc. | Compilation model |
CN101763280A (zh) * | 2008-09-30 | 2010-06-30 | Ics三重自动化软件有限公司 | 编译模型 |
CN102262394A (zh) * | 2010-05-24 | 2011-11-30 | 通用汽车环球科技运作有限责任公司 | 车辆***建模***和方法 |
CN102906652A (zh) * | 2010-05-25 | 2013-01-30 | 西门子产品生命周期管理软件公司 | 用于闭环控制器编程的方法和*** |
CN103677835A (zh) * | 2013-12-16 | 2014-03-26 | 北京经纬恒润科技有限公司 | 软件集成方法及*** |
CN106170764A (zh) * | 2014-01-10 | 2016-11-30 | 西安姆贝拉有限公司 | 用于自动设备程序生成的方法和装置 |
CN106371813A (zh) * | 2015-07-23 | 2017-02-01 | 广州汽车集团股份有限公司 | 一种基于Simulink的电动汽车电机控制器软件生成方法 |
CN107562422A (zh) * | 2016-06-30 | 2018-01-09 | 西门子瑞士有限公司 | 控制器人机界面的编程方法以及提供此编程工具的服务器 |
CN107784152A (zh) * | 2016-08-26 | 2018-03-09 | 株式会社日立制作所 | 包括多个模拟器的模拟 |
US20180293057A1 (en) * | 2017-04-11 | 2018-10-11 | Beijing Deephi Technology Co., Ltd. | Programming model of neural network-oriented heterogeneous computing platform |
CN109697915A (zh) * | 2017-10-20 | 2019-04-30 | 福特全球技术公司 | 车辆和车辆仿真器 |
Non-Patent Citations (4)
Title |
---|
ANDREAS SPORR等: "Automated HVAC Control Creation Based on Building Information Modeling (BIM): Ventilation System", 《IEEE ACCESS ( VOLUME: 7)》, pages 1 - 12 * |
AYUSH GOEL等: "Basic Autonomous Vehicle Controller Development through Modeling and Simulation", pages 1 - 11, Retrieved from the Internet <URL:《https://www.researchgate.net/publication/324251932_Basic_Autonomous_Vehicle_Controller_Development_through_Modeling_and_Simulation》> * |
SNIPER-SONG: "一例汽车电子控制模块的破解", pages 1 - 23, Retrieved from the Internet <URL:《https://zhuanlan.zhihu.com/p/52038161》> * |
李静之: "纯电动四轮独立驱动汽车整车控制器开发", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》, pages 035 - 658 * |
Also Published As
Publication number | Publication date |
---|---|
US11294642B2 (en) | 2022-04-05 |
US20210019121A1 (en) | 2021-01-21 |
CN112241255B (zh) | 2024-06-18 |
DE102020118563A1 (de) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230206071A1 (en) | Ann training trough processing power of parked vehicles | |
Reif | Automotive Mechatronics | |
US8768681B2 (en) | Control unit simulation method, system, and program | |
CN112241255B (zh) | 中间件***和方法 | |
Eyisi et al. | Model‐Based Control Design and Integration of Cyberphysical Systems: An Adaptive Cruise Control Case Study | |
Rousseau et al. | Electric drive vehicle development and evaluation using system simulation | |
Jiang et al. | Development of an engine-in-the-loop vehicle simulation system in engine dynamometer test cell | |
Curiel-Ramirez et al. | Hardware in the loop framework proposal for a semi-autonomous car architecture in a closed route environment | |
CN113591199A (zh) | 用于车辆建模的***和方法 | |
US11822955B2 (en) | System and method for decentralized vehicle software management | |
Chombart et al. | Multidisciplinary modelling and simulation speeds development of automotive systems and software | |
Mcgee | Model based control system design and verification for a hybrid electric vehicle | |
US11842225B2 (en) | Systems and methods for decentralized-distributed processing of vehicle data | |
CN109240694A (zh) | 用于智能驾驶辅助***控制算法的快速原型开发验证***及方法 | |
Vora et al. | Development of a SIL, HIL and vehicle test-bench for model-based design and validation of hybrid powertrain control strategies | |
Albers et al. | Interdisciplinary functional systems modeling approach applied for hybrid powertrain development | |
Linssen et al. | Simulation of Networked ECUs for Drivability Calibration | |
Oral | An effective modeling architecture for mil, hil and vdil testing | |
Mathews et al. | Development and implementation of a control system for a parallel hybrid powertrain | |
CN110525225B (zh) | 一种无人驾驶电动汽车的制动方法、储存介质及其开发方法 | |
Amal et al. | HiL simulation and controller prototyping of EV/HEV systems using multi-core xEV Real time Simulator | |
Greiner et al. | Modelling of an Automatic Gearbox Using AUTOSAR Standard | |
Zavala et al. | Model-based real-time embedded control software for automotive torque management | |
Schmidt | Virtual vehicle development as the basis of modern vehicle architectures | |
Majdandzic et al. | Virtual vehicle modeling architecture with centralized control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |