49 research outputs found

    Structural Synthesis for GXW Specifications

    Full text link
    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-спСцификации

    Get PDF
    The article is devoted to the approach to constructing and verification of discrete PLC-programsΒ by LTL-specification. 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 specification ofΒ the program behavior. The correctness analysis of LTL-specification is automatically performed by theΒ symbolic model checking tool Cadence SMV.Β The article demonstrates the consistency of the approach to constructing and verification of PLCΒ programs by LTL-specification 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-specification, 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 specific 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-спСцификация счётчиковых машин

    Get PDF
    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, Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ счётчиковыС ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Минского. Π‘Ρ‡Ρ‘Ρ‚Ρ‡ΠΈΠΊΠΎΠ²Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Минского β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ понятия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Они ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π°. Бчётчиковая машина ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° языкС высокого уровня, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ содСрТит ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ счётчиками, ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ условного ΠΈ бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ конструкции Ρ†ΠΈΠΊΠ»ΠΎΠ². Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ любой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (гипотСтичСски) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ трёхсчётчиковой ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Минского

    A Review of Rule Learning Based Intrusion Detection Systems and Their Prospects in Smart Grids

    Get PDF

    Bringing Model Checking Closer To Practical Software Engineering

    Get PDF
    Bal, H.E. [Promotor]Templon, J.A. [Copromotor]Willemse, T.A.C. [Copromotor

    Software Verification for Programmable Logic Controllers

    Get PDF
    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

    Get PDF
    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
    corecore