Next: 2.4 Interests in component-based
Up: 2 Position
Previous: 2.2 Problem
To mark explicit determinism, we introduce a new special predicate represented by the := operator. The := predicate is used in [GDM97]. The set of atomic logical formulae made on this predicate is a subset of the set of atomic logical formulae made on equality predicate.
The := predicate does not specify all determinism of a logical formula (for example is deterministic in the set of natural integers). This predicate can be introduced in every logical formalism but some constraints are imposed. For example, the formula :
x'+y':=4 | (4) |
Constraints on the := predicate can be separated into two categories :
The := predicate is represented by a symbol often used to define assignment in many programmation languages. In the case of simulation, we decide to consider this predicate as an assignment. In the first place, we define a direction of evaluation of an atomic formula based on the := predicate. We assign the right operand to the left operand. In the second place, only decorated variables can be modified, so the left operand is composed of exactly one decorated variable.
Finally, let's take the example of the formula :
x':=y'+2 | (5) |
We summarize the syntax of an atomic formula based on the := predicate by these generic formulae :
where not any decorated variables appear in any pi.
The and connectors are by definition non-deterministic, so an atomic formula based on the := predicate cannot be an operand of these connectors. On the contrary, the connector is by definition deterministic, so an atomic formula based on the := predicate can be an operand of this connector. Some examples :
The last formula is declared valid by the determinism evaluation. Logical evaluation of this formula is false.
An universally quantified formula can be deterministic, so an atomic formula based on the := predicate can be in the scope of an universally quantified formula. To achieve this, the iterative set related to the universally quantified formula must be known, i.e. no decorated variable occurrence is referenced in this iterative set. For example, a valid universally quantified formula and containing an atomic formula based on the := predicate is :
(6) |
In contrast to an universally quantified formula, an existentially quantified formula is not deterministic. Such formula can be evaluate to true for one or many values defined in its iterative set. A possible choice between these values enforces no determinism of an existentially quantified formula. The formula :
(7) |
An atomic formula based on the := predicate can be referenced in THEN and ELSE branches of a conditional operator if the condition of the formula based on the conditional operator is known, i.e. no decorated variable occurrence is referenced in this condition. For instance, this formula :
(8) |
Our approach is practical, so the constraints that we define in this sub section are very restrictive. This restrictive choice permits a syntactic solution to determine whether a formula is deterministic, i.e. we do not use semantic properties to determine if a formula is deterministic but merely a syntactic algorithm which determines if a formula is deterministic.
Alain Cougoulic