WO2022201647A1 - Method and system for correcting operation of target computer system by using timed requirement - Google Patents
Method and system for correcting operation of target computer system by using timed requirement Download PDFInfo
- Publication number
- WO2022201647A1 WO2022201647A1 PCT/JP2021/044605 JP2021044605W WO2022201647A1 WO 2022201647 A1 WO2022201647 A1 WO 2022201647A1 JP 2021044605 W JP2021044605 W JP 2021044605W WO 2022201647 A1 WO2022201647 A1 WO 2022201647A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- timed
- requirements
- subset
- trace
- witness
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- 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/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
- G06F11/3608—Analysis of software for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Definitions
- This disclosure relates to requirement engineering for computer systems and relates more specifically to a method and system for correcting the operation of a target computer system by using timed requirements.
- timed requirements In the process of developing computer systems, requirement engineering consists in defining, documenting and maintaining the requirements that a computer system needs to comply with. Requirements can be of different nature but, in computer systems, timed requirements are of importance. Basically, a timed requirement corresponds to constraints, including timing constraints, between outputs of the computer system and inputs to said computer system. In practice, timed requirements will be the basis of the design and development of the computer system. Also, timed requirements will partly drive the validation campaign in order to check that they are indeed complied by the actual computer system, once developed. [0003]
- timed requirements that are consistent, i.e. that are not contradictory such that implementations conforming with said timed requirements are indeed possible and may be designed and developed.
- the present disclosure aims at proposing a solution for correcting automatically, by a correcting computer system, inconsistencies of a set of timed requirements describing the operation of a target computer system.
- the present disclosure relates to a computer implemented method for correcting the operation of a target computer system.
- the operation of the target computer system is constrained by a set of timed requirements, and an execution sequence of the target computer system, referred to as witness trace, satisfies a criterion for detecting a conflict between timed requirements of the set of timed requirements, referred to as inconsistency.
- the set of timed requirements comprises a first subset and a second subset of timed requirements.
- the method comprises initializing a set of constraints based on said witness trace, and iterating steps of:
- the target computer system may be any computer system for which timed requirements may be defined, such as an embedded electronic system and/or mechatronic system and/or a mechanical control system, etc.
- the operation of the target computer system is constrained by a set of timed requirements. Correcting the operation of the target computer system relies on evaluating said operation by simulating the behavior of the target computer system at the timed requirement level, in order to detect e.g. inconsistencies among the timed requirements and/or vacuous timed requirements. Correcting the operation of the target computer system therefore corresponds to correcting the set of timed requirements which constrain the operation of said target computer system.
- the correcting method does not interact with the actual target computer system, which may not be designed or developed yet, but evaluates the operation of the target computer system by simulating its behavior at the timed requirement level. Accordingly, the correcting method is carried out by a correcting computer system that is different from the target computer system.
- a timed requirement may be viewed as constraints, including timing constraints, between outputs of the target computer system and inputs to said target computer system.
- the correcting method uses execution sequences of the target computer system, referred to as “witness traces”, that lead to conflicts between timed requirements, i.e. that lead to at least one timed requirement being violated.
- An execution sequence basically corresponds a sequence of inputs to the target computer system and resulting outputs from said target computer system at successive time steps.
- a timed requirement is violated when the constraints it defines cannot be satisfied at some point.
- the witness trace itself does not violate a timed requirement yet. However, the witness trace is not prevented to occur by the considered timed requirements and yet it reaches a configuration of the target computer system from which at least one timed requirement will be necessarily violated at some point.
- witness trace demonstrating the inconsistency (e.g. RT- inconsistency) of the set of timed requirements
- RT- inconsistency e.g. RT- inconsistency
- the correcting method iteratively modifies a second subset of timed requirements, while maintaining unchanged a first subset of timed requirements, to obtain a modified second subset such that each constraint in the set of constraints is satisfied.
- the constraint included in the set of constraints may require that said witness trace ⁇ is prevented from occurring when considering the updated set (combining the first subset and the modified second subset) or that it ceases to be an inconsistency witness trace when considering the updated set.
- the set of constraints is iteratively incremented with constraints which are defined by witness traces.
- constraints which are defined by witness traces.
- the correcting method can further comprise one or more of the following features, considered either alone or in any technically possible combination.
- the correcting method comprises iterating steps of:
- vacuous timed requirement a timed requirement in the first subset, which cannot be triggered when considering the updated set of timed requirements
- determining an execution sequence referred to as triggering trace, which triggers the vacuous timed requirement when considering the first subset of timed requirements, and augmenting the set of constraints based on said triggering trace; wherein the operation of the target computer system is considered corrected when no further witness trace and no vacuous timed requirement is found for an updated set of timed requirements.
- a modified second subset is found (such that the updated set satisfies all the constraints of the set of constraints), it is further verified whether one or more timed requirements of the first subset have become vacuous due to the modifications made to the second subset. If such a vacuous timed requirement is found, then an execution sequence that triggered said timed requirement before modifying the second subset, referred to as “triggering trace”, is identified and used to add a further constraint to the set of constraints. For instance, the added constraint may require that the modified second subset of subsequent iterations does not prevent said triggering trace to occur, thereby removing the vacuity. Again, such (triggering) trace-based constraint can be easily verified.
- augmenting the set of constraints based on a further witness trace of the inconsistency of the first subset of timed requirements comprises adding a constraint requiring that the modified second subset of timed requirements of subsequent iterations prevents said further witness trace to occur.
- augmenting the set of constraints based on a further witness trace of the inconsistency of the updated set of timed requirements which is not a witness trace of the inconsistency of the first subset of timed requirements comprises adding a constraint requiring that: - either the modified second subset of timed requirements of subsequent iterations prevents said further witness trace to occur;
- said further witness trace is not a witness trace of the inconsistency of the updated set of timed requirements of subsequent iterations.
- the operation of a target computer system is initially constrained by the first subset of timed requirements and correcting the operation of the target computer system comprises adding the second subset of timed requirements to the first subset of timed requirements.
- the correcting method comprises determining a subset of parameters of the set of timed requirements based on the witness trace, and determining the first and the second subset based on the subset of parameters, wherein the second subset is modified by modifying only parameters in said subset of parameters.
- the second subset is modified such that a distance between any modified second subset and the initial second subset does not exceed a predetermined maximum distance.
- the criterion for detecting a conflict is satisfied when an RT-inconsistency is detected.
- the second subset of timed requirements is modified to obtain an updated set of timed requirements for which each constraint in the set of constraints is satisfied and for which all timed requirements in the modified second subset can be triggered when considering the updated set of timed requirements.
- the correcting method comprises augmenting the set of constraints based on a desired trace that can occur when considering the original set of timed requirements but is prevented from occurring by an updated set of timed requirements. This is advantageous for it prevents from reducing too drastically the set of possible execution sequences (traces) when correcting the set of timed requirements. Indeed, defining a constraint based on a desired trace ensures that said desired trace will remain in the set of possible execution sequences (i.e. correcting the set of timed requirements will not prevent the desired trace from occurring). The constraint added to the set of constraints typically requires that the updated set of subsequent iterations does not prevent said desired trace to occur.
- searching for a witness trace or a triggering trace uses a Satisfiability Modulo Theories, SMT, solver.
- each timed requirement is modeled as a Simplified Universal Pattern, SUP.
- SUPs are a type of timed requirements, for which computationally efficient specific consistency checking tools exist.
- the present disclosure relates to a computer program product comprising instructions which, when executed by at least one processor, configure said at least one processor to carry out a correcting method according to any one of the embodiments of the present disclosure.
- the present disclosure relates to a computer-readable storage medium comprising instructions which, when executed by at least one processor, configure said at least one processor to carry out a correcting method according to any one of the embodiments of the present disclosure.
- the present disclosure relates to a correcting computer system for correcting the operation of a target computer system, said correcting computer system comprising at least one processor configured to carry out a correcting method according to any one of the embodiments of the present disclosure.
- the present disclosure may also be applied when the original set is only vacuous, i.e. no conflict between timed requirements is detected but one or more timed requirements cannot be triggered in the original set of timed requirements.
- the present disclosure relates to a computer implemented method for correcting the operation of a target computer system, said operation of the target computer system being constrained by a set of timed requirements comprising a first subset and a second subset of timed requirements, wherein a timed requirement of the first subset, referred to as vacuous timed requirement, cannot be triggered when considering the set of timed requirements, and an execution sequence, referred to as triggering trace, triggers the vacuous timed requirement when considering the first subset, wherein said method comprises initializing a set of constraints based on said triggering trace, and iterating steps of:
- Figure 1 is a schematic representation of a timed requirement modeled as a Simplified Universal Pattern, SUP.
- Figure 2 is a schematic representation of an exemplary timed requirement modeled as a timed automaton.
- Figure 3 is a diagram representing the main steps of an exemplary embodiment of a correcting method.
- Figure 4 is a diagram representing the main steps of a preferred embodiment of a correcting method.
- the present disclosure relates to a method 30 and system for correcting the operation of a target computer system, wherein the operation of the target computer system is constrained by a set of timed requirements.
- a run of the target computer system can be understood as a sequence of time steps at which the value of Boolean variables is observed, the evolution of the target computer system being governed by both timing constraints and the Boolean value of these Boolean variables.
- timed requirements can for example be represented by timed automata such as those described in [AD90], with specific restrictions, but extended with Boolean variables.
- a configuration of a timed automaton is a pair (s, v) where s E S and With a timed automaton ⁇ A, we associate the infinite-state automaton
- initial states are obtained by adjoining the null valuation (all clocks are mapped to zero) to initial states
- - transitions in D are combinations of a transition of the timed automaton and a 1 -time-unit delay.
- - is the set of accepting configurations.
- transition system S ( c / V) is infinite because we impose no bound on the values of the clocks during executions.
- timed automata [AD90] we may notice that the exact value of a clock is irrelevant as soon as it exceeds the largest integer constant with which it is compared. We could thus easily modify the definition of in such a way that it only contains finitely many states.
- a run of is a run of its associated infinite-state automaton It can be represented as a sequence along which configurations and actions alternate:
- An execution sequence (or trace) of this sequence is its projection on the set of actions. In other terms, it is a finite or infinite sequence of actions where is the length of ⁇ , denoted with
- timed automata X 1 U X 2
- F F 1 x F 2
- timed automata can be easily generalized to an arbitrary number of timed automata, and timed requirements that they specify. For a set of timed requirements, each specified by a timed automaton we note the timed requirement specified by the timed automaton
- timed automata are complete, meaning that from any (reachable) configuration (s, v), and for any subset s of AP, there is a transition in T such that and Also, the timed automaton are considered in a non-limitative manner to be deterministic, i.e. for any two configurations (a, c, g, r, s ) and (hence starting from the same state a) such that both c A c' and are satisfiable, then
- timed automata we use timed automata to encode timed requirements. Intuitively, entering an error state (i.e. leaving the subset F of accepted states) of a timed automaton corresponds to violating the corresponding timed requirement. In the sequel, for any timed automaton ⁇ /I and any finite or infinite execution sequence (also referred to as “trace”) ⁇ , we write satisfies ) if and only if ⁇ does not violate A, i.e. running s on ⁇ A does not visit E. [0055]
- a valuation is of type , wherein T means “true” and _L means “false”.
- a generalized valuation may be used, of type ⁇ .
- some atomic propositions are assigned to *, which stands for a “don’t care” value, i.e. it is not important whether the value is actually T or J_.
- v £ v' means that v is less generalized than v’ .
- DontCare(V) ⁇ x G AP
- v(x) * ⁇ . This is the set of “don’t care” variables of the valuation.
- a generalized valuation v represents the set of valuations v' such that v' ⁇ v.
- a tracer is therefore a sequence of valuations of length ⁇ s ⁇ and a generalized trace is a sequence of generalized valuations.
- a concretization of a generalized trace s is a trace s' such that for all A generalized trace then represents a set of traces, i.e. the set of the concretizations of said generalized trace.
- a trace of length k can be seen as a (generalized) valuation over AP 1, ... , AP fc ,.
- DontCare( ⁇ ) be the subset of AP 1 U ... U APk., that are assigned to
- SUP Simplified Universal Pattern
- SUP instances can be denoted by:
- a SUP instance is thus defined by the choice of the Boolean formulas TSE, TC, TEE, ASE, AC, AEE, and durations Tmin, Tmax, Lmin, Lmax, Amin, Amax.
- the Boolean formulas are propositional formulas built from system Boolean variables in a set AP of atomic propositions. For simplicity, when talking about an individual SUP, we gather the values of these parameters in a vector P, and refer to its elements using the names of the parameters (e.g. P TSE is the value of the first parameter TSE). But we should remember that they are valuations of formulas, and when several SUPs are considered, since they may refer to some common Boolean variables, their valuations may interfere on those variables.
- Figure 1 illustrates the intuitive semantics of SUP.
- the left part of a SUP defines a trigger phase, while the right part is the action phase.
- TSE Trigger Start Event
- TEE Trigger End Event
- Confirmation means that TC (“Trigger Condition”) holds until TEE (“Trigger End Event”) occurs. Otherwise the trigger is aborted.
- the trigger phase is realized, for the SUP to be satisfied, its action phase should be started by ASE (“Action Start Event”) within [Lmin, Lmax] time units, and then confirmed. That an action phase is realized is defined as for triggers, with a confirmation duration within [Amin, Amax], during which both AC (“Action Condition”) holds until AEE (“Action End Event”) occurs. Otherwise, the SUP is violated.
- ASE Application Start Event
- AEE Action End Event
- Figure 2 represents schematically an example of deterministic timed automaton that can be used to encode a SUP timed requirement, since a SUP timed requirement is a special case of a timed automata as defined above.
- the timed automaton encoding the SUP timed requirement has five states idle, trig, delay, act and err (wherein err is the only error state), and an associated clock c.
- the operator V corresponds to the logical “OR” and the operator - corresponds to the logical operator “NOT”.
- This timed automaton clearly exhibits the successive phases of a SUP.
- SUPs can be defined as a valuation P of those parameters.
- P the SUP with parameters defined by P
- cA SUP(P) the complete deterministic timed automaton corresponding to SUP (P).
- a set 31 of SUP requirements is RT-consistent if, for any finite trace s, if s A trace that demonstrates the RT- inconsistency, referred to as “witness trace”, is then a finite trace s such that s I-fails but not s fails [0071]
- non-vacuity which is basically existential consistency with a non- vacuity condition.
- a set R of SUP requirements is non-vacuous if for each R G 31, there exists a trace that satisfies R and that triggers R. Such a trace is referred to as “triggering trace”.
- Figure 3 represents the main steps of a method 30 for correcting the operation of a target computer system (not represented in the figures).
- the correcting method 30 is carried out by a correcting computer system (not represented in the figures).
- the correcting computer system comprises one or more processors (which may belong to a same computer or to different computers) and storage means (magnetic hard disk, optical disk, electronic memory, or any computer readable storage medium) in which a computer program product is stored, in the form of a set of program-code instructions to be executed in order to implement all or part of the steps of the correcting method 30.
- the correcting computer system can comprise one or more programmable logic circuits (FPGA, PLD, etc.), and/or one or more specialized integrated circuits (ASIC), etc., adapted for implementing all or part of said steps of the correcting method 30.
- the correcting computer system comprises a set of means configured by software (specific computer program product) and/or by hardware (processor, FPGA, PLD, ASIC, etc.) to implement the steps of the correcting method 30.
- the operation of the target computer system is constrained by a set R timed requirements.
- the correcting method 30 comprises a step S30 of evaluating a criterion for detecting a conflict between timed requirements of the set 72 of timed requirements.
- the conflict detection criterion may use different notions of inconsistency checking, but we consider in a non-limitative manner that RT-inconsistency is evaluated.
- the execution of the correcting method 30 may stop. If the set 72 is considered to be RT-consistent (reference S30a in figure 3), then the execution of the correcting method 30 may stop. If the set 72 is considered to be RT-inconsistent (reference S30b in figure 3), typically by finding a trace s demonstrating the RT-inconsistency referred to as “witness trace”, then the correcting method 30 comprises a step S31 of initializing a set of constraints by using the witness trace s. The set gathers trace-based constraints (i.e. constraints derived from execution sequences) that need to be satisfied when modifying the set 72.
- trace-based constraints i.e. constraints derived from execution sequences
- the set 72 of timed requirements is assumed to comprise a first subset 72 x and a second subset 72 2 of timed requirements, and the correcting method 30 will then proceed to try and correct the set 72 of requirements by modifying the second subset 72 2 while maintaining the first subset 72 a unchanged.
- the first subset 72 j may correspond to the original set of timed requirements constraining the operation of the target computer system, for which a RT-inconsistency is detected.
- the original subset 72 x is not modified, and the RT- inconsistency is corrected by finding new timed requirements which, when added to the subset R enable to obtain a set JZ that is RT-consistent.
- the set JZ may be the original set of timed requirements constraining the operation of the target computer system, for which a RT-inconsistency is detected.
- one or more timed requirements of the set R , which compose the second subset R are modified in order to obtain a set that is RT-consistent.
- the second subset R may be modified such that a distance between any modified second subset R and the original second subset R does not exceed a predetermined maximum distance d m , i.e. . This embodiment is advantageous in that it prevents from modifying too significantly the set R
- the second subset R comprises both timed requirements of the original set and new timed requirements.
- the set R may be defined as: wherein n is the number of timed requirements. Also, we assume that the set JZ is updated by modifying only a predetermined subset M of parameters of the set In such a case, an be the subset of requirements without any parameter in M, and [0082]
- the original set may correspond to e.g. the first subset R t (in which case RT-inconsistency is solved by adding one or more new timed requirements) or the set R (in which case RT-inconsistency may be solved by modifying some of the timed requirements of the set R).
- each new timed requirement may be initialized as a timed requirement trivial which denotes the SUP timed requirement that is trivially satisfied in which all Boolean parameters are T and all time parameters are 0.
- the subset M of parameters may be chosen to comprise all the parameters of each added timed requirement trivial.
- the subset M of parameters may be e.g. chosen arbitrarily.
- the subset M of parameters is chosen based on the witness trace used to initialize the set of constraints.
- the subset M of parameters comprises all the parameters P p that are involved in the proof of the RT-inconsistency of the set R.
- the correcting method 30 then comprises the following steps, which are iterated:
- R' R t U R! 2
- R'2 corresponding to the subset obtained by modifying the subset R 2
- the set R cannot be completely corrected. If an updated set R' is found that is both RT-consistent (i.e. no further witness trace found, reference S33a in figure 3) and that satisfies all the constraints in the set of constraints, then the correcting method 30 returns the updated set R' which is used to constrain and validate the operation of the target computer.
- the set of constraints is initialized and augmented based on (further) witness traces of the RT-inconsistency.
- the initializing S31 and augmenting S34 steps are similar, the main difference being that the set C ⁇ is empty before the initializing step S31.
- a new constraint f is added to the set of constraints. The added constraint f may depend on whether the witness trace demonstrates the RT-inconsistency of the first subset R 1 (i.e.
- the added constraint f may require that the modified second subset R' 2 of subsequent iterations prevents said (further) witness trace s to occur.
- the added constraint f may require that:
- said further witness trace s is not a witness trace of the RT- inconsistency of the updated set R ' of subsequent iterations.
- the set JZ may be initially vacuous, and the correcting method 30 may be used to try and correct this vacuity by modifying the second subset R
- Figure 4 represents the main steps of a preferred embodiment of the correcting method 30, in which an initial RT-inconsistency is to be corrected while simultaneously ensuring that the updated set R is not vacuous.
- the correcting method 30 comprises, in addition to the steps discussed in reference to figure 3, the following steps which are also iterated:
- the second subset R is similarly iteratively modified to produce an updated set R at each iteration.
- the execution of the correcting method 30 may stop.
- the partition of the timed requirements between the first and second subsets R 1 and R 2 may be modified to ensure the non- vacuity of the first subset R 1 , which comprises the timed requirements that are not to be modified.
- the correcting method 30 returns the updated set R' which is used to constrain and validate the operation of the target computer.
- the set of constraints may be further augmented based on any such triggering trace found for a vacuous timed requirement of the first subset R .
- a new constraint f is added to the set of constraints.
- the added constraint f requires that the modified second subset R 2 of subsequent iterations does not prevent said triggering trace s to occur.
- Such a constraint f ensures that the timed requirement associated to the triggering trace s is no longer vacuous in the updated set 31' of subsequent iterations.
- the second subset 3l 2 of timed requirements is modified to obtain an updated set 31' of timed requirements for which each constraint in the set of constraints is satisfied and for which all timed requirements in the modified second subset 31' 2 can be triggered when considering the updated set 31' of timed requirements. This ensures that, if a timed requirement of the updated set 31' is vacuous, then it is necessarily a timed requirement of the subset 3l .
- searching for a witness trace and/or a triggering trace and/or determining a modified second subset 31' 2 such that the updated set 31' satisfies the set of constraints uses a Satisfiability Modulo Theories, SMT, solver.
- SMT solvers are efficient in finding variable assignments satisfying given constraints. They prove very efficient in bounded model checking, which consists in checking traces of bounded length, and thus for searching for witness and/or triggering traces of bounded length.
- the correcting method 30 uses SMT solvers and that the traces considered (e.g. witness and/or triggering traces) are generalized traces.
- each Boolean parameter is a conjunctive formula and thus has the form where F x is a literal.
- each F x can have three values representing x, ⁇ x or true.
- the modification of the subset M is therefore performed by selecting one of the three values for each literal F x for x E AR, as well as values for the timing parameters in M n T t .
- the parameter F may be expressed as:
- R(M) the set of requirements obtained from R by replacing each parameter in M by conjunctive formulas where each literal is a fresh free variable as described above.
- a model for R(M ) defines a new set of timed requirements obtained from R by modifying parameters in the subset M.
- the SMT solver may return a generalized witness trace.
- Handling generalized traces is advantageous in that the correcting method 30 learns the new constraints with less iterations.
- the non-vacuity checking for a timed requirement may be performed by a bounded search for a trace that triggers R without violating 32.
- Non-vacuity checking may be performed in different ways, and we present below two different examples of checking non-vacuity.
- non-vacuity checking searches for a finite trace triggering R without violating Jl.
- Jl, R Jl, and a bound a > 0, we define nonva c(R, Jl) as:
- non-vacuity checking may check whether a timed requirement R can be triggered infinitely often.
- a timed requirement R For a given set of timed requirements J , R E Jl , and a > 0 , let c/Z denote a CDTA corresponding to Jl. Define nonva c ⁇ (R,Jl) as:
- non-vacuity formula nonvac ⁇ ( R , Jl) is true when there is a lasso-shaped execution satisfying Jl and triggering R infinitely often.
- non-vacuity formulas can be used depending on the context. It might be that some timed requirements are meant to be triggered only a finite number of times along an execution (e.g. for the initialization phase of the target computer system), while some others might be naturally required to be triggered infinitely often. Checking nonvac ⁇ is computationally more expensive in general for large sets of timed requirements since large bounds a need to be considered in order to find cycles in the joint state space (that is, in c Z).
- triggering traces demonstrate the non-vacuity of the set of timed requirements.
- Such a triggering trace is easy to compute since the satisfiability of nonvac is witnessed by such a triggering trace. If we use SMT solvers for non-vacuity checking, such triggering traces can be obtained directly.
- the first subset contains the timed requirements without any parameter in M
- the second subset R 2 is defined as denote the subset of SUP requirements in which the parameters in M are replaced with conjunctive formulas with a fresh free variable for each literal.
- the goal is to compute values for M and instantiate which modifies and replaces the second subset 2 1 2 corresponds to the updated set of timed requirements.
- R! 2 if s is not an RT-inconsistency witness trace in R then R! 2 must be such that s is rejected or that it admits some extension that satisfies R 1 U R' 2 , which may be encoded
- a vacuous timed requirement R is determined.
- the set of constraints is augmented based on whether or not the timed requirement R is also vacuous within 3l . If the subset is vacuous, this vacuity cannot be resolved. If the subset is not vacuous, then we determine a triggering trace s that triggers R while satisfying and we may add a ( ) to the set C ⁇ of constraints
- the updated set is non-vacuous, then we check the RT-consistency of If it is RT-consistent, then we return this updated set 3 Otherwise, we consider a witness trace s to the RT-inconsistency.
- the set C ⁇ of constraints is augmented based on whether the witness trace s demonstrates the RT-inconsistency of 3l , in which case we add the constraint r to the set of constraints. Otherwise, we add rej CT J? 2 ( ⁇ 0) to the set C ⁇ of constraints.
- the new timed requirements fixing the RT-inconsistency might be unsatisfactory if they excessively restrict the set of possible execution sequences that satisfy the updated set ⁇ .'.
- PPH11 Amalinda Post, Jochen Hoenicke, and Andreas Podelski. “RT -inconsistency: a new property for real-time requirements”. In Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering (FASE’ 11), volume 6603 of LNCS. Springer, 2011.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023557610A JP7536199B2 (en) | 2021-03-24 | 2021-11-30 | Method and system for modifying the operation of a target computer system by using time requirements |
| CN202180095994.8A CN116982032A (en) | 2021-03-24 | 2021-11-30 | Methods and systems for correcting the operation of a target computer system through the use of timing requirements |
| US18/276,359 US20240134771A1 (en) | 2021-03-24 | 2021-11-30 | Method and system for correcting operation of target computer system by using timed requirement |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP21305374.7 | 2021-03-24 | ||
| EP21305374.7A EP4064057B1 (en) | 2021-03-24 | 2021-03-24 | Method and system for correcting the operation of a target computer system by using timed requirements |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022201647A1 true WO2022201647A1 (en) | 2022-09-29 |
Family
ID=75529917
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/044605 Ceased WO2022201647A1 (en) | 2021-03-24 | 2021-11-30 | Method and system for correcting operation of target computer system by using timed requirement |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20240134771A1 (en) |
| EP (1) | EP4064057B1 (en) |
| JP (1) | JP7536199B2 (en) |
| CN (1) | CN116982032A (en) |
| WO (1) | WO2022201647A1 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8595264B2 (en) * | 2011-06-30 | 2013-11-26 | Bm Software, Inc. | Event processing based on meta-relationship definition |
| JP2015087880A (en) * | 2013-10-29 | 2015-05-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method for detecting mismatching of time constraint in sequence diagram |
| JP7177349B2 (en) * | 2019-02-08 | 2022-11-24 | 富士通株式会社 | Scheduling program, scheduling device and scheduling method |
-
2021
- 2021-03-24 EP EP21305374.7A patent/EP4064057B1/en active Active
- 2021-11-30 US US18/276,359 patent/US20240134771A1/en active Pending
- 2021-11-30 JP JP2023557610A patent/JP7536199B2/en active Active
- 2021-11-30 WO PCT/JP2021/044605 patent/WO2022201647A1/en not_active Ceased
- 2021-11-30 CN CN202180095994.8A patent/CN116982032A/en active Pending
Non-Patent Citations (6)
| Title |
|---|
| AMALINDA POSTJOCHEN HOENICKEANDREAS PODELSKI: "Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering (FASE' 11", vol. 6603, 2011, SPRINGER, article "RT-inconsistency: a new property for real-time requirements" |
| JAN STEFFEN BECKER: "Analyzing consistency of formal requirements", PROCEEDINGS OF THE 18TH INTERNATIONAL WORKSHOP ON AUTOMATED VERIFICATION OF CRITICAL SYSTEMS (AVOCS'18). EASST, 2019 |
| JÉRON T., MARKEY N., MENTRÉ D., NOGUCHI R., SANKUR O.: "Incremental Methods for Checking Real-Time Consistency", 25 August 2020, ADVANCES IN INTELLIGENT DATA ANALYSIS XIX; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], PAGE(S) 249 - 264, ISBN: 978-3-030-57628-8, ISSN: 0302-9743, XP047587727, DOI: https://doi.org/10.1007/978-3-030-57628-8_15 * |
| POST AMALINDA ET AL: "Formalization and Analysis of Real-Time Requirements: A Feasibility Study at BOSCH", 28 January 2012, ICIAP: INTERNATIONAL CONFERENCE ON IMAGE ANALYSIS AND PROCESSING, 17TH INTERNATIONAL CONFERENCE, NAPLES, ITALY, SEPTEMBER 9-13, 2013. PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 225 - 2, ISBN: 978-3-642-17318-9, XP047371198 * |
| POST AMALINDA ET AL: "rt-Inconsistency: A New Property for Real-Time Requirements", 26 March 2011, ICIAP: INTERNATIONAL CONFERENCE ON IMAGE ANALYSIS AND PROCESSING, 17TH INTERNATIONAL CONFERENCE, NAPLES, ITALY, SEPTEMBER 9-13, 2013. PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 34 - 49, ISBN: 978-3-642-17318-9, XP047432027 * |
| RAJEEV ALURDAVID L. DILL: "Proceedings of the 17th International Colloquium on Automata, Languages and Programming (ICALP'90", vol. 443, 1990, SPRINGER, article "Automata for modeling real-time systems", pages: 322 - 335 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116982032A (en) | 2023-10-31 |
| JP7536199B2 (en) | 2024-08-19 |
| EP4064057A1 (en) | 2022-09-28 |
| JP2023552247A (en) | 2023-12-14 |
| US20240134771A1 (en) | 2024-04-25 |
| EP4064057B1 (en) | 2023-07-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Cousot et al. | Refining model checking by abstract interpretation | |
| Hegedüs et al. | A model-driven framework for guided design space exploration | |
| Esparza et al. | Model checking LTL with regular valuations for pushdown systems | |
| KR102235001B1 (en) | Method for securing a program | |
| Bertrand et al. | A game approach to determinize timed automata | |
| Grumberg et al. | Proof-guided underapproximation-widening for multi-process systems | |
| Ráth et al. | Live model transformations driven by incremental pattern matching | |
| Wolf | How petri net theory serves petri net model checking: a survey | |
| Becker | Analyzing consistency of formal requirements | |
| CN115398358A (en) | Method for analyzing a programmable logic controller program | |
| Abdulla et al. | Forward reachability analysis of timed Petri nets | |
| WO2022201647A1 (en) | Method and system for correcting operation of target computer system by using timed requirement | |
| US7730436B2 (en) | Verification using simultaneous and inductive SAT algorithms | |
| Schneider et al. | A logic-based incremental approach to graph repair featuring delta preservation | |
| Jéron et al. | Incremental methods for checking real-time consistency | |
| Yamamoto et al. | Formalization of karp-miller tree construction on petri nets | |
| EP3907615B1 (en) | Method and system for testing the operation of a target computer system by using timed requirements | |
| Helke et al. | Verification of statecharts using data abstraction | |
| Julliand et al. | Generating tests from B specifications and dynamic selection criteria | |
| Dong et al. | Accelerating CAR-Based Model-Checking with Multiple Unsatisfiable Cores | |
| Holík et al. | Abstraction refinement and antichains for trace inclusion of infinite state systems | |
| Vilas et al. | Extending timed automaton and real-time logic to many-valued reasoning | |
| Jia et al. | Parameterized Reachability Graph for Software Model Checking Based on PDNet. | |
| Swords | Incremental SAT Library Integration Using Abstract Stobjs | |
| Grumberg et al. | SAT-based Model Checking: Interpolation, IC3, and Beyond. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21830800 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023557610 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18276359 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202180095994.8 Country of ref document: CN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21830800 Country of ref document: EP Kind code of ref document: A1 |



























