Timing-oriented and architecture-centric system design using contracts

US9459840B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9459840-B1
Application numberUS-201514674723-A
CountryUS
Kind codeB1
Filing dateMar 31, 2015
Priority dateMar 31, 2015
Publication dateOct 4, 2016
Grant dateOct 4, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The method may include designing one or more software models for one or more software components to be included in an embedded system. The method may include collecting information from the one or more requirements, the one or more software components, and the one or more software models. The method may include generating one or more architecture models that describe an execution platform, physical constraints, non-functional constraints, and characteristics of the embedded system based on the collected information. The method may include determining timing semantics to be satisfied by execution of functions in the embedded system. The method may include generating, by an electronic device, contracts based on the one or more requirements, the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of designing a large-scale embedded system for an original equipment manufacturer, the method comprising: designing one or more software models for one or more software components to be included in an advanced driver assistance system of a vehicle that includes an embedded system, wherein the one or more software models describe one or more requirements for detecting objects at least substantially in front of the vehicle and the one or more software components are associated with operation of hardware that is controllable by the advanced driver assistance system; collecting information from the one or more requirements for detecting the objects at least substantially in front of the vehicle, the one or more software components that are associated with operation of the hardware, and the one or more software models; generating one or more architecture models that describe an execution platform, physical constraints, non-functional constraints, and characteristics of the embedded system based on the collected information; determining timing semantics to be satisfied by execution of functions in the embedded system based on ordering of events; generating, by an electronic device, initial contracts based on the one or more requirements, the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics; determining, by the electronic device, whether the one or more software components and the one or more software models satisfy the initial contracts; responsive to the initial contracts failing to be satisfied, modifying at least one of the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics; generating modified contracts based on modifying at least one of the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics; and determining that the one or more software components and the one or more software models satisfy the modified contracts. 2. The method of claim 1 , wherein determining, by the electronic device, whether the one or more software components and the one or more software models satisfy the initial contracts is based on a run-time based verification. 3. The method of claim 1 , wherein determining timing semantics to be satisfied by executions of functions in the embedded system includes functions that are correctly executed. 4. The method of claim 1 , wherein determining timing semantics to be satisfied by executions of functions in the embedded system is further based on synchronization of events, computing a time to execute the functions in the embedded system, and delay that occurs when executing the functions and communication between the functions. 5. The method of claim 1 , wherein determining whether the one or more software components and the one or more software models satisfy the initial contracts includes performing a static formal verification. 6. The method of claim 1 , wherein the initial contracts indicate assumptions of preconditions that include safety, performance, and cost, and guarantees of post-conditions between the software components and the software models. 7. The method of claim 1 , further comprising developing one or more behavior models to run on the one or more architecture models and wherein determining timing semantics includes timing semantics to be satisfied by the one or more behavior models. 8. The method of claim 1 , wherein the initial contracts specify expected properties of the one or more software components and the one or more software models. 9. The method of claim 1 , wherein the one or more architecture models are generated using a modeling language or a formal language, and wherein the modeling language or the formal language is used to determine whether the initial contracts are satisfied based on the one or more requirements, the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics. 10. The method of claim 1 , wherein the advanced driver assistance system is a system for adaptive cruise control. 11. A non-transitory computer-readable medium for designing a large-scale embedded system, the non-transitory computer-readable medium having computer instructions stored thereon that are executable by a processing device to perform or control performance of steps comprising: designing one or more software models for one or more software components to be included in an advanced driver assistance system of a vehicle that includes an embedded system, wherein the one or more software models describe one or more requirements for detecting objects at least substantially in front of the vehicle and the one or more software components are associated with operation of hardware that is controllable by the advanced driver assistance system; collecting information from the one or more requirements for detecting the objects at least substantially in front of the vehicle, the one or more software components that are associated with operation of the hardware, and the one or more software models; generating one or more architecture models that describe an execution platform, physical constraints, non-functional constraints, and characteristics of the embedded system based on the collected information; determining timing semantics to be satisfied by execution of functions in the embedded system based on ordering of events; generating initial contracts based on the one or more requirements, the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics; determining whether the one or more software components and the one or more software models satisfy the initial contracts; responsive to the initial contracts failing to be satisfied, modifying at least one of the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics; generating modified contracts based on modifying at least one of the one or more software components, the one or more software models, the one or more architecture models, and the timing semantics; and determining that the one or more software components and the one or more software models satisfy the modified contracts. 12. The non-transitory computer-readable medium of claim 11 , wherein determining whether the one or more software components and the one or more software models satisfy the initial contracts is based on a run-time based verification. 13. The non-transitory computer-readable medium of claim 11 , wherein determining timing semantics to be satisfied by executions of functions in the embedded system includes functions that are correctly executed. 14. The non-transitory computer-readable medium of claim 11 , wherein determining timing semantics to be satisfied by executions of functions in the embedded system is further based on synchronization of events, computing a time to execute the functions in the embedded system, and delay that occurs when executing the functions and communication between the functions. 15. The non-transitory computer-readable medium of claim 11 , wherein determining whether the one or more software components and the one or more software models satisfy the initial contracts includes performing a static formal verification. 16. The non-transitory computer-readable medium of claim 11 , wherein the initial contracts indicate assumptions of preconditions that inc

Assignees

Inventors

Classifications

  • Requirements analysis; Specification techniques · CPC title

  • G06F8/20Primary

    Software design · CPC title

  • Input parameters relating to objects · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9459840B1 cover?
The method may include designing one or more software models for one or more software components to be included in an embedded system. The method may include collecting information from the one or more requirements, the one or more software components, and the one or more software models. The method may include generating one or more architecture models that describe an execution platform, phys…
Who is the assignee on this patent?
Toyota Motor Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 04 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).