EP3827368A1 - Outil et procédé de conception et de validation d'un système flots de données par un modèle formel - Google Patents
Outil et procédé de conception et de validation d'un système flots de données par un modèle formelInfo
- Publication number
- EP3827368A1 EP3827368A1 EP19774160.6A EP19774160A EP3827368A1 EP 3827368 A1 EP3827368 A1 EP 3827368A1 EP 19774160 A EP19774160 A EP 19774160A EP 3827368 A1 EP3827368 A1 EP 3827368A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- actor
- instance
- data
- actors
- implementation
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/02—Data centres
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06313—Resource planning in a project environment
Definitions
- the present invention relates to a tool for designing and validating a system comprising a set of actors interconnected with one another by unidirectional communication channels.
- the present invention applies to systems commonly called “data flow systems” comprising a set of software and / or hardware actors exchanging quantifiable information between them, through unidirectional communication channels. Each actor waits to have received a statically specified amount of data on its input channels in order to consume this amount of data, to process this data, and to produce a statically specified amount of data on its exit channels for new players. This behavior is repeated indefinitely by each of the actors.
- An example of such a data flow system is a real-time on-board system which can be used in an autonomous vehicle or with a driver.
- the object of the present invention is to provide a tool and a method for designing and validating a data flow system overcoming the aforementioned drawbacks, in particular by taking into account the complete set of behavioral properties of the system, thus allowing a careful and precise design and validation of the system whatever the reconfiguration while optimizing the computing and memory resources of the system.
- the present invention relates to a design and validation tool implemented by computer of a data flow system modeling a device fitted with equipment, said data flow system comprising a set of actors ( a ,, a j ) software and / or hardware interconnected by unidirectional communication channels (c i; q), said tool comprising: - a modeling interface (11) configured to generate an instance of said system by specifying so formal a real-time and reconfigurable data stream, the reconfiguration of the data stream being carried out dynamically by the propagation of reconfiguration data from one actor to another through the communication channels,
- an analysis module (13) configured to prove a predetermined set of behavioral properties of said system by a static analysis of said instance comprising the construction of a matrix defining the state of activation of the actors and the state of the channels of communication and the determination of a vector of natural integers whose product with said matrix is zero, the determination of said vector confirming the feasibility of the data flow system independently of the allocated resources, a refinement interface (15) adapted to allocate resources to said instance respecting said predetermined set of behavioral properties, thereby establishing an instance called configured instance, and
- a compliance test module (17) comprising unit test tools (171) and integration tools (173), the unit test tool (171) simulating the production of data on input channels of the implementation of an actor, and verifying that the quantities consumed and produced by this implementation correspond to those specified for the actor implemented, the integration test tool (173) constructing the set of traces which correspond to the expected behavior of the configured instance and ensuring that the trace supplied belongs to this valid set, thus verifying the conformity of the behavior of an implementation of said system with respect to said configured instance.
- This embodiment by a formal model makes it possible to automate a meticulous and precise design and validation of a data flow system whatever the reconfiguration and without the need to have centralized control. More particularly, the reconfiguration in a distributed manner according to the invention makes it possible to take into account the complete set of behavioral properties while optimizing the computation and memory resources of the system thus minimizing the computation time and the errors, and facilitates the processes. certification.
- the system instance includes rational rates of consumption and data transmission. This gives the possibility of taking into account actors who must operate at different frequencies without any loss of communication data between these actors. Thus, the verification of the feasibility of lossless communication, and if necessary the scheduling of operations and the synchronization between tasks, can be easily carried out whatever the constraints on the frequencies associated with the actors.
- the system instance includes: - maximum frequency constraints for certain players,
- the system instance includes:
- each mode actor being configured to dynamically choose for each of its activations one and only one mode from said set of modes.
- the system instance also includes, for each generic actor, a corresponding set of execution modes in which it executes as well as an implicit set of all the other modes in which it passes, an execution mode being able to be either a nominal mode common to the whole system, or a specific mode chosen by a mode actor.
- the system instance further comprises an implicit set of feedback channels, a feedback channel being a channel connecting a generic actor producing data to a generic actor consuming data, each running in at least one of the chosen modes. by the same fashion actor, and in that there is a path without repetition starting from the same fashion actor and ending with the generic producer actor passing by the generic consumer actor.
- the feedback channels allow an actor in a processing chain to send the result to a previous actor in the chain so that this previous actor can do a new processing taking into account the old result.
- the identification of these feedback channels thus makes it possible to describe iterative processes in the system without introducing indeterminate modes due to the propagation of modes.
- system instance further comprises an initial state of the system composed by channel of a rational number and a sequence of modes of length equal to a lower rounding of said rational number, and by generic actor of its initial mode.
- the predetermined set of behavioral properties includes first, second, third and fourth following properties:
- the first property verifies that the resources necessary for the implementation of communications between actors without loss of data are limited for a periodic execution of the specified system
- the second property verifies that the frequency and / or period constraints can be respected without calling into question the first property
- - the third property verifies the non-existence of inter-blocking for any number of activations of the actors
- the fourth property checks the non-existence of an unknown state in the system for all the specified reconfigurations and none of the other properties being called into question by dynamic configuration changes.
- the tool according to the present invention ensures that the system is in a known and consistent state for all the reconfigurations and for all the constraints of frequency, period and dimensioning of resources. .
- the present invention expresses the reconfiguration so as to be able to prove exhaustively that the four properties are verified.
- said system is a real-time embedded system of equipment, configured to receive measurements specific to said equipment and to deliver results actuating operations for the proper functioning of said equipment.
- the present invention also relates to a real-time embedded system of equipment, comprising a set of software and / or hardware actors interconnected with one another by unidirectional communication channels, said embedded system being designed and validated by the tool. according to any one of the preceding characteristics, said on-board system being configured to receive measurements specific to said equipment and its environment, and to deliver results actuating operations for the proper functioning of said equipment.
- said equipment is an autonomous or non-autonomous vehicle of land, rail, aerospace or naval type.
- the present invention also relates to a system of a real-time industrial process, designed and validated by the tool according to any of the preceding characteristics, said system being configured for the industrial production of objects according to specific flow constraints and according to a reconfigurable process.
- the present invention also relates to a design and validation method implemented by computer of a data flow system modeling an on-board device of an item of equipment, said data flow system comprising a set of interconnected software and / or hardware actors. between them by unidirectional communication channels, said method using a computer to implement the following steps:
- the present invention also relates to a non-transient computer storage medium tangibly storing code instructions configured for the design and validation of a data flow system modeling an on-board device of an item of equipment, said data flow system comprising a set of software and / or hardware actors interconnected with one another by unidirectional communication channels, characterized in that said code instructions can be executed by a processor to implement the following steps:
- Fig.l schematically illustrates the hardware means used in the design and validation tool of a data flow system, according to one embodiment of the invention
- Fig.2A-2C show examples of data flows not respecting the behavioral properties as defined according to the present invention.
- Fig.3 schematically illustrates a method of designing and validating a data flow system, according to an embodiment of the invention.
- Fig.4 illustrates schematically an example of a data flow system modeled by a graph according to an embodiment of the invention.
- the invention is based on a formal model to describe real-time constraints and dynamic reconfigurations in a data flow system, allowing the verification of a set of properties necessary for the proper functioning of the system.
- the result of this static analysis coupled with configuration data for a system implementation allows automatic allocation of the resources necessary for its execution, as long as such allocation is feasible.
- a formal compliance relationship and a test environment allow obtaining a verdict on the conformity of such an implementation with the initially specified model.
- This invention can be applied to any data flow system comprising independent actors exchanging quantifiable information with one another, through unidirectional communication channels.
- the actors can be software (for example, applications) and / or hardware (for example, sensors, cameras, probes, microprocessors, etc.) entities.
- Each actor is configured to wait to have received a statically specified quantity of data on its input channels in order to consume this quantity of data, to perform (or not) a processing of this data, and to produce a quantity statically specified data on its output channels to new players, and each repeating this behavior indefinitely.
- the consumption / treatment / emission process is commonly called activation.
- Each activation takes place according to predefined reconfigurations, and for a given reconfiguration, the activation will either consume / process / produce (we say then execute), or do nothing (we say then pass), and the choice to change configuration is unpredictable.
- Each actor is activated according to the predefined reconfigurations in time windows (called real-time) with possibly frequency constraints (or in an equivalent manner with period constraints).
- the invention applies to a system embedded in equipment where compliance with the expected behavior is considered to be very important for the safety and proper functioning of the equipment provided with such a system.
- Fig. 1 schematically illustrates the hardware means used in the design and validation tool of a data flow system, according to one embodiment of the invention.
- the tool 1 for designing and validating a system 3 data flows implements hardware means comprising an information processing machine such as a computer or computer 5 comprising a microprocessor 7 and memories 9.
- the microprocessor 7 is configured to execute one or more computer programs comprising program code instructions, stored in the memories 9 of the computer 5 and designed to implement the system design and validation tool 3 stream data.
- the design and validation tool 1 comprises a modeling interface 11, an analysis module 13, a refinement interface 15, and a conformity test module 17.
- the modeling interface 11 is graphical software which is configured to interact with software describing the system 3 data flow.
- the graphics software and the software describing the system 3 are adapted to be executed by the computer 5.
- the modeling interface 11 is configured to generate an instance of the system 3 by formally specifying a stream of real-time and reconfigurable data.
- instance we mean the specification of the data flow described in the modeling interface 11.
- the modeling interface 11 is thus used to specify the data flow based on a formal calculation model, independently of any implementation of this data flow.
- the reconfiguration of the data stream is carried out dynamically by the propagation of reconfiguration data from one actor a, to another a j through communication channels q. This way of expressing the reconfiguration makes it possible to exhaustively check all the behavioral properties (described below) of the system 3.
- the analysis module 13 includes verification tools 131 which are configured to prove a predetermined set of behavioral properties of the system by a static analysis of the instance.
- Static analysis includes the construction of a state matrix defining the state of activation of the actors and the state of the communication channels and the determination of a vector of natural integers whose product with said matrix is zero . The existence of such a vector confirms the feasibility of the data flow system regardless of the resources allocated. This analysis will be described in more detail later in the description.
- the refinement interface 15 is configured to allocate sufficient resources to the instance respecting the predetermined set of behavioral properties and thus establishing an instance called in the following “configured instance”. Resource allocation is carried out in such a way that an implementation of system 3 respects the configured instance.
- the refinement interface 15 is thus used to specify additional time constraints for the instance. It will be noted that the refinement interface 15 can specify several instances configured for the same instance.
- a conversion tool 19 adapts the result of the static analysis of an instance to provide inputs allowing the allocation of resources for a configured instance.
- the compliance test module 17 is configured to verify the compliance of the behavior of an implementation of the data flow system 3 with the configured instance. More particularly, for an actor a, of a configured instance, we call an “implementation of this actor” any concrete entity which achieves the behavior specified for this actor a ,. Note that there can be several implementations for the same actor. In addition, for a configured instance, an “implementation of this configured instance” is called any collection of implementations of the actors composing the instance, associated with the concrete means enabling them to carry out the behavior specified for this instance. Note also that there can be several implementations for the same configured instance. Furthermore, for an implementation of a configured instance, a sequence of significant events that occurred during the execution of this implementation is called “trace”.
- the compliance test module 17 is composed of a unit test tool 171 and an integration test tool 173.
- the unit test tool 171 simulates the production of data on the input channels of the implementation of an actor a i; and verifies that the quantities consumed and produced by this implementation correspond to those specified for the actor implemented, while respecting all the constraints.
- the integration test tool 173 constructs the set of traces which correspond to the expected behavior of the configured instance and ensures that the trace provided belongs to this valid set.
- the instance of the system 3 comprises rational rates of consumption and transmission of data.
- the instance includes a rational or whole number of data produced or consumed by each actor a, and for each of its input and output channels c.
- This embodiment makes it possible to integrate frequency constraints at the level of the formal model and in the verification of the properties and, consequently, allows two actors a, and a j communicating with each other via a channel c, to operate according to frequencies different without any loss of communication data between these two actors (see the example in Fig. 4).
- the design and validation tool 1 guarantees the feasibility and consistency of the data flow system 3 by allowing verification of the predetermined set of behavioral properties covering all the reconfigurations and all the frequency and period constraints. and sizing of resources.
- This predetermined set of behavioral properties has the following four properties.
- the first PI property verifies that the resources necessary for the implementation of communications between actors without loss of data are limited for periodic execution of the specified system. This allows for example to size the memories necessary to store data without loss.
- Fig. 2A shows an example of a data flow not respecting the first property.
- This example shows a system comprising first and second actors ai and a 2 exchanging data with each other through the channels Ci and c 2 .
- the first actor ai specifies that it produces and consumes data at each activation.
- the second actor has 2 specifies that he produces two data and consumes one on each activation.
- the resources necessary to store the data on the output channel c 2 of the second actor a 2 cannot be limited for an indefinite number of activations of these actors. Thus, in this situation the first PI property is not checked.
- the second property P2 verifies that the frequency and / or period constraints can be respected without the first property being called into question.
- Fig. 2B shows an example of a data flow not respecting the second property.
- This example also shows a system with two actors ai and a 2 , the first actor producing a data by activation which will be consumed by each activation of the second actor.
- the frequency constraints are such that the first actor ai must activate at 100Hz and the second has 2 at 10Hz.
- the resources necessary to store data on the channel Ci connecting the two actors ai and a 2 cannot be limited for an indefinite number of activations, although they are limited if the frequency constraints are removed.
- the third property P3 verifies the non-existence of inter-blocking for any number of activations of the actors. Interlock can result in a situation where a set of actors exchange data cyclically. Using the example of FIG. 2A, in the absence of data initially present on one of the two channels ci and c 2 , none of the actors ai and a 2 can activate. Thus, the third property P3 makes it possible to take into account the case of cyclic data flow.
- the fourth property P4 checks the non-existence of an unknown state in the system for all the specified reconfigurations, there is no actor in the system which does not execute in any of the specified reconfigurations, and none of the other properties not being challenged by dynamic configuration changes.
- Fig. 2C shows an example of a data stream not respecting the fourth property.
- This example shows a system with three actors a 1; a 2 and a 3 and according to two possible reconfigurations.
- a first actor has produced a data by activation, which is consumed by each activation of a second actor a 2
- this second actor has 2 produced himself a data by activation, consumed by each activation of a third actor has 3 .
- In a first configuration only the first and second actors at 3 and a 2 execute and the third actor at 3 passes.
- R 2 only the second and third actors a 2 and a 3 are executed and the first actor has 3 passes.
- the reconfiguration mode chosen is always the first configuration Ri, then the resources necessary to store the data on the channel c 2 between the second actor a 2 and the third actor a 3 are not bounded for a number indefinite activations. Conversely, there is an interlock if the second configuration R 2 is always chosen. Finally, if we modify the example such that any of these actors has 3 , a 2 and a 3 does not activate in any configuration, we end up with similar situations. So the fourth property P4 allows to verify the consistency of the system for all the reconfiguration modes specified, ensuring that there is no contradictory information.
- Fig. 3 schematically illustrates a method of designing and validating a data flow system, according to an embodiment of the invention.
- steps E22, E41-E43, and E52 denote the possibility of applying this step several times for different configurations of the same instance, or different implementations of the same configured instance, or different traces of the same implementation.
- Step E1 concerns the generation of an instance by specifying a system 3 real-time reconfigurable data flow in order to be able to prove all of the four behavioral properties P1-P4 of this system 3 defined above. .
- the instance of system 3 includes all the elements defining the formalism of the calculation model. These elements include all of the actors a ,, a j including the so-called generic actors who process data and the so-called fashion actors who are in charge of signaling reconfigurations and / or of processing data; the set of channels c i; q connecting these actors to each other; the number of data produced or consumed per actor for each of its input or output channels, with the possibility for a channel to have only one of these numbers which is a rational number; the set of reconfiguration modes; maximum frequency constraints for certain generic or fashion players; minimum frequency constraints for certain generic or fashion players; and the initial state of the system.
- Step E21 concerns the verification by a static analysis of the set of behavioral properties P1-P4 for this instance. This allows the feasibility of the system to be verified independently of the resources allocated.
- Step E22 relates to obtaining time constraints for this instance.
- Step E3 concerns the construction of the scheduling constraints and the valid traces (i.e. set of valid states) for the instance configured in the previous steps. This step makes it possible to define the order in which the actors must make their operations according to the data and the time constraints.
- step E41 resources are allocated to respect the scheduling constraints of the configured instance.
- step E42 an implementation of an actor of the configured instance is obtained.
- step E43 an implementation of the configured instance is obtained.
- step E51 the conformity of the implementation of step E42 is tested.
- step E52 a trace of the implementation of step E43 is obtained.
- step E6 the conformity of the trace obtained in step E43 is tested, thus making it possible to verify the conformity of the implementation with the specified model.
- the method according to FIG. 3 thus covers the specification of a system 3 real-time reconfigurable data flow, the configuration of a resource allocation and the verification of the conformity of the behavior of a system implementation, taking into account the four properties P1- P4 above as a whole.
- Fig. 4 schematically illustrates an example of a data flow system modeled by a graph according to an embodiment of the invention.
- the graph models a data flow with frequency constraints, different reconfiguration modes and initial data available for initial consumption.
- the circles aa 5 represent so-called generic actors who carry out data processing. These generic actors ai-a 5 are thus adapted to consume data, make calculations to transform the data and produce results.
- the triangles a 6 and a 7 represent actors called "clock" at 6 or "deadline” at 7 which produce and consume data with frequency constraints.
- the square a 8 represents a so-called mode 8 actor responsible for signaling reconfigurations.
- the Ci-Cio directed arcs are unidirectional channels each indicating a stream of data between two actors and the associated numerical values giving the amount of data produced or consumed on the channel.
- the modeled system 3 is composed of five generic actors aa 5 , two time actors a 6 and a 7 (clock and deadline) and a mode actor a 8 .
- a first generic actor ai acquisition actor acquires data supplied by a clock actor at 6 at 30Hz.
- a second generic actor a 2 (control actor) sends a command to an actuator actor at 7 at 10 Hz.
- the command is determined according to the result of a reconfigurable processing chain consisting of a third generic actor a 3 (preprocessing actor) performing a preprocessing of the data produced by the acquisition actor ai in all possible reconfigurations.
- a fourth generic actor a 4 performs a fast and low definition processing of the data pretreated by the pretreatment actor a 3 .
- a fifth generic actor a 5 performs a slow but high definition processing.
- the data processing path of the first configuration l ⁇ is the path connecting the acquisition actor to 3 to the preprocessing actor to 3 , to the fast processing actor to 4 and then finally to the command actor has 2 .
- the second configuration l 2 is defined by the path connecting the acquisition actor ai to the preprocessing actor a 3 , to the slow processing actor a 5 and then finally to the control actor a 2 .
- the configuration propagates from one actor to another and therefore, no centralized synchronization on these reconfiguration modes is necessary.
- Each actor will communicate to his neighbor the configuration mode in which it must work.
- the choice of the current configuration is made by the mode actor a 8 who preferably uses high definition processing when available.
- the rapid processing actor has 4 each time he activates consumes data on his input channel c 3 (represented on channel c 3 by a "1") and produces data on its output channel c 4 (represented on channel c 4 by a “1”).
- a 5 which consumes data on its input channel c 5 and produces data on its output channel c 6 .
- the control actor has 2 each time it activates consumes data on its first input channel c 4 or on its second input channel c 4 (depending on the configuration mode) and produces data on its output channel c 2 .
- the pretreatment actor a 3 each time he activates consumes a datum on its first input channel Ci and a datum on its second input channel c 9 and produces a datum on its first output channel c 3 or on its second output channel c 5 (depending on the configuration mode).
- the acquisition actor ai consumes a rational number of data on its input channel c 2 (represented on the input channel c 2 by the value "1/3”) and produces a rational number of data on its output channel Ci (represented on the output channel Ci by the value "1/3").
- the example in Fig. 4 shows that in the initial state, there is a token Tl (ie a datum) available on the channel c 2 (between the control actor a 2 and the acquisition actor ai.
- the actor of acquisition ai will consume this existing data on this channel c 2 and will produce a data on its output channel c 3 (ie channel c 3 connecting the acquisition actor to 3 to the pretreatment actor to 3 )
- the acquisition actor has 3 consumed a data and produced a data.
- the acquisition actor on his next two activations, he will consume zero data and produce zero data.
- the acquisition actor has 3 consumes a datum and produces a datum every three activations. This allows synchronization of the data between two actors operating at different frequencies without any loss of data. Indeed, according to this example, the acquisition appears three times for each command thus allowing the transfer of data between the acquisition actor ai operating at 30 Hz and the control actor a 2 operating at 10 Hz without any loss of data.
- F3 We define the number of data produced or consumed by actor for each of its input or output channels, with advantageously the possibility for a channel to have only one of these numbers which is a rational number. These numbers are represented by the values on the Ci-Cio arcs connecting the actors of the example in FIG. 4.
- F4 For each mode actor a 8 of a non-empty set of modes, the mode actor a 8 being in charge of choosing dynamically for each of his activations one and only one of these modes (These modes are noted l and l 2 ).
- the choice of the current configuration is advantageously made by a single 8- mode actor and this current configuration is propagated in a distributed manner from one actor to another.
- F5 For each generic actor ai-a 5 , we define the set of modes in which it is executed, and the implicit set of all the other modes in which it passes. It will be noted that the set of modes in which a generic actor is executed is either a nominal mode common to the whole system, or a subset of the modes chosen by mode actors. In the example of FIG. 4, all the actors except the actors of preprocessing at 3 , fast processing at 4 and slow processing at 5 are executed in the mode nominal knowing that the preprocessing actor has 3 runs in modes l and l 2 , the fast processing actor has 4 runs in mode ⁇ lf and the slow processing actor has 5 runs in l mode 2 .
- an implicit set of feedback channels is defined as the set of channels connecting two generic actors each running in at least one of the modes chosen by the same mode actor, and such that There is a path without repetition starting from the fashion actor and ending with the producer actor on this channel, passing by a consumer actor.
- F7 We define maximum frequency constraints for certain generic or fashion players. One possible way of expressing them is by so-called 6 clock actors with which a frequency is associated. In the example of FIG. 4, the acquisition actor ai has a maximum frequency constraint of 30 Hz, expressed by the clock actor at 6 with the frequency 30 Hz, the arc c 7 connecting them, and the quantities of associated data.
- F8 We define minimum frequency constraints for certain generic or fashion players. One possible way of expressing them is by so-called actors with maturity a 7 to which a frequency is associated. In the example of FIG. 4, the control actor at 2 has a minimum frequency constraint of 10 Hz, expressed by the expiry actor at 7 with the frequency 10H z, the arc c 8 connecting them, and the quantities of associated data. It will be noted that the same actor can be forced to operate at a minimum and maximum frequency, in this case it is an exact frequency constraint. In other words, a frequency constraint is either maximum (no more than so many times per second), or minimum (at least so many times per second), or exact (exactly so many times per second).
- F9 An initial state of the system composed by channel of a rational number and a sequence of modes of length equal to the lower rounding of this rational number, and by generic actor of its initial mode.
- all actors have for initial mode nominal mode, and the channels marked by a small circle Tl and T2 have an initial state of value "1".
- the initial state can be expressed by any rational number (for example, 2/5; 4/3; etc.) and this follows from the fact that the production and consumption rhythms are rational according to an advantageous embodiment. of the invention.
- the behavior specified for the system has the following characteristics C1-C7:
- the channel production policy is a non-blocking first-in-first-out (FIFO) policy.
- C2 The consumption policy from the channels is blocking FIFO. Thus, when an actor will produce data on a channel, it will not be blocked by the consumer actor.
- the channels contain elementary quantities of data (i.e. tokens Tl, T2).
- a token is an arbitrary unit that indicates the number of data on a channel at a given time.
- the tokens are all made up of a mode and either of significant data produced by an execution, or of no data. These latter tokens advantageously represent the absence of data produced when the producer or the consumer goes into a given mode. Advantageously, this makes it possible to preserve the synchronization between the tasks without the need to send effective data.
- the state of a channel is a rational number, and the whole number of tokens it contains is the lower rounding of this number.
- Tl the rational number 1/1
- the acquisition actor ai will consume 1/3 which will transform the state of channel c 2 from 1/1 to 2/3 (ie 1-1 / 3) rounded to zero.
- the state of channel c 2 is 2/3 which will allow the acquisition actor ai when activated to remove 1/3 again which will transform the state of channel c 2 from 2 / 3 to 1/3 (ie 2/3 -1/3) rounded to zero.
- the actor of acquisition ai again withdraws 1/3 which will transform the state of channel c 2 from 1/3 to zero.
- a Tl token is consumed by the acquisition actor for all three activations.
- C5 The atomic activation of each actor (regardless of whether it executes or passes), removes the specified rational number from the state of each of its input channels and adds the specified rational number to the status of each of its output channels. It should be noted that an atomic process is an indivisible process of production and consumption which has a clearly identified beginning and end. The number of tokens consumed or produced is the absolute value of the difference between the lower rounding of the channel state before activation and the lower rounding of the channel state after activation.
- C6 Each time a mode actor is activated, it executes and chooses one and only one of the modes associated with it in an arbitrary manner. He associates with each product token the mode chosen by this activation.
- the propagation mode according to the invention makes it possible to systematically produce tokens, potentially empty according to the mode chosen, which does not prevent activation of the successor, and therefore makes it possible to preserve the properties (see below). ).
- C7 Before each activation of a generic actor, its current mode is determined by the set L of modes associated with a token which will be consumed for each channel, the channels for which no token is consumed in this activation being ignored.
- the token considered (for example the last consumed) on each channel is chosen in a deterministic manner.
- the determination rule can be performed according to the following points (a) - (f): (a): if the set L is empty (ie the actor has no predecessors), the mode current is systematically nominal; (b): if the set is a singleton, the current mode is then this unique element of L
- each generic actor is done in its current mode.
- the current mode is associated with all the tokens produced by this activation, except those produced on a feedback channel, with which the nominal mode is associated.
- the data associated with the tokens produced are determined by the current mode. If the actor goes into his current mode, the tokens produced contain no data. If the actor executes in his current mode, for his consumers who will potentially execute in this chosen mode, his consumers who are connected to him by a feedback channel, and only for these, he associates with each token produces meaningful data. For all its other consumers it does not associate any data.
- First step Fold Construct a matrix, denoted G, with one row per channel and one column per actor, and for each entry in this matrix we have: el: the value 0 if the actor is not connected to this channel; e2: the number (potentially rational) added to the state of the channel for each activation of the actor if he is a producer on this channel; e3: the opposite of the number (potentially rational) cut off from the channel state for each activation of the actor if he is a consumer on this channel; and e4: the difference between the numbers (including one potentially rational) added and subtracted from the channel state for each activation of the actor if he is both producer and consumer on this channel.
- Second property P2 In an embodiment in which the time constraints are described as in FIG. 4, the ability to verify the second property for instances can be done according to the following innovative steps P21-P25:
- First step P21 Check that if an actor has maximum and minimum frequency constraints, they are equal.
- Second step P22 Calculate the greatest common divisor Î of all the frequency constraints in the system, and their smallest common multiple p.
- Third step P23 Given the vector x, arbitrarily choose an actor from column i in G with a noted frequency constraint and with the element x t of x.
- Fourth step P24 Calculate the following whole number:
- Third property P3 One possible way of proving the third property P3 is based on a method known for data flows in general but by distinguishing itself by taking into account rational quantities. Given x and the initial state of the channels, this method consists in carrying out a symbolic activation of the system in which each actor in column i in G is activated at least x t times, and ensuring that this execution ends.
- Fourth P4 property The method of proving the fourth P4 property follows from the way the modes and the data are associated with the tokens to propagate the modes according to the innovative embodiment of the present invention.
- the method which follows is a nonlimiting example of the verification of this property P4 according to the following steps P41-P47:
- First step P41 Check that the sets of modes chosen by the mode actors are disjoint two by two (one mode is chosen by one and only one mode actor).
- Second step P42 Also verify that the set of modes associated with each generic actor is either the singleton containing the nominal mode of the system, or a subset of the set of modes chosen by a mode actor. It will be noted that the modes associated with a generic actor are all selected by the same mode actor.
- Third step P43 Check that if a generic actor has an associated set of modes which is a subset of those chosen by a mode actor, then: either this actor de mode is a direct predecessor of this generic player; or there is at least one of the direct predecessors of this actor such that the set of modes associated with this predecessor is a subset of the set of modes chosen by this mode actor.
- Fourth step P44 For all the actors of column i in G which are executed in at least one mode chosen by the same mode actor of column j in G, and who are on a path starting from this mode actor, and passing only by actors who execute themselves in at least one of the modes chosen by this mode actor, then:
- Sixth step P46 Perform a symbolic execution of the data flow with at least y t activations for all the actors, considering that the way in which the mode actors choose a mode on each activation is a tourniquet selection (rou nd-robin) of whatever modes they choose.
- Seventh step P47 Ensure that no mode was undefined in the symbolic execution.
- the time constraints for an instance are made up of the following elements: a time budget for all the actors; an initial deadline for all actors; a symbol associated with each actor declaring it to be either persistent or ephemeral; a symbol associated with each actor with a minimum frequency constraint declaring its constraint as being strict or relaxed; and an initial deadline associated with each actor with a minimum frequency constraint.
- a clock measures the flow of the time from an initial date.
- the time between the start and end of the activation of any actor is less than or equal to the budget associated with that actor.
- No activation of an actor begins before its initial delay has elapsed.
- the start of an activation of an ephemeral actor always takes place after the start of the previous activation of this same actor.
- the start of an activation of a persistent actor always takes place after the end of the previous activation of this same actor.
- each of its activations is associated with a deadline.
- this deadline is equal to the initial deadline, and for the following ones, their deadline is equal to the deadline for the previous activation of this same actor plus the inverse of the minimum frequency (ie the minimum period ).
- the end of the activation of an actor with a minimum frequency constraint always takes place before its expiration.
- a delay is associated with each of its activations; for the first activation, this deadline is equal to the initial delay, and for the following ones, their delay is equal to the delay for the previous activation of this same actor plus the inverse of the maximum frequency (ie the maximum period).
- the start of the activation of an actor with a maximum frequency constraint always takes place after its delay.
- the process of constructing scheduling constraints includes the following steps:
- Step 1 Given x, associate with each actor of column i in G a sequence of at least 2.
- x t elements where the j th element is defined by: a variable s tj for the start date of the j th activation of i a variable e tj for the end date of the i th activation of i and a variable d tj for the expiration of the i th activation of i.
- Step 3 Iteratively, until all the variables s tj are affected: For each variable s tj not yet affected and such that all the variables involved in the linear constraints concerning it are affected, assign the minimum value authorized by linear constraints. For each variable e tj corresponding to a variable s tj assigned to this iteration, with the budget of the actor i noted b, assign the value s tj + b to e tj . Step 4: For each variable if the actor has a minimum frequency constraint noted w and an initial deadline noted d, assign the value d + (j— 1) / w.
- Step 5 For each variable e j , if the actor has a strict minimum frequency constraint, ensure that the constraint e tj £ d tj is respected.
- Step 6 For each variable e ⁇ , if the actor has a relaxed minimum frequency constraint, and if the constraint e tj £ d tj is not respected, assign the value
- Step 7 Iteratively, until all the variables d tj are assigned: For each variable d tj not yet assigned, if all the variables d ki have already been assigned such as according to the matrix G and l initial state of the channels the j th activation of the actor i produces at least one token in a channel and that this same token is consumed by the l th activation of the actor k, then assign e + min (d fe ; - e ki ).
- Step 5 above of this process if Step 5 above of this process has passed successfully, then the variables s j , d of each activation as well as the budget b of each actor are sufficient inputs for the allocation of execution resources and the dimensioning of communication channels for the storage of tokens.
- the fact that this information is available for the actors of mode allows to use for example the scheduling methodology described in [3]. In addition, we are assured that this allocation is feasible on a finite quantity of these resources.
- SI Simulate the production of tokens by activations j of the predecessors i of this implementation under test, on dates e tj , these activations being dependent on the scenario tested.
- a non-exhaustive list of possible scenarios is as follows: (a) Underproduction: activations are chosen so that there are not enough tokens for the activation of this implementation, (b) Exact production: activations are chosen so that there is the minimum number of tokens necessary for the activation of this implementation, (c) Overproduction: activations are chosen so that there is a sufficient number of tokens for several successive activations of this implementation.
- TTIOTS Timed Input Output Transition Systems
- the present invention is differentiated by the fact that instead of considering the values of the data produced in response to input values, we consider the state of the communication channels. For example, if an actor produces a token containing a character string as given, in the state of the art we would observe the character string, on the other hand in the present invention, we will observe the value "1", being the number tokens available in the channel.
- the method for constructing valid traces is as follows: Constructing an automaton for each actor corresponding to the specified behavior of this actor in the formalism described in [4], in which the values produced / consumed on the channels are numerical values indicating l condition of the channel. Then, evaluate all the possible paths in a symbolic execution of the system as described in [4] so as to observe the periodic behavior described by the vector x.
- Traces of an execution of an implementation of an instance can be provided by an observer of an execution of the implementation.
- Each entry in a trace provides information about the status of the implementation whenever this state changes. For example: the current date of the implementation instance clock configured, the number of tokens available for consumption for all channels, and the mode associated with tokens available for consumption. Given such a trace, one can check the conformity of the execution of the implementation with respect to the specified behavior of the corresponding instance, as described in [4].
- a first application concerns critical real-time distributed systems.
- a real-time embedded system of equipment configured to receive specific measurements of the equipment and its environment and to deliver results actuating operations for the proper functioning of this equipment.
- the equipment can be an autonomous or non-autonomous vehicle of land, rail, aerospace or naval type.
- the vehicle system may include cameras to detect pedestrians.
- the sampling frequency of the cameras can be different from that of the microprocessor which will process the signals and the processing must be fast enough to warn the driver or the automaton early enough to trigger braking or another action to avoid the pedestrian.
- This consumption and production at different frequencies without loss of data is possible thanks to the use of rational numbers of data on the channels according to the invention.
- different reconfiguration modes can be used so that the pedestrian detection processing takes place from a certain speed or over a certain range of speeds allowing the microprocessor not to consume execution resources unnecessarily outside of this beach.
- a second application concerns FPGA systems for critical real time: an FPGA system is a stream of data clocked by clocks which trigger the processing units, and in which the routing of data can change dynamically.
- a third application concerns a system of an industrial process configured for the industrial manufacture of objects according to particular flow constraints and according to a reconfigurable process. Indeed, an industrial manufacturing process can be seen as a stream of data, with flow constraints for technical reasons.
- the present invention allows the reconfiguration of the process to adapt for example to the evolution of the order book.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1857849A FR3085513B1 (fr) | 2018-08-31 | 2018-08-31 | Outil et procede de conception et de validation d'un systeme flots de donnees par un modele formel |
| PCT/FR2019/052008 WO2020043999A1 (fr) | 2018-08-31 | 2019-08-30 | Outil et procédé de conception et de validation d'un système flots de données par un modèle formel |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP3827368A1 true EP3827368A1 (fr) | 2021-06-02 |
Family
ID=65685468
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP19774160.6A Pending EP3827368A1 (fr) | 2018-08-31 | 2019-08-30 | Outil et procédé de conception et de validation d'un système flots de données par un modèle formel |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11610041B2 (fr) |
| EP (1) | EP3827368A1 (fr) |
| JP (1) | JP7463346B2 (fr) |
| FR (1) | FR3085513B1 (fr) |
| WO (1) | WO2020043999A1 (fr) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112158235B (zh) * | 2020-08-25 | 2022-10-18 | 通号城市轨道交通技术有限公司 | 用于城市轨道交通的室外信号设备控制方法及系统 |
| US11645057B2 (en) * | 2020-09-24 | 2023-05-09 | SambaNova Systems, Inc. | Systems and methods for memory layout determination and conflict resolution |
| US12041181B2 (en) * | 2022-03-09 | 2024-07-16 | Dell Products L.P. | Management of a computing device supply chain utilizing a distributed ledger |
| CN118153516B (zh) * | 2024-05-09 | 2024-07-26 | 中诚华隆计算机技术有限公司 | 一种处理器功能仿真验证方法及系统 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9335977B2 (en) * | 2011-07-28 | 2016-05-10 | National Instruments Corporation | Optimization of a data flow program based on access pattern information |
-
2018
- 2018-08-31 FR FR1857849A patent/FR3085513B1/fr active Active
-
2019
- 2019-08-30 JP JP2021510638A patent/JP7463346B2/ja active Active
- 2019-08-30 EP EP19774160.6A patent/EP3827368A1/fr active Pending
- 2019-08-30 US US17/271,964 patent/US11610041B2/en active Active
- 2019-08-30 WO PCT/FR2019/052008 patent/WO2020043999A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2020043999A1 (fr) | 2020-03-05 |
| JP7463346B2 (ja) | 2024-04-08 |
| FR3085513B1 (fr) | 2024-06-28 |
| US11610041B2 (en) | 2023-03-21 |
| JP2021535492A (ja) | 2021-12-16 |
| FR3085513A1 (fr) | 2020-03-06 |
| US20210279393A1 (en) | 2021-09-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113056728B (zh) | 共同调度量子计算作业 | |
| EP3827368A1 (fr) | Outil et procédé de conception et de validation d'un système flots de données par un modèle formel | |
| JP2023527700A (ja) | パイプライン・アーティファクトの選択の動的自動化 | |
| US9836695B2 (en) | Automated decision support provenance and simulation | |
| Valls et al. | A real-time perspective of service composition: key concepts and some contributions | |
| CN102591772A (zh) | 组合服务的回归测试方法和装置 | |
| EP2859421A1 (fr) | Prevision d'operations de maintenance a appliquer sur un moteur | |
| Arellanes et al. | D-XMAN: a platform for total compositionality in service-oriented architectures | |
| US12094014B2 (en) | Computer systems and methods for dynamic pull planning | |
| Akoush et al. | Desiderata for next generation of ML model serving | |
| WO2017109386A1 (fr) | Procede hors ligne d'allocation d'un logiciel embarque temps reel sur une architecture multicontrôleur multicoeur, et son utilisation pour des applications embarquees dans un vehicule automobile | |
| US12608261B2 (en) | Estimating propagation time for an injected fault | |
| EP2956874A2 (fr) | Dispositif et procédé pour accélérer la phase de mise à jour d'un noyau de simulation | |
| WO2016198762A1 (fr) | Procédé et système de détermination d'une configuration de serveurs cible pour un déploiement d'une application logicielle | |
| EP3881515B1 (fr) | Système de supervision formelle de communications | |
| US9256405B1 (en) | Code generation based on regional upsampling-based delay insertion | |
| US20220405631A1 (en) | Data quality assessment for unsupervised machine learning | |
| EP3908926B1 (fr) | Procédé de validation d'un système flots de données | |
| Khurshid et al. | An automated ontology generation technique for an emergent behavior detection system | |
| Marozzo et al. | Estimating Performances of Application Deployment on Distributed IoT-Edge-Cloud Infrastructures | |
| Mitchell et al. | Formal specification and state space analysis of an operational planning process | |
| WO2017108924A1 (fr) | Procédé de détection de problèmes de testabilité d'un module informatique | |
| CN114641756A (zh) | 将并行过程模型变换成状态图 | |
| Raab et al. | Support system for distributed hla simulations in industrial applications | |
| FR3116689A1 (fr) | Procédé et dispositif de reconfiguration de la Qualité de Service dans un réseau |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20210223 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20240313 |
|
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIESALTERNATIVES |