Method and Apparatus for Determination of Slot-Duration in Time-Triggered Control System

20190102217 ยท 2019-04-04

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for a determination of the optimal duration of a time slot for computational actions in a time-triggered controller. The controller includes a sensor subsystem, a computational subsystem, an actuator subsystem, and a time-triggered communication system. The time-triggered communication system is placed between the sensor subsystem, the computational subsystem, the actuator subsystem, and a monitor subsystem. An anytime algorithms is executed in the computational subsystem. A plurality of execution slot durations of the anytime algorithms is probed during the development phase, starting from the minimum execution slot duration, increasing this slot duration by the execution slot granularity until the maximum execution slot duration is reached. In each of the execution slot durations, a multitude of frames is executed in a destined application environment. In each frame the computational subsystem calculates imprecise anticipated values of observable state variables by interrupting execution of the anytime algorithm at the end of the provided execution slot duration, using data received from the sensor subsystems at the beginning of the frame.

    Claims

    1. A method for a determination of the optimal duration of a time slot for computational actions in a time-triggered controller, the controller comprising a sensor subsystem, a computational subsystem, an actuator subsystem and a time-triggered communication system, wherein: the time-triggered communication system is placed between the sensor subsystem, the computational subsystem, the actuator subsystem and a monitor subsystem; outgoing messages of the sensor subsystem can be routed to the computational subsystem and the monitor subsystem via the time-triggered communication system; outgoing messages of the computational subsystem can be routed to the actuator subsystem and the monitor subsystem via the time-triggered communication system; an anytime algorithms is executed in the computational subsystem; a plurality of execution slot durations of the anytime algorithms is probed during the development phase, starting from the minimum execution slot duration, increasing this slot duration by the execution slot granularity until the maximum execution slot duration is reached; and in each one of the execution slot durations a multitude of frames is executed in a destined application environment; in each frame the computational subsystem calculates imprecise anticipated values of observable state variables by interrupting the execution of the anytime algorithm at the end of the provided execution slot duration, using data received from the sensor subsystems at the beginning of the frame; in each frame the monitor subsystem calculates the precise anticipated values of observable state variables by executing the anytime algorithm until completion using data received from the sensor subsystems at the beginning of the frame; the monitor subsystem computes an anytime-algorithm impreciseness by calculating the absolute values of the respective difference between these precise anticipated values of observable state variables and the imprecise anticipated values of observable state variables contained in the messages delivered from the computational subsystems to the monitor subsystem at the end of the frame; the monitor subsystem computes a model error by calculating the absolute values of the difference between these precise anticipated values of observable state variables and the respective acquired values of observable state variables contained in messages from the sensor subsystem to the monitor subsystem at the end of the frame; an average anytime-algorithm impreciseness and an average model error of a slot duration are calculated by the monitor subsystem by averaging the results of the multitude of probed frames of the slot; and at the end of the development phase, an execution slot duration for the computational subsystem is selected out of the probed execution slot durations, wherein the sum of the average model error and the average anytime-algorithm impreciseness is minimal.

    2. The method according to claim 1, wherein the data collection for the determination of the optimal slot duration is performed in the destined operational environment during the development phase.

    3. A controller apparatus for the determination of the slot-duration in a time-triggered control system, the apparatus comprising: a sensor subsystem; a computational subsystem; an actuator subsystem; a monitor subsystem; and a time-triggered communication subsystem, which time-triggered communication system is placed between the sensor subsystem, the computational subsystem, the actuator subsystem, and the monitor subsystem.

    4. The controller apparatus according to claim 3, which is configured to execute the method of claim 1.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0047] FIG. 1 depicts the structure of the envisioned control system.

    DETAILED DESCRIPTION

    [0048] The control system consists of a controller 100 and a controlled object 190. The controller 100 contains a sensor subsystem 101 with sensors 120 that can observe the observable state variables of the controlled object 190, a computational subsystem 102 that provides an execution environment for the anytime control algorithm, an actuator subsystem 103 that provides setpoints to the actuators 130 that influence the value of physical quantities in the controlled object 190, a monitor system 104 that accepts messages from the sensor subsystem and the computational subsystem and a time-triggered communication system 110 that transports the messages among cited subsystems.

    [0049] During the development phase of the controller 100 a plurality of execution slot durations of the anytime algorithms is probed, starting from the minimum execution slot duration (MIESL), increasing this slot duration by the execution slot granularity (ESG) until the maximum execution slot duration (MAESL) is reached. The execution slot granularity (ESG) is given by


    ESG=(MAESLMIESL)/N

    where N denotes the number of slot durations that are probed. In order to achieve a proper execution slot granularity in the temporal domain, the number N preferably is larger than 10.

    [0050] In each one of the execution slot durations a multitude of frames is executed in a destined application environment. This multitude of frames should be characteristic for the envisioned useenvironment of the controller, since the environmental dynamics in an open control system is determined by the given application context. It follows that in the development phase the data collection for the determination of the optimal slot duration is performed in the destined operational environment.

    [0051] In each frame the computational subsystem 102 calculates the imprecise anticipated values of observable state variables by interrupting the execution of the anytime algorithm at the end of the provided execution slot duration, using the data received from the sensor subsystems at the beginning of the frame. These imprecise anticipated values of observable state variables are sent from the computational subsystem 102 to the monitor subsystem 104 by the time triggered communication system 110.

    [0052] For each frame the monitor subsystem 104 calculates the precise anticipated values of observable state variables by executing the anytime algorithm until completion using the data received from the sensor subsystems 101 at the beginning of the frame.

    [0053] For each frame the monitor subsystem 104 computes the anytime-algorithm impreciseness by calculating the absolute values of the respective differences between the precise anticipated values of observable state variables and the imprecise anticipated values of observable state variables contained in the messages delivered from the computational subsystems 102 to the monitor subsystem 104 at the end of the frame.

    [0054] For each frame the monitor subsystem 104 computes the model error by calculating the absolute values of the difference between the precise anticipated values of observable state variables and the respective acquired values of observable state variables contained in the messages from the sensor subsystem 101 to the monitor subsystem 104 at the end of the frame

    [0055] Before a new slot duration is probed, the monitor subsystem 104 calculates the average anytime-algorithm impreciseness and the average model error in the past slot duration by averaging the results of the multitude of probed frames of that slot.

    [0056] At the end of the development phase, the set of average anytime-algorithm impreciseness values and the set of average model error values for all probed execution slot durations are available. Out of these sets, the execution time slot where the sum of the average anytime-algorithm impreciseness and the average model error is minimal is selected for deployment in the operation of the computational subsystems 102.

    REFERENCE

    [0057] 1. H. Kopetz. Real-Time SystemsDesign Principles for Distributed Embedded Applications. Springer 2011.

    [0058] 2. H. A Simon. The Architecture of Complexity. Proc. of the American Philosophical Society. Vol 106. No. 6. pp. 467-482. 1962.

    [0059] 3. R. Wilhelm et al. The worst-case execution time problemon overview of methods and a survey of tools. ACM Transaction on Embedded Computing Systems (TECS). Vol 7. No. 3. p. 36. 2008.

    [0060] 4. T. Dean and M. Boddy. An Analysis of Time-Dependent Planning. Proc. of AAAI Vol 88. pp. 49-54. 1988

    [0061] 5. Lee, E., Fundamental Limits of Cyber-Physical Systems Modeling. ACM Transactions of Cyber-Physical Systems. Vol 1., No. 1. p. 3. 2016