# Patent

## Title
Parametric analysis of real time response guarantees on interacting software components

## Abstract

A system and method for providing control timing for a vehicle system at the design level. The method includes defining component timing specifications in a parametric form at a system level and at a sub-system level; mathematically representing the timing specifications in a system model; providing a constraint extraction algorithm that extracts timing constraints from the mathematical representations; using the constraint extraction algorithm to generate a plurality of linear equations that define the constraints; solving for real time constraint ranges from parameters in the linear equations; and selecting values from the real time constraint ranges to be used in the mathematical representations. In non-limiting embodiments, the constraint extraction algorithm can be a boundary discovery algorithm or a proof-tree.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to a system and method for determining component and device timing in the control architecture of a vehicle system and, more particularly, to a system and method for determining the desirable bounds on the required timing response of various controllers, actuators and sensors in a vehicle system at the system design level.
2. Discussion of the Related Art
Driver assistance systems and vehicle active safety systems are becoming an integral part of vehicle design and development in an attempt to reduce driving stress and to enhance vehicle/roadway safety. For example, adaptive cruise control (ACC) systems are known that relieve drivers from routine longitudinal vehicle control by keeping the vehicle a safe distance away from a preceding vehicle. Also, collision avoidance systems are known that monitor traffic and objects around a vehicle and provide warnings and/or take preventative measures if a potential collision situation is detected.
These systems employ various sensors, actuators and detectors that monitor vehicle parameters, and controllers that control vehicle systems and devices, such as active front and rear wheel steering, differential braking, power steering operation, airbag deployment, etc. Timing control for the vehicle components and devices is a vital concern when designing such systems. Various devices and components require a certain amount of time to activate and some regulations may require that certain safety systems operate within a certain time frame. It has generally been the case that the timing control between the various devices and components in these types of vehicle systems has been identified in the software implementation and during deployment of the system. However, such a design scheme has not always provided the most desirable results.
SUMMARY OF THE INVENTION
In accordance with the teachings of the present invention, a system and method are disclosed for determining desirable response time bounds on interacting software components of a system at the design level. The method includes defining component timing specifications in a parametric form, where if a response time of a component is not known, then it is modeled as a parameter, at a system level and at a sub-system level. The method mathematically represents the timing specifications in a system model, provides a constraint extraction algorithm that extracts timing constraints from the mathematical representations, and uses the constraint extraction algorithm to generate a plurality of linear equations that define the constraints on response time requirements of interacting components to achieve the desired system functionality, such as timing bounds on end-to-end latency for component interaction. The method then solves for real time constraint ranges from parameters in the linear equations, and selects values from the real time constraint ranges to be used in the mathematical representations. In non-limiting embodiments, the constraint extraction algorithm can be a boundary discovery algorithm or a proof-tree.
Additional features of the present invention will become apparent from the following description and appended claims taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing a process for designing a vehicle system from initial conception to deployment;
FIG. 2 is a block diagram showing a process of how sub-system level events add up so that system level real time responses are met;
FIG. 3 is a block diagram showing a process employing mathematical representations and a constraint extraction algorithm in a system for providing timing control for devices and components in a vehicle system, according to an embodiment of the present invention;
FIG. 4 is a graph showing a boundary discovery approach for use as the constraint algorithm in the system shown in FIG. 3, according to an embodiment of the present invention;
FIGS. 5-7 are graphs showing a specific example for a boundary discovery approach for the use of this constraint algorithm and the system shown in FIG. 3, according to an embodiment of the present invention; and
FIG. 8 is a plan view of a proof-tree architecture showing a process of constraint extraction for the system shown in FIG. 3, according to another embodiment of the present invention.



DETAILED DESCRIPTION OF THE EMBODIMENTS
The following discussion of the embodiments of the invention directed to a system and method for determining timing for devices and components in a system at the design level is merely exemplary in nature, and is in no way intended to limit the invention or its applications or uses.
FIG. 1 is a block diagram 10 showing a process of conception to implementation of a vehicle system, such as an adaptive cruise control system. At a lower level of the design process, features for sub-system technical specifications (SSTS) are identified at box 12 that define the specifications for the system being developed. Using the SSTS, an engineer will identify feature designs at box 14. The feature designs will be implemented in software at box 16 and be deployed on a vehicle at box 18. The implementation of the software and the deployment of the specifications on the vehicle are then used in a particular system 20 that includes a plurality of electronic control units (ECUs) 22, 24 and 26 in communication with each other on a controller area network (CAN) bus 28. Through the feature implementation and deployment, various sensors 30, controllers 32 and actuators 34 operate within the particular system, and have a relative time to each other that needs to be optimized for the desired implementation of the system. For example, if the particular system is a collision avoidance system, proper timing for deployment of the airbags and the like by a particular actuator 34 needs to be accurately provided.
The present invention proposes modeling the SSTS at the design level, well before implementation, so that timing inaccuracies can be addressed early. For example, in the event of a collision, certain collision avoidance systems will deactivate the power steering and deploy the airbags in less than 40 ms. Both deactivation of the power steering and deploying the airbags have component limitations on how fast they can react, which needs to be considered in the system design. As will be discussed in further detail below, the requirements for deactivating the power steering and the airbags, for example, will be modeled mathematically. Although these timing relationships are being used as a specific example, the present invention has application for other systems besides vehicle systems, such as in a plant to determine the appropriate response time of robots for correct functioning. In other scenarios, the invention may even be used to determine the appropriate timing configuration of different stages within an assembly line.
In order to provide the modeling discussed above, constraints are employed in the modeling process to determine the desired timing of the operation and devices of the system. Such a determination of the constraints can be shown by, for example, a steer-by-wire vehicle. FIG. 2 is a block diagram representing a steer-by-wire system 40 that includes a steering wheel 42 providing a steering angle that is detected by a steering wheel angle sensor 44, which provides a steering signal to a steering wheel controller 46. The steering wheel controller 46 also receives an estimated vehicle speed signal from a vehicle speed estimation block 48 and provides a signal to a feedback motor 48 that provides resistance against the turning of the steering wheel 42. Further, the steering angle is displayed on a display 50. The controller 46 also sends a signal to a steering actuator 52 that provides a steering signal to the wheels 54 of the vehicle. A pinion angle sensor 56 detects the position of the wheels 54, and provides a feedback signal to the controller 46.
The steer-by-wire system 40 has certain specifications that must be met in order for the implementation of the system 40 to be proper. For example, in one known design, a change in the steering angle position provided by the steering wheel 42 needs to cause the wheels 54 to turn within 40 ms, referred to herein as system specification A1, and the vehicle driver should feel the feedback resistance from the feedback motor 48 within 20 ms, referred to herein as system specification A2. Sub-system specifications can be defined as R1, once the steering angle position is changed, the controller 46 shall recalculate the road wheel position and update the road wheel actuator; R2, once a new road wheel angle is received, the actuator shall alter the position of the road wheels 54; R3, once the steering angle position is changed, the controller 46 shall recalculate the feedback resistance to be felt by the driver; and R4, the feedback motor 48 shall adjust the driver resistance to be felt by the driver.
The change in the steering angle position specification A1 and the driver feeling the feedback resistance specification A2 can be modeled as:

A1:G(swAlterF≦40(gwTurn))  (1)

A2:G(swAlterF≦20(swFeed))  (2)

The sub-system level specifications R1, R2, R3 and R4 can be modeled as:

R1:G(swAlterF(gwAdjust))  (3)

R2:G(gwAdjustF(gwTurn))  (4)

R3:G(swAlterF(swAdjust))  (5)

R4:G(swAdjustF(swFeed))  (6)

From the system level specifications A1 and A2, the sub-system level specifications R1, R2, R3 and R4 can be further modeled as:

R1:G(swAlterF≦10(gwAdjust))  (7)

R2:G(gwAdjustF≦20(gwTurn))  (8)

R3:G(swAlterF≦10(swAdjust))  (9)

R4:G(swAdjustF≦10(swFeed))  (10)

Equations (7)-(10) can then be modified to characterize the timing relationship between intermediate events to obtain closed form representations of a solution set as:

R1:G(swAlterF≦x1gwAdjust))  (11)

R2:G(gwAdjustF≦x2(gwTurn))  (12)

R3:G(swAlterF≦x3(swAdjust))  (13)

R4:G(swAdjustF≦x4(swFeed))  (14)

R1ΛR2A1  (15)

R3ΛR4A2  (16)

The above system of parametric temporal logic equations (11)-(14) is such that any solution to constraints extracted from it on parameters x1, x2, x3 and x4 constrains events in such a way that timed design intent is met. The sub-system level specifications R1, R2, R3 and R4 can then be refined, such as, the specification R1 can be defined as:

R′1:G(swAlterF≦y1(swPos))  (17)

R′′1:G(swPosF≦y2(swAdjust))  (18)

From the specifications, constraints can be defined as:

x1+x2≦40  (19)

x3+x4≦20  (20)

y1+y2≦x1  (21)

From this, worst case response time bounds for steer-by-wire control and other actions can be determined by knowing the minimum ls and maximum ms response time bounds on the steering wheel sensor, and the minimum ls and maximum ms response time bounds on the road wheel actuator, such as:

max y2, subject to:

x1+x2≦40

y1+y2≦x1 

la≦x2≦ma  (22)

ls≦y1≦ms 

x1,x2,y1,y2,la,ma,ls,ms≧0

From this process, complex problems from a logical and temporal domain get converted to a constraint solving domain where efficient tools are available.
FIG. 3 is a block diagram showing a process 60 for determining constraints, as discussed above, for component specifications to identify the timing at the specification level when developing various vehicle systems, such as collision avoidance systems and adaptive cruise control systems. At box 62, the component specifications are identified, such as the timing for the deactivation of the power steering (PS_deactivate) and deployment of the airbags (airbag-inflate), as discussed above. These component specifications are then mathematically represented at box 64 to generate a model where the component specifications are modeled with timing details. In addition, mapping constraints can be employed in the mathematical representation, such as scheduling, resources, tasking arch, bus type, etc. For these mathematical representations, a constraint extraction algorithm is provided for extracting the constraints at box 66. The system of linear equations extracted at the end of the constraint extraction algorithm contains constraints extracted from the property shown in the box 64, particularly x1≦40, x2≦40, x3≦y and y≦100 as shown in box 68. The latter two constraints are not explicitly modeled at the box 64, but could come from a legacy system. The system of linear equations is then sent to a constraint solver 70 that solves for a range of the constraints at box 72. This gives the relationship of the parameters x1, x2 and y. Values for the parameters x1, x2 and y are then selected at box 74 based on the ranges identified for the particular application for providing timing layouts for the system. In this embodiment, the value of the parameter x1 is selected to be 20 and the value of the parameter x2 is selected to be 35 so that the collision avoidance system would deactivate the power steering in 20 ms or less and deploy the airbags in 35 ms or less.
Any suitable constraint extraction algorithm can be used at the box 66 to identify the constraints. According to the invention, two possible approaches are employed when the choice of mathematical representation is the discrete-time temporal logic, particularly, a boundary discovery approach, where discrete time logic related checks are used to extract constraints, and a proof-tree approach, where a tree construction is used to extract constraints using temporal logic related checks.
FIG. 4 is a graph with the range of values for parameter x1 on the horizontal axis and the range of values for the parameter x2 on the vertical axis showing a representation of how the boundary discovery approach can be used as the constraint extraction algorithm in the particular case when all of the parameters are attached only to the “Always (G)” operator in logic, according to an embodiment of the present invention. Line 80 represents a boundary outside of which solutions for the parameters x1 and x2 are not correct. Boxes 82, 84 and 86 represent solutions in which both the parameters x1 and x2 are satisfied for bounds on the response time using the system level properties that are met. The boundaries between the boxes 82, 84 and 86 represented by lines a and b are locations where a constraint is discovered, such as x1≦a and y1≦b. The boxes 82, 84 and 86 are made larger until they contact the boundary line 80 at points 88, 90 and 92, respectively, at which time the size of the boxes 82, 84 and 86 are set to define the range of the constraints x1 and x2.
In order to more specifically describe the boundary discovery approach discussed above, a specific example is provided in the graphs of FIGS. 5-7. In a certain component interaction scenario, described by equation (23) below, α, β and γ are events involved in the interaction.

Γ1≡G(αF≦x1β)ΛΓ2≡G(βF≦x2γ)G(αF≦5γ)  (23)

The constraint extraction for this example using boundary discovery is performed as follows. A search is started along line L in FIG. 5 where both the parameters are assigned the same value and the temporal validity of the assigned formula is checked to extract constraints using rules of timed temporal logic. An assignment of values to parameters is a valid solution, if the check is valid. For example, if x1=2 and x2=2, the validity of equation (24) is checked.

Γ1x1=2≡G(αF≦2β)ΛΓ2x2=2≡G(βF≦2γ)G(aF≦5γ)  (24)

The search is concluded when two points P1 (2,2) and P2(3,3) in FIG. 5 are obtained such that P1 is a solution for the problem where P2 is not. Once P1 is known, equation (23) is modified as equation (25).

Γ1x1=2≡G(αF≦2β)ΛΓ2x2≡G(βF≦x2γ)G(aF≦5γ)  (25)

Thus, equation (25) now has one less parameter. The steps above are repeated until all of the parameters have been assigned their concrete value.
When this has been completed, a point on the boundary of a solution region is obtained, indicated by B1 (2,3) for example. This helps to infer all the points obtained in box 1 shown in FIG. 6 as solution points. The generated constraint is given in equation (26) below.

x1≦2,x2≦3  (26)

The above steps are repeated by shifting the origin to O1(2,0) and O2(3,0) and equation (23) is modified until all of the solution points are inferred. The direction of the search is indicated in FIG. 6. Equation (23) is modified to equation (27) below due to the shift of the origin to O1(2,0).

Γ1≡G(αF≦x1+2β)ΛΓ2≡G(βF≦x2γ)G(aF≦5γ)  (27)

A similar modification is done to equation (23) where the origin is shifted to O2(0,3). Thus, the boundary discovery covers all of the points in the solution region using boundary boxes as shown in FIG. 7. The discovered constraints for the given example can be shown in equation (28) below.

{x1≦2Λx2≦3,2≦x1≦3Λ0≦x2≦2,3≦x1≦4Λ0≦x2≦1,x1=5Λx2=0,0≦x1≦1Λ4≦x2≦5,x1=0Λx2=5}  (28)

FIG. 8 is a diagram of a proof-tree 100 that can be used for the constraint extraction algorithm referred to above for the steer-by-wire system, according to another embodiment of the present invention. The proof-tree 100 includes nodes, where each node is labeled with a system or a sub-system level specification from the example given above. In this example, a root node 102 is labeled with the system level specification A1, a next layer of nodes 104 is labeled with the sub-system level specification R1 and R2, and a third level of nodes 106 is labeled with the refined sub-system level specifications R′1 and R′′1.
At each internal node, the constraints are extracted for timing relationships between property corresponding to that node and one of the child nodes. The extracted constraints are shown next to each node. The extracted constraints are propagated to the root node 102 in order. Building the proof-tree 100 includes iteratively building a tree or picking up properties from finer level subdivisions of the system. The choice of properties is made in such a way that untimed design intent for every internal node is covered by its two children nodes. At each internal node, the constraints are extracted for timing relationships between properties corresponding to this node and the ones for the children nodes. The process propagates the extracted constraints to the root node 102 by doing an in-order transversal.
The specific pattern language for the proof-tree methodology can be given as:

P={F≦x(φψ),G(φψ),F≦x(φGψ),F≦x(Gφψ),G(φF≦xψ),G(φF≦xGψ)}  (29)

The methodology for this language can be given as:
1. For each member ΦεA,


    
    
        Construct proof-tree TΦ. The proof-tree TΦ satisfies additional constraints that all its inner nodes are members of R.
        Extract linear constraints, CΦ from TΦ.

2. If CΦ exists, solve ({CΦ/ΦεA}, 0).

    
    


The foregoing discussion discloses and describes merely exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion and from the accompanying drawings and claims that various changes, modifications and variations can be made therein without departing from the spirit and scope of the invention as defined in the following claims.

## Claims

1. A method for defining timing relationships for components in a system at a system design level, said method comprising:
executing, using at least one computing device coupled to a memory, instructions for:
defining component timing specifications at a system level and at a sub-system level, wherein the component timing specifications are timing specifications for a collision avoidance system in a vehicle;
mathematically representing the timing specifications in a system model;
providing a constraint extraction algorithm that extracts timing constraints from the mathematical representations;
refining sub-system level specifications so as to extract more constraints using the constraint extraction algorithm;
using the constraint extraction algorithm to generate a plurality of linear equations that define the constraints;
solving for real time constraint ranges from parameters in the linear equations; and
selecting values from the real time constraint ranges to be used in the mathematical representations.

2. The method according to claim 1 wherein providing a constraint extraction algorithm includes providing a boundary discovery approach algorithm that identifies the constraints by defining a boundary line beyond which a constraint is not valid and expanding constraint boxes until they reach the boundary line.

3. The method according to claim 1 wherein providing a constraint extraction algorithm includes using a proof-tree algorithm including a root node identified by one of the system level specifications and children nodes defined by a plurality of the sub-system level specifications.

4. The method according to claim 3 wherein using a proof-tree algorithm includes using the proof-tree algorithm to extract the constraints by propagating through the proof-tree from lower level nodes to the root node.

5. The method according to claim 3 wherein using the proof-tree algorithm includes extracting constraints for timing relationships between property corresponding to a particular node and one of its child nodes.

6. The method according to claim 1 wherein mathematically representing the timing specifications in a system model includes mapping constraints to a network.

7. The method according to claim 6 wherein mapping the constraints to a network includes using a process selected from the group consisting of scheduling, resources, tasking arch and bus type.

8. The method according to claim 1 wherein the component timing specifications include timing for deactivating the power steering of a vehicle and deploying airbags.

9. A method for defining timing relationships of components in a system at a system design level, said method comprising:
executing, using at least one computing device coupled to a memory, instructions for:
defining component timing specifications at a system level and at a sub-system level, wherein the component timing specifications are timing specifications for a collision avoidance system in a vehicle;
refining sub-system level specifications so as to extract more constraints using the constraint extraction algorithm;
mathematically representing the timing specifications in a system model; and
extracting constraints from the mathematical representations using a constraint extraction algorithm so as to define the timing relationships of various components and devices in the system.

10. The method according to claim 9 wherein the constraint extraction algorithm is a boundary discovery approach algorithm that identifies the constraints by defining a boundary line beyond which a constraint is not valid.

11. The method according to claim 9 wherein the constraint extraction algorithm is a proof-tree algorithm including a root node identified by one of the system level specifications and root nodes defined by a plurality of the sub-system level specifications.

12. A system for defining timing relationships of components in a system at a system design level, said method comprising:
means for defining component timing specifications at a system level and at a sub-system level;
means for mathematically representing the timing specifications in a system model;
means for providing a constraint extraction algorithm that extracts timing constraints from the mathematical representations;
means for using the constraint extraction algorithm to generate a plurality of linear equations that define the constraints;
means for solving for real time constraint ranges from parameters in the linear equations; and
means for selecting values from the real time constraint ranges to be used in the mathematical representations.

13. The system according to claim 12 wherein the means for providing a constraint extraction algorithm includes means for providing a boundary discovery approach algorithm that identifies the constraints by defining a boundary line beyond which a constraint is not valid and expanding constraint boxes until they reach the boundary line.

14. The system according to claim 12 wherein the means for providing a constraint extraction algorithm includes means for using a proof-tree algorithm including a root node identified by one of the system level specifications and children nodes defined by a plurality of the sub-system level specifications.

15. The system according to claim 12 further comprising means for refining sub-system level specifications so as to extract more constraints using the constraint extraction algorithm.

16. The system according to claim 12 wherein the means for mathematically representing the timing specifications in a system model includes means for mapping constraints to a network.