49 research outputs found
Structural Synthesis for GXW Specifications
We define the GXW fragment of linear temporal logic (LTL) as the basis for
synthesizing embedded control software for safety-critical applications. Since
GXW includes the use of a weak-until operator we are able to specify a number
of diverse programmable logic control (PLC) problems, which we have compiled
from industrial training sets. For GXW controller specifications, we develop a
novel approach for synthesizing a set of synchronously communicating
actor-based controllers. This synthesis algorithm proceeds by means of
recursing over the structure of GXW specifications, and generates a set of
dedicated and synchronously communicating sub-controllers according to the
formula structure. In a subsequent step, 2QBF constraint solving identifies and
tries to resolve potential conflicts between individual GXW specifications.
This structural approach to GXW synthesis supports traceability between
requirements and the generated control code as mandated by certification
regimes for safety-critical software. Synthesis for GXW specifications is in
PSPACE compared to 2EXPTIME-completeness of full-fledged LTL synthesis. Indeed
our experimental results suggest that GXW synthesis scales well to
industrial-sized control synthesis problems with 20 input and output ports and
beyond.Comment: The long (including appendix) version being reviewed by CAV'16
program committee. Compared to the submitted version, one author (out of her
wish) is moved to the Acknowledgement. (v2) Corrected typos. (v3) Add an
additional remark over environment assumption and easy corner case
Π Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΠΠ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎ LTL-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
The article is devoted to the approach to constructing and veriο¬cation of discrete PLC-programsΒ by LTL-speciο¬cation. This approach provides an ability of correctness analysis of PLC-programs byΒ the model checking method. The linear temporal logic LTL is used as a language of speciο¬cation ofΒ the program behavior. The correctness analysis of LTL-speciο¬cation is automatically performed by theΒ symbolic model checking tool Cadence SMV.Β The article demonstrates the consistency of the approach to constructing and veriο¬cation of PLCΒ programs by LTL-speciο¬cation from the point of view of Turing power. It is proved, that in accordanceΒ with this approach for any Minsky counter machine can be built an LTL-speciο¬cation, which is used forΒ machine implementation in any PLC programming language of standard IEC 61131-3. Minsky machinesΒ equipollent Turing machines, and the considered approach also has Turing power.Β The proof focuses on representation of a counter machine behavior in the form of a set of LTL-formulas and matching these formulas to constructions of ST and SFC languages. SFC is interestingΒ as a speciο¬c graphical language. ST is considered as a basic language because an implementation of aΒ counter machine in IL, FBD/CFC and LD languages is reduced to rewriting blocks of ST-program.Β The idea of the proof is demonstrated by an example of a Minsky 3-counter machine, which implements a function of squaring.Π‘ΡΠ°ΡΡΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Ρ ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Β«Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ
Β» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² (ΠΠΠ) ΠΏΠΎ LTL-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π½Π°Π»ΠΈΠ·Π°Β ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ (ModelΒ Checking). Π ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊ ΡΠ΅ΠΌΠΏΠΎΡΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ LTL. ΠΠ½Π°Π»ΠΈΠ· ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ LTL-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΒ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ
ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Cadence SMV.Β Π ΡΡΠ°ΡΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΠΠ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎ LTL-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠΈΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΡΡΡΠΈΠΊΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΈΠ½ΡΠΊΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π°Β LTL-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ²Β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠΠ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΠΠΠ 61131-3. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΡΡΠΈΠΊΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΈΠ½ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π²Π½ΠΎΠΌΠΎΡΠ½Ρ ΠΌΠ°ΡΠΈΠ½Π°ΠΌ Π’ΡΡΡΠΈΠ½Π³Π°, ΡΠΎ ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΠΠ Π±ΡΠ΄Π΅ΡΒ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΡΡΡΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΡΡ.Β Π Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΡΡΡΠΈΠΊΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π² Π²ΠΈΠ΄Π΅Β Π½Π°Π±ΠΎΡΠ° LTL-ΡΠΎΡΠΌΡΠ» ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΈΠΌ ΡΠΎΡΠΌΡΠ»Π°ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠΎΠ² ST ΠΈ SFC. SFC ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π° ΡΠ·ΡΠΊ ST ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡΒ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π² ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΡΡΠΈΠΊΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π½Π° ΡΠ·ΡΠΊΠ°Ρ
IL, FBD/CFCΒ ΠΈ LD ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π½ΠΈΡ
ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ST-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.Β ΠΠ΄Π΅Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ΅Ρ
ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΈΠ½ΡΠΊΠΎΠ³ΠΎ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ
LTL-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΡΡΠΈΠΊΠΎΠ²ΡΡ ΠΌΠ°ΡΠΈΠ½
The article is written in support of the educational discipline βNon-classical logicsβ. Within the framework of this discipline, the objects of study are the basic principles and constructive elements, with the help of which the formal construction of various non-classical propositional logics takes place. Despite the abstractness of the theory of non-classical logics, in which the main attention is paid to the strict mathematical formalization of logical reasoning, there are real practical areas of application of theoretical results. In particular, languages of temporal modal logics are widely used for modeling, specification, and verification (correctness analysis) of logic control program systems. This article demonstrates, using the linear temporal logic LTL as an example, how abstract concepts of non-classical logics can be reΖected in practice in the field of information technology and programming. We show the possibility of representing the behavior of a software system in the form of a set of LTL-formulas and using this representation to verify the satisfiability of program system properties through the procedure of proving the validity of logical inferences, expressed in terms of the linear temporal logic LTL. As program systems, for the specification of the behavior of which the LTL logic will be applied, Minsky counter machines are considered. Minsky counter machines are one of the ways to formalize the intuitive concept of an algorithm. They have the same computing power as Turing machines. A counter machine has the form of a computer program written in a high-level language, since it contains variables called counters, and conditional and unconditional jump operators that allow to build loop constructions. It is known that any algorithm (hypothetically) can be implemented in the form of a Minsky three-counter machine.Π‘ΡΠ°ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ΅Π±Π½ΠΎΠΉ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ βΠΠ΅ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈβ. Π ΡΠ°ΠΌΠΊΠ°Ρ
ΡΡΠΎΠΉ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π½Π΅ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π»ΠΎΠ³ΠΈΠΊ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΠΉ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΎΡΠΈΠΈ Π½Π΅ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π»ΠΎΠ³ΠΈΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠ³ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ·ΡΠΊΠΈ ΡΠ΅ΠΌΠΏΠΎΡΠ°Π»ΡΠ½ΡΡ
ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΡ
Π»ΠΎΠ³ΠΈΠΊ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΏΠΎΡΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ LTL Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π»ΠΎΠ³ΠΈΠΊ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡΠ° LTL-ΡΠΎΡΠΌΡΠ» ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ
ΡΠ²ΠΎΠΉΡΡΠ² ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π° ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΠ²ΠΎΠ΄ΠΎΠ², Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΡ
Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ
Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΏΠΎΡΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ LTL. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° LTL, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΡΡΡΡΠΈΠΊΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΈΠ½ΡΠΊΠΎΠ³ΠΎ. Π‘ΡΡΡΡΠΈΠΊΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΈΠ½ΡΠΊΠΎΠ³ΠΎ β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΎΠΉ ΠΆΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΡΡ, ΡΡΠΎ ΠΈ ΠΌΠ°ΡΠΈΠ½Ρ Π’ΡΡΡΠΈΠ½Π³Π°. Π‘ΡΡΡΡΠΈΠΊΠΎΠ²Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΡΡΡΡΠΈΠΊΠ°ΠΌΠΈ, ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΈΠΊΠ»ΠΎΠ². ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ (Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΡ
ΡΡΡΡΡΠΈΠΊΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΠΈΠ½ΡΠΊΠΎΠ³ΠΎ
Bringing Model Checking Closer To Practical Software Engineering
Bal, H.E. [Promotor]Templon, J.A. [Copromotor]Willemse, T.A.C. [Copromotor
Software Verification for Programmable Logic Controllers
Programmable logic controllers (PLCs) occupy a big share in automation control. Their programming languages are, however, born out of historical needs and do not comply to state-of-the art programming concepts. Moreover, programming is mostly undertaken by the designers of the control systems. In sum this adds to the creation of erroneous software and, even more, unsafe control systems. In this work we focus on the software verification aspects for PLCs. For two selected programming languages, Sequential Function Charts (SFC) and Instruction List (IL) we discuss semantic issues as well as verification approaches. For SFCs we develop a model checking framework while for IL we suggest static analysis techniques, i.e., a combination of data flow analysis and abstract interpretation. Several case studies corrobate our approach
Programming Robots for Activities of Everyday Life
Text-based programming remains a challenge to novice programmers in\ua0all programming domains including robotics. The use of robots is gainingconsiderable traction in several domains since robots are capable of assisting\ua0humans in repetitive and hazardous tasks. In the near future, robots willbe used in tasks of everyday life in homes, hotels, airports, museums, etc.\ua0However, robotic missions have been either predefined or programmed usinglow-level APIs, making mission specification task-specific and error-prone.\ua0To harness the full potential of robots, it must be possible to define missionsfor specific applications domains as needed. The specification of missions of\ua0robotic applications should be performed via easy-to-use, accessible ways, and\ua0at the same time, be accurate, and unambiguous. Simplicity and flexibility in\ua0programming such robots are important, since end-users come from diverse\ua0domains, not necessarily with suffcient programming knowledge.The main objective of this licentiate thesis is to empirically understand the\ua0state-of-the-art in languages and tools used for specifying robot missions byend-users. The findings will form the basis for interventions in developing\ua0future languages for end-user robot programming.During the empirical study, DSLs for robot mission specification were\ua0analyzed through published literature, their websites, user manuals, samplemissions and using the languages to specify missions for supported robots.After extracting data from 30 environments, 133 features were identified.\ua0A feature matrix mapping the features to the environments was developedwith a feature model for robotic mission specification DSLs.Our results show that most end-user facing environments exist in the\ua0education domain for teaching novice programmers and STEM subjects. Mostof the visual languages are developed using Blockly and Scratch libraries.\ua0The end-user domain abstraction needs more work since most of the visualenvironments abstract robotic and programming language concepts but not\ua0end-user concepts. In future works, it is important to focus on the development\ua0of reusable libraries for end-user concepts; and further, explore how end-user\ua0facing environments can be adapted for novice programmers to learn\ua0general programming skills and robot programming in low resource settings\ua0in developing countries, like Uganda