BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates generally to an automatic transmission for a motor vehicle, and, more particularly, to a method for establishing a gear shift schedule that is compatible with driving behavior. 
     2. Description of the Prior Art 
     Gear changes in a step-change automatic transmission are produced by a shift control system when a current operating state, defined by throttle opening and vehicle speed, crosses an upshift or downshift boundary, which can be represented in a shift schedule graph. The shift control system controls a solenoid valves of a hydraulic system such that hydraulic pressure, supplied to friction clutches and brakes, alternately cause their engagement and disengagement, resulting in the shifting of the transmission into various gears that affect the speed of the transmission output shaft relative to the speed of the input shaft. 
     The vehicle operator&#39;s manual control of a shift lever can be used to select operation of the transmission in a normal range, wherein the gears are produced automatically. The shift lever can also be placed in a track for manual gear selection, wherein the transmission can be upshifted and downshifted from the current gear at the driver&#39;s initiative. The shift control responds to the manual selection in a manner that is similar to its operation in the automatic mode. 
     The shift control system may contain multiple shift schedules each producing a desired gear change timing in a range between conservative or economy operation of the vehicle and aggressive or sporty operation, usually represented by throttle opening, i.e., the degree to which an accelerator pedal is depressed, and vehicle speed. 
     In the economy mode, a gear shift pattern is designed such that an upshifting operation is quickly realized to improve the fuel consumption ratio. In the sporty mode, a shift pattern is designed such that an upshifting point is moved to a high speed so that engine torque can be increased. 
     However, since the shift schedules are fixed in an electronic memory, a need exists in the industry to optimize the gear shifting according to variations in engine torque, and running resistance and other parameters that reflect the operator&#39;s intent and driving behavior. 
     SUMMARY OF THE INVENTION 
     A method for changing the timing of gear changes of an automatic transmission for a motor vehicle including repetitively updating a current value of a count whose value is a measure of driving behavior, performing an evaluation of driving behavior and updating the current value by a value determined from the evaluation, determining shift schedules that define the occurrence of a gear change to be produced by the transmission, and using the updated current value to establish from among the shift schedules a shift schedule that defines a gear change to be produced by the transmission. 
     The type of driver is determined using the combined output of various evaluations that are linked to driving behavior. An algorithm allows individual methods to be calibrated in or out, provides a prioritization scheme and allows certain evaluations to preempt others. 
     Uphill detection estimates a road gradient by comparing actual vehicle acceleration to nominal unloaded acceleration on a level road based on current engine torque and current gear ratio. Downhill detects a negative road gradient if vehicle acceleration exceeds a calibrateable threshold without the driver further accelerating for a calibrateable period. 
     A matrix of shift schedules is indexed by a measure of driving behavior and the detected vehicle load or road grade. The algorithm interpolates between adjacent shift schedules to obtain shift points based on the current driving behavior and the load/grade. 
    
    
     
       DESCRIPTION OF THE DRAWINGS 
       The invention will be more readily understood by reference to the following description, taken with the accompanying drawings, in which: 
         FIG. 1  is schematic diagram showing a powertrain for an automotive vehicle including a microprocessor for controlling the vehicle transmission and engine; 
         FIG. 2  is a graph that illustrates the break points between diver styles on the basis if the value in the ds_counter; 
         FIG. 3  is a chart that illustrates intercepts of the ds-counter for the leaky bucket function; 
         FIG. 4  is a chart that illustrates slopes of the ds-counter for the leaky bucket function; 
         FIG. 5  is a schematic diagram of a gear selector having a normal range for automatically produced gear changes, and a range wherein manually selected upshifts and downshifts are actuated; 
         FIG. 6  is a chart that illustrates the range of offsets of the ds_counter due to transitions between normal and sport mode operation; 
         FIG. 7  is a chart that illustrates minimums, maximums and offsets of the ds_counter due to transitions between normal and sport mode operation; 
         FIG. 8  is a chart that illustrates increments and decrements to the ds_counter from the accelerator pedal rate evaluation; 
         FIG. 9  is a chart that illustrates increments and decrements to the ds_counter from the accelerator pedal position evaluation; 
         FIG. 10  is a chart that illustrates increments and decrements to the ds_counter from the engine torque evaluation; 
         FIG. 11  is a chart that illustrates a lateral vehicle acceleration profile as the vehicle proceeds through a turn; 
         FIG. 12  is a chart that illustrates increments to the ds_counter and the driver multiplier from the lateral vehicle acceleration evaluation; 
         FIG. 13  is a chart that illustrates the strategy for incrementing and decrementing the ds_counter using the longitudinal vehicle acceleration evaluation; 
         FIG. 14  is a chart that illustrates increments and decrements to the ds_counter from longitudinal vehicle acceleration evaluation; 
         FIG. 15  is a chart that illustrates increments and decrements to the ds_counter from the SST evaluation; 
         FIG. 16  is a schematic diagram showing a matrix of gear shift schedules indexed by the ds_counter and road grade; 
         FIG. 17  is a diagram of an algorithm for determining the ds_counter value. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to the drawings, there is illustrated in  FIG. 1  a block diagram illustrating a system  10  for controlling the powertrain  12  of a motor vehicle. The powertrain  12  includes an internal combustion engine  14  coupled to an automatic transmission  16 . The system  10  includes a controller  18 , which is in communication with engine  14  and transmission  16  for providing various information and control functions. Engine  14  is connected to transmission  16  by a crankshaft  20 , which is connected to a transmission torque converter  24 . 
     Automatic transmission  16  produces multiple gear ratios, which are produced by various gears and associated frictional elements such as clutches, brakes, and couplers. The gearing produces torque reduction and torque multiplication ratios between transmission input shaft  26  and output shaft  28 . Transmission  16  is preferably electronically controlled by various shift solenoids  40 ,  41 , which control the state of the clutches and brakes, which produce the appropriate gear ratio based on current operating conditions and driver input. A transmission shift lever position sensor (PRN)  30  provides a signal representing the operator&#39;s selected gear or driving range, such as Park, Reverse, Neutral, Drive, etc. 
     Depending on the particular application, output shaft  28  may be coupled to one or more axles  32  via a differential mechanism  34 . Each axle  32  may include two or more wheels  36  having corresponding wheel speed sensors  38 , whose output signals are WS 1  and WS 2 . 
     In addition to the sensors described above, powertrain  12  preferably includes sensors in communication with corresponding input ports  40  of controller  18 , which sense or monitor the current operating and ambient conditions of powertrain  12 . A plurality of actuators communicate with controller  18  via output ports  42  to control powertrain  12  in response to commands generated by controller  18 . 
     The sensors preferably include a throttle valve position sensor (TPS)  44 , which monitors the position of a throttle valve  46 . A temperature sensor (TMP)  48  provides an indication of the engine coolant temperature, or engine oil temperature. An engine speed sensor (NE)  50  monitors rotational speed of crankshaft  20 . Another rotational speed sensor, the output shaft speed sensor (OSS)  52 , provides an indication of the speed of output shaft  28 , which may be used to determine the vehicle speed based on the gear ratios of the final drive gearset, differential  34 , and the size of wheels  36 . Wheel speed sensors  38  may be used as secondary sources providing an indication of the output shaft speed and vehicle speed. 
     Depending on the particular application requirements, various sensors may be omitted or alternative sensors provided which generate signals indicative of related sensed parameters. Values corresponding to ambient or operating conditions may be inferred or calculated using one or more of the sensed parameters without departing from the spirit or scope of the present invention. 
     An accelerator pedal  58  is operated manually by the driver to control the output of powertrain  12 . A pedal position sensor  60  provides an indication of the position of accelerator pedal  58 , preferably in the form of counts, with an increasing number of counts indicating a request for increased power output. 
     Automatic transmission  16  is controlled to produce shifts between gears, each gear having an associated speed ratio, i.e., the speed of input shaft  26  divided by the speed of output shaft  28 . Alternatively, transmission  16  may be a continuously variable transmission, such as a belt drive or traction drive transmission, which continually changes its speed ratio without producing step change gear shifts between discrete gears. 
     Changes in the speed ratio of a step change transmission may be controlled by hydraulic line pressure using an appropriate actuator (PP)  47  in combination with shift solenoids  40 ,  41 , which pressure and vent the servos in response to command signals from controller  18 . The hydraulic friction clutches and brakes engage and disengage according to the pressurized and vented state of the servos, whereby the appropriate gear ratio is produced. A temperature sensor  62  produces a signal TOT representing the transmission oil temperature. 
     Controller  18  is preferably a microprocessor-based controller, which provides integrated control of the engine  14  and transmission  16 , or separate engine and transmission controllers depending on the particular application. Controller  18  includes a microprocessor  70  in communication with input ports  40 , output ports  42 , and computer readable media  72  via a data/control bus  74 . Computer readable media  72  may include various types of volatile and nonvolatile memory such as random access memory (RAM)  76 , read-only memory (ROM)  78 , and keep-alive memory (KAM)  80 . The functions of the various types of volatile and nonvolatile storage may be implemented by any of a number of known physical devices including, but not limited to EPROMs, EEPROMs, PROMS, flash memory, and the like. 
     Computer readable media  72  include stored data representing instructions executable by microprocessor  70  to control hydraulic pressure during shifting. For example, various electronically stored gear shift schedules are used to determine the desired gear in which transmission  16  should be operating. 
     Another electronically stored algorithm, the driver style algorithm, determines the current mode of driving behavior exhibited by the vehicle operator. The perceived mode of driving behavior is used to select the appropriate gear shift schedule that corresponds to the current driver behavior. More specifically, the perceived driver behavior, represented by the value in ds_counter  90 , is used in combination with a road grade index to select at least one shift schedule or to interpolate among multiple shift schedules. The algorithm interpolates among shift schedules to best meet the driver&#39;s requirements on the basis of the value in the ds_counter  90 . The interpolated shift schedule is used to determine the vehicle parameters at which an upshift or downshift is to occur. 
       FIG. 2  illustrates the ds-counter having a range 0-255 and marked with break points  91 - 94 . The value in ds_counter  90  is used to select a predetermined shift schedule or to interpolate between shift schedules that are located in a matrix  120  of shift schedules  122 , as shown in and described with reference to  FIG. 16 . The driver style algorithm is used in conjunction with a load/grade detection algorithm, to interpolate among shift schedules located in a matrix of shift schedules indexed by the value in ds_counter  90  and the magnitude of the vehicle load or road grade. 
     Leaky Bucket Function 
     Because terrain, road conditions and driving behavior change rapidly, the driver style algorithm seeks the entry or base counter value in either sport or normal mode, as shown in  FIG. 6 . The vehicle operator must continuously exhibit economical or sporty behavior for ds_counter  90  to deviate over a lengthy period from the range of “normal” values in ds_counter  90 . This tendency toward the normal values avoids maintaining use of a shift schedule that may be objectionable after the road conditions change from those that led to its selection, and avoids classifying the driver as belonging to a particular type. 
     A leaky bucket function sets the rate at which the ds_counter  90  progresses toward the base value of the current operating range under a variety of operating conditions, thereby providing a look-ahead function. The leaky bucket function allows different rates of change of the value in ds_counter  90  based on the current counter value and an estimate of the driver&#39;s intent. For example, the rate of increase of the value in ds_counter  90  may be smaller if a driver exhibiting conservative behavior holds throttle  46  open or depresses pedal  58  on a downgrade to maintain vehicle momentum in order to ascend the next hill. Similarly, a downhill stretch should allow a driver who currently exhibits aggressive or sporty driving behavior to back-out, i.e., to release the accelerator pedal  58 , without reducing the value in ds_counter  90 . If a driver exhibiting economical driving behavior is on an uphill, the rate of increase of value in ds_counter  90  can be smaller since accelerator pedal position PPS must be more aggressive simply to negotiate the hill. 
     The rate at which the value in ds_counter  90  changes due to the leaky bucket is a function of the difference between the current value in ds_counter  90  and the base value. The base values are calibrated values determined empirically from experience with a range of driver styles. Thus the driver must persist in driving behavior toward either extremity, conservative or aggressive, to maintain a high or low value in the ds_counter. By decreasing the rate of change of the count, the leaky bucket can be calibrated to allow the driver style algorithm to learn the driver&#39;s tendencies or intent from driving behavior over a long-term. 
     During operation in normal mode, the leaky bucket function moves the value in ds_counter  90  toward the base value in normal mode DS_TBAR_OFFSET[0,2], as shown in  FIG. 6 . During operation in sport mode, the leaky bucket function moves the value in counter  90  toward the base value in sport mode DS_TBAR_OFFSET[1,2], as shown in  FIG. 6 . The offsets are indexed by the coordinates [0,2] and [1,2] of arrays stored in electronic memory. 
     Ds_counter  90  is incremented and decremented at regular time intervals using a value determined from the following equation:
 
 ds _counter ( n )= TBL   —   DS   —   LKY   —   BKT   —   SLP [ds _counter ( n− 1)]+ TBL   —   DS   —   LKY   —   BKT   —   INT    (1)
 
wherein ds_counter (n) is the magnitude of the increment or decrement to the ds_counter  90  during the current execution of the driver style algorithm; TBL_DS_LKY_BKT_SLP is an electronically stored lookup table of calibrated factors or slopes of a ds_counter function, as shown in  FIG. 3 ; TBL_DS_LKY_BKT_INT is an electronically stored lookup table of calibrated intercepts of the ds_counter function, as shown in  FIG. 4 ; and ds_counter (n-1) is a value of ds_counter  90  at a previous execution, usually the value from the execution that immediately precedes the current execution. The equation, therefore, provides a gain, i.e., the product of that value and the slope TBL_DS_LKY_BKT_SLP, plus the intercept, TBL_DS_LKY_BKT_INT.
 
     Each of the lookup tables of  FIGS. 3 and 4  is indexed by two variables: (1) the difference between the current value in counter  90  and the base value for the mode; and (2) a variable representing the magnitude of the current vehicle load or road grade. 
     The chart of  FIG. 3  shows the table of slopes of the function of equation (1) that corresponds to the difference between the current value in ds_counter  90  and the normal value, and to a range of vehicle loads and road grades. Notice that a large negative value of the difference between the current value in ds_counter  90  and the normal value indicates a conservative driver behavior. A large positive value of the difference between the current value in ds_counter  90  and the normal value indicates an aggressive driver behavior. 
     The chart of  FIG. 4  shows the table of intercepts of the function of equation (1) for the difference between the current value in ds_counter  90  and the normal value, and for a range of vehicle loads and road grades. Again, a large negative value of the difference between the current value in ds_counter  90  and the normal value indicates a conservative driver behavior, and a large positive value of the difference between the current value in ds_counter  90  and the normal value indicates an aggressive driver behavior. 
     The driver style algorithm addresses Normal, Sport and Extreme Sport modes of operation of a manually operated gear selector  30 , shown in  FIG. 5 . Sport mode is available by moving the PRN range and gear selector  30 , into a SST gate  98  from the Normal PRN gate  96  without forcing a manual upshift by moving selector  30  to a (+) position, or a downshift by moving selector  30  to a (−) position. Two rapid movements of the PRN selector  30  between Normal PRN gate  96  and the SST Sport gate  98  and ending in SPORT results in the Extreme Sport mode (XSPORT). In Extreme Sport mode, a unique offset is applied that puts the driver in a very aggressive shift schedule. 
     The driver style algorithm provides unique offsets for transitions between modes. As shown in  FIG. 7 , a transition of the range selector  30  from Normal directly to (+) or (−) provides a different counter value increment than a transition from Sport to (+) or (−). 
     The driver style algorithm  140 , illustrated in  FIG. 17 , uses seven evaluations, related closely to the driver&#39;s behavior, to increment and decrement the value in ds_counter  90 . The seven evaluations include driveaway, accelerator pedal rate, accelerator pedal position, demanded torque, lateral vehicle acceleration, longitudinal vehicle acceleration and SST. 
     Drive Away Evaluation 
     The drive away evaluation considers how aggressively the driver launches the vehicle from a stop to provide a quick initial evaluation of the driver&#39;s behavior. This evaluation uses accelerator pedal position PPS and the time rate of change of accelerator pedal position rather than longitudinal acceleration because it occurs at low speed. The drive away evaluation looks for the maximum accelerator pedal position and maximum rate of change over the time required to reach a calibrateable reference speed of the output shaft  28 . 
     Accelerator pedal position (dd_trans) and pedal rate (dd_rate) are sampled every sampling interval. The drive away evaluation samples accelerator pedal position and looks for the maximum accelerator pedal position over a short time period. Drive away evaluation also looks at the rate of change of accelerator pedal position during this short time period. A table lookup, indexed by accelerator pedal position and accelerator pedal rate, is then performed and its output is rounded to the nearest integer to determine the increment or decrement to the ds_counter  90 . 
     Two separate trigger points of the speed of output shaft  28  for the drive away evaluation are DS  13  DA  13  OSS  13  MIN and DS DA OSS MAX. The DS DA OSS MIN is the threshold below which output shaft speed OSS must fall before the drive away evaluation starts. If OSS exceeds DS DA OSS MAX the captured values of accelerator pedal position and accelerator pedal rate are used to determine the counter increment from the drive away evaluation. 
     Pedal Rate Evaluation 
     The maximum pedal rate is stored during each calibrateable time interval. At the end of the interval, points, which change the value of ds_counter  90 , are awarded based on a table of pedal rate and the current speed of output shaft  28 , which is partially determined by the gear in which transmission  16  is operating. 
       FIG. 8  illustrates an example of a table containing points, i.e., increments and decrements, for changing the value of ds-counter  90  awarded from the pedal rate evaluation. 
     Pedal Position and Engine Torque Evaluation 
     The pedal rate, pedal position and engine torque evaluations work together to provide sufficient points for fast response. If the driver is operating the vehicle in an economy mode and tips-in, i.e., depresses the accelerator pedal  58  rapidly or tips-in to a high pedal position PPS, the pedal rate and pedal position evaluations will provide sufficient points for a downshift. The engine torque evaluation, which provides points based on the approximate torque reserve of the engine  14 , will provide zero points if the engine has significant torque reserve. If engine torque is high, it is likely that the driver will request even more torque. In this case, the engine torque evaluation will provide additional points. 
     The maximum pedal position and engine torque are stored during each calibrateable time interval. At the end of the interval, points are awarded based on tables of vehicle load/road grade and accelerator pedal displacement and engine torque. 
       FIG. 9  illustrates a look-up table of representative points for a range of accelerator pedal positions and a range of the load/grade index.  FIG. 10  illustrates a look-up table of representative points for a range of engine torque and a range of the load/grade index. 
     Lateral Acceleration Evaluation 
     The lateral acceleration evaluation provides an increment to the value in ds_counter  90  based on vehicle acceleration by adding the increment to counter  90  at the sampling intervals. The lateral acceleration evaluation is only active within a calibrateable range of the speed of output  28 . It can be switched off if both an antilock brake system (ABS) and yaw rate information are not available. 
       FIG. 11  illustrates a lateral vehicle acceleration profile as the vehicle proceeds through a turn. The lateral acceleration evaluation becomes active when the filtered lateral vehicle acceleration exceeds a reference lateral acceleration  100  and terminates when the lateral vehicle acceleration falls below a second reference lateral acceleration  102  that includes hysteresis. A lateral acceleration increment only occurs at the sampling intervals. 
     As table TBL_DS_LAT_ACCEL_INC of  FIG. 12  shows, an increment attributed to lateral acceleration is determined on the basis of the maximum lateral acceleration of the vehicle during the time interval as a function of vehicle speed. As part of the look-ahead function, a driver multiplier or driver modifier  104  FN_DS_LAT_CTR_MOD is determined based on the difference  105  between the value in ds_counter  90  and the “normal” value or base value. 
     The final ds_counter increment attributed to lateral acceleration is determined from equation (2)
 
[TBL_DS_LAT_ACCELWINC] * [FN_DS_LAT_CTR_MOD]  (2)
 
     The driver modifier allows a driver currently exhibiting conservative behavior to maintain speed through a curve while incurring fewer points than a driver currently exhibiting aggressive behavior. In order to gain points, the conservative driver must activate the pedal rate or pedal position evaluations. 
     Longitudinal Acceleration Evaluation 
     The longitudinal acceleration evaluation increments ds_counter  90  when longitudinal vehicle acceleration is high and when wheel braking is high, and it decrements ds_counter  90  during normal or conservative longitudinal vehicle acceleration and braking, as  FIG. 13  indicates. Decrementing ds_counter  90  helps the conservative driver enter the economy gear shift schedules. 
     Incrementing and decrementing ds_counter  90  occurs at regular time intervals. 
     The increment or decrement is obtained using a unique table indexed by longitudinal vehicle acceleration and the speed of output shaft  28  for each vehicle load or road grade index. The table of  FIG. 14  illustrates the increments and decrements corresponding to independent variables longitudinal vehicle acceleration and output shaft speed for a load or grade index. 
     SST Evaluation 
     The select shift transmission (SST) evaluation increments or decrements ds_counter  90  so that, over time, the gear  106  that is automatically determined by the transmission controller  18  from electronically stored shift schedules  122  will match the gear  108  that is manually selected by the driver in response to movement of the PRN range and gear selector  30 . The manually selected gear  108  represents the desired state and the automatically scheduled gear  106  represents the current state. Increments or decrements of the value in ds_counter  90  are used to drive the error between the desired state  108  and the current state  106  toward zero. The SST evaluation functions similarly to a closed loop controller. 
     As the chart of  FIG. 15  illustrates, the SST evaluation increments ds_counter  90  at  110 , each execution of the algorithm, provided the gear  108  that is manually selected in Sport-Tip is lower than the current automatically scheduled gear  106 . Similarly, the SST evaluation decrements ds_counter  90  when the manually selected gear  108  is higher than the current automatically scheduled gear  106 . The evaluation provides a unique initial increment  114  or decrement the first time the manually selected gear  108  is not equal to the automatically scheduled gear  106 . 
     Shift Schedule Selection 
     In  FIG. 16 , matrix  120  contains  25  gear shift schedules  122 , each schedule containing upshift and downshift curves  134 ,  136 ,  138  relating vehicle speed and driver demanded torque. Vehicle speed may be inferred from output shaft speed OSS or read directly from signals WS 1 , WS 2  produced by speed sensors  38 . The driver demanded wheel torque may be inferred from the position PPS of accelerator pedal  60  or the position TPS of the engine throttle valve  44 . 
     Each shift schedule  122  defines a curve  134 ,  136 ,  138  for each gear change that can be produced by transmission  16 , at which an upshift should occur when the curve is crossed when the current operation condition, represented by vehicle speed and demanded wheel torque, crosses the curve. Similarly, each shift schedule defines a similar curve for each gear change that can be produced by the transmission at which an downshift should occur when the curve is crossed when the current operation condition, represented by vehicle speed and demanded wheel torque, crosses the curve. For example, each shift schedule for a five speed transmission  16  will include at least five upshift curves and five downshift curves. 
     The matrix  120  of shift schedules  122  is indexed by a road grade normalizer  124  and a performance normalizer  126 . An algorithm determines an estimate of the slope of the road on which the vehicle is operating. Each row of matrix  120  is assigned a number 1-5, which corresponds to a portion of the full range of road grades. For example, row  1  may represent the road grade range −10° to −5°; row  2 , the range −5° to 3°; row  3 , the range 3° to 7°; row  4 , the range 7° to 10°; and row  5 , the range 10° to 13°. The ranges need not be equal in magnitude or extend linearly over the full range. Normalizer  124  produces an index  128  in a range 0-5, which corresponds to the estimated road grade and the rows of matrix  120 . If index  128  is not a whole number, an interpolation is made between the two shift schedules  122  on opposite sides of the index  128 . 
     Similarly, matrix  120  is indexed by the performance normalizer  126 . The driver style algorithm determines the value of ds_counter  90 , which is used by the performance normalizer  126  to determine a drive style index  130 . Each column of matrix  120  is assigned a number 1-5, which corresponds to break points  91 - 94  of the full range of values of ds_counter  90 , as shown in  FIG. 2 . For example, column  1  may represent ds_counter range from 0 to breakpoint  91 ; column  2 , the range from breakpoint  91  to breakpoint  92 ; column  3 , the range from breakpoint  92  to breakpoint  93 ; column  4 , the range from breakpoint  93  to breakpoint  94 ; and column  5 , the range from breakpoint  94  to  255 , the maximum value. The ranges need not be equal in magnitude or extend linearly over the full range. The magnitude of index  130  refers to a column containing multiple shift schedules  122  of matrix  120 . If index  130  is not a whole number, an interpolation is made between the two shift schedules  122  on opposite sides of the index  130 . 
     If neither index  128  nor index  130  is a whole number, an interpolation is made among four of the shift schedules  122  of matrix  120 , such that a desired shift schedule  132  is defined and identified for use in determining the next upshift or downshift that occurs when the vehicle operating condition crosses one of the shift curves  134 ,  136 ,  138  of the desired shift schedule  132 . 
     As  FIG. 17  illustrates, the driver style algorithm  140  is controlled by a manager  142 , which determines, at step  144 , whether the engine  14 , transmission  16  or another component of powertrain  10  is in a failure mode, in which case the ds_counter  90  is reset to the base value. If the powertrain  10  has any stability enhancement system operating, such as traction control or vehicle stability, then the value of ds_counter  90  is held in hold mode until the stability system is turned off. Otherwise, manager  142  allows the algorithm  10  to learn, i.e., to change the value of ds_counter  90  in learn mode. 
     At step  146 , manager  142  reads a status variable of the powertrain to determine whether an incompatibility exists. For example, if the powertrain is in drive-off operation, then the longitudinal evaluation is inoperative based on a calibrateable priority. 
     At step  148 , the leaky bucket function  150  is called and the value of ds_counter  90  from the last execution is used in the leaky bucket, which is combined with the slope and intercept to determine a new value of ds_counter  90 , as described with reference to  FIGS. 3 and 4 . This call allows at least one execution of algorithm  140  before a new shift table is determined and a gear shift is executed. 
     At step  152 , manager  142  calls the evaluations, which are executed in a predetermined order, assuming the status variable does not affect the execution order, and the value of ds_counter  90  is incremented and decremented according to the result  156  of each evaluation, input  158  from the leaky bucket  150 , and input  160  from step  144  of manager  142 . 
     At step  162 , the mode is determined based on the manager state  144 , e.g., the count remains unchanged while in the hold mode. 
     At step  164 , the position of shift lever  30  is monitored for movement between its normal position in gate  96 , Sport position, Xsport position and the+and−positions that indicate the driver has manually commanded an upshift or downshift, respectively. 
     At step  166 , the changes from all sources  156 ,  158 ,  160  are added algebraically to the current value of the ds_counter  90 . The desired shift schedule  132  is determined and gear changes in transmission  16  are performed with reference to the gear shift curves of that schedule and the current vehicle operating condition, as described with reference to  FIG. 16 . 
     In accordance with the provisions of the patent statutes, the preferred embodiment has been described. However, it should be noted that the alternate embodiments can be practiced otherwise than as specifically illustrated and described.
A method for changing the timing of gear changes of an automatic transmission for a motor vehicle including repetitively updating a current value of a count whose value is a measure of driving behavior, performing an evaluation of driving behavior and updating the current value by a value determined from the evaluation, determining shift schedules that define the occurrence of a gear change to be produced by the transmission, and using the updated current value to establish from among the shift schedules a shift schedule that defines a gear change to be produced by the transmission.