210 research outputs found

    На ΠΏΡƒΡ‚ΠΈ ΠΊ автоматичСской Π΄Π΅Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ C-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с Sisal-Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ Π² систСмС C-lightVer

    Get PDF
    The C-lightVer system is developed in IIS SB RAS for C-program deductive verification. C-kernel is an intermediate verification language in this system. Cloud parallel programming system (CPPS) is also developed in IIS SB RAS. Cloud Sisal is an input language of CPPS. The main feature of CPPS is implicit parallel execution based on automatic parallelization of Cloud Sisal loops. Cloud-Sisal-kernel is an intermediate verification language in the CPPS system. Our goal is automatic parallelization of such a superset of C that allows implementing automatic verification. Our solution is such a superset of C-kernel as C-Sisal-kernel. The first result presented in this paper is an extension of C-kernel by Cloud-Sisal-kernel loops. We have obtained the C-Sisal-kernel language. The second result is an extension of C-kernel axiomatic semantics by inference rule for Cloud-Sisal-kernel loops. The paper also presents our approach to the problem of deductive verification automation in the case of finite iterations over data structures. This kind of loops is referred to as definite iterations. Our solution is a composition of symbolic method of verification of definite iterations, verification condition metageneration and mixed axiomatic semantics method. Symbolic method of verification of definite iterations allows defining inference rules for these loops without invariants. Symbolic replacement of definite iterations by recursive functions is the base of this method. Obtained verification conditions with applications of recursive functions correspond to logical base of ACL2 prover. We use ACL2 system based on computable recursive functions. Verification condition metageneration allows simplifying implementation of new inference rules in a verification system. The use of mixed axiomatic semantics results to simpler verification conditions in some cases.Π’ Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚Π΅ систСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ БО РАН разрабатываСтся систСма C-lightVer для Π΄Π΅Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ C-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. C-kernel являСтся ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ языком Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ систСмС. БистСма ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования (CPPS) Ρ‚Π°ΠΊΠΆΠ΅ разрабатываСтся Π² Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚Π΅ систСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ БО РАН. Cloud Sisal являСтся Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ языком систСмы CPPS. Π“Π»Π°Π²Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ систСмы CPPS являСтся нСявноС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ исполнСниС, основанноС Π½Π° автоматичСском распараллСливании Ρ†ΠΈΠΊΠ»ΠΎΠ² Cloud Sisal. Cloud-Sisal-kernel являСтся ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ языком Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² систСмС CPPS. НашСй Ρ†Π΅Π»ΡŒΡŽ являСтся автоматичСскоС распараллСливаниС Ρ‚Π°ΠΊΠΎΠ³ΠΎ надмноТСства языка C, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. Нашим Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ являСтся Ρ‚Π°ΠΊΠΎΠ΅ надмноТСство языка C-kernel, ΠΊΠ°ΠΊ язык C-Sisal-kernel. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ, прСдставлСнным Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ языка C-kernel Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ языка Cloud-Sisal-kernel. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ язык C-Sisal-kernel. Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ, прСдставлСнным Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ аксиоматичСской сСмантики языка C-kernel ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° для Ρ†ΠΈΠΊΠ»ΠΎΠ² языка Cloud-Sisal-kernel. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ прСдставлСн наш ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π΅Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² случаС Ρ„ΠΈΠ½ΠΈΡ‚Π½Ρ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ структурами Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„ΠΈΠ½ΠΈΡ‚Π½Ρ‹ΠΌΠΈ итСрациями. Нашим Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ являСтся композиция символичСского ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„ΠΈΠ½ΠΈΡ‚Π½Ρ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΌΠ΅Ρ‚Π°Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ условий коррСктности ΠΈ смСшанной аксиоматичСской сСмантики. БимволичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„ΠΈΠ½ΠΈΡ‚Π½Ρ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ позволяСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹Π²ΠΎΠ΄Π° для Ρ‚Π°ΠΊΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π±Π΅Π· ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². БимволичСская Π·Π°ΠΌΠ΅Π½Π° Ρ„ΠΈΠ½ΠΈΡ‚Π½Ρ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ рСкурсивными функциями являСтся основой Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ условия коррСктности с примСнСниями рСкурсивных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ логичСской основС систСмы Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ACL2. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ систСму ACL2, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° вычислимых рСкурсивных функциях. ΠœΠ΅Ρ‚Π°Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡ условий коррСктности позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» Π²Ρ‹Π²ΠΎΠ΄Π° Π² систСмС Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ИспользованиС смСшанной аксиоматичСской сСмантики ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΊ Π±ΠΎΠ»Π΅Π΅ простым условиям коррСктности

    ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ систСмы C-lightVer ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ошибок Π² C-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…

    Get PDF
    The C-lightVer system for the deductive verification of C programs is being developed at the IIS SB RAS. Based on the two-level architecture of the system, the C-light input language is translated into the intermediate C-kernel language. The meta generator of the correctness conditions receives the C-kernel program and Hoare logic for the C-kernel as input. To solve the well-known problem of determining loop invariants, the definite iteration approach was chosen. The body of the definite iteration loop is executed once for each element of the finite dimensional data structure, and the inference rule for them uses the substitution operation rep, which represents the action of the cycle in symbolic form. Also, in our meta generator, the method of semantic markup of correctness conditions has been implemented and expanded. It allows to generate explanations for unproven conditions and simplifies the errors localization. Finally, if the theorem prover fails to determine the truth of the condition, we can focus on proving its falsity. Thus a method of proving the falsity of the correctness conditions in the ACL2 system was developed. The need for more detailed explanations of the correctness conditions containing the replacement operation rep has led to a change of the algorithms for generating the replacement operation, and the generation of explanations for unproven correctness conditions. Modifications of these algorithms are presented in the article. They allow marking rep definition with semantic labels, extracting semantic labels from rep definition and generating description of break execution condition.Π’ ИБИ БО РАН разрабатываСтся систСма C-lightVer для Π΄Π΅Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ систСмы, Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ язык C-light транслируСтся Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык C-kernel. ΠœΠ΅Ρ‚Π°Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ условий коррСктности ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ C-kernel ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ Π₯ΠΎΠ°Ρ€Π° для C-kernel. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ извСстной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ задания ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ„ΠΈΠ½ΠΈΡ‚Π½Ρ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ„ΠΈΠ½ΠΈΡ‚Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ исполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ размСрности, Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° для Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π·Π°ΠΌΠ΅Π½Ρ‹ rep, Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‰ΡƒΡŽ дСйствиС Ρ†ΠΈΠΊΠ»Π° Π² символичСской Ρ„ΠΎΡ€ΠΌΠ΅. Π’Π°ΠΊΠΆΠ΅ Π² нашСм ΠΌΠ΅Ρ‚Π°Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ сСмантичСской Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ условий коррСктности. Он позволяСт ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ пояснСния для Π½Π΅Π΄ΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… условий ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ошибок. НаконСц, Ссли систСма ACL2 Π½Π΅ справляСтся с установлСниСм истинности условия, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅ Π΅Π³ΠΎ лоТности. Π Π°Π½Π΅Π΅ Π½Π°ΠΌΠΈ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ способ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° лоТности условий коррСктности для систСмы ACL2. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠ±ΡŠΡΡΠ½Π΅Π½ΠΈΡΡ… условий коррСктности, содСрТащих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π·Π°ΠΌΠ΅Π½Ρ‹ rep, ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ измСнСнию Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹, извлСчСния сСмантичСских ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ объяснСний Π½Π΅Π΄ΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… условий коррСктности. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ прСдставлСны ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π­Ρ‚ΠΈ измСнСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ rep сСмантичСскими ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ сСмантичСскиС ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΠ· опрСдСлСния rep, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ описаниС условия исполнСния инструкции break

    Algebraic Stream Processing

    Get PDF
    We identify and analyse the typically higher-order approaches to stream processing in the literature. From this analysis we motivate an alternative approach to the specification of SPSs as STs based on an essentially first-order equational representation. This technique is called Cartesian form specification. More specifically, while STs are properly second-order objects we show that using Cartesian forms, the second-order models needed to formalise STs are so weak that we may use and develop well-understood first-order methods from computability theory and mathematical logic to reason about their properties. Indeed, we show that by specifying STs equationally in Cartesian form as primitive recursive functions we have the basis of a new, general purpose and mathematically sound theory of stream processing that emphasises the formal specification and formal verification of STs. The main topics that we address in the development of this theory are as follows. We present a theoretically well-founded general purpose stream processing language ASTRAL (Algebraic Stream TRAnsformer Language) that supports the use of modular specification techniques for full second-order STs. We show how ASTRAL specifications can be given a Cartesian form semantics using the language PREQ that is an equational characterisation of the primitive recursive functions. In more detail, we show that by compiling ASTRAL specifications into an equivalent Cartesian form in PREQ we can use first-order equational logic with induction as a logical calculus to reason about STs. In particular, using this calculus we identify a syntactic class of correctness statements for which the verification of ASTRAL programmes is decidable relative to this calculus. We define an effective algorithm based on term re-writing techniques to implement this calculus and hence to automatically verify a very broad class of STs including conventional hardware devices. Finally, we analyse the properties of this abstract algorithm as a proof assistant and discuss various techniques that have been adopted to develop software tools based on this algorithm

    Fiber-Reinforced Plastics

    Get PDF
    This book deepens the study and knowledge on fiber-reinforced plastics (FRPs), which are composite materials made of a polymer matrix reinforced with fibers. The fibers are usually glass, carbon, or aramid, although other fibers such as paper, wood, or asbestos are sometimes used. The polymer is usually an epoxy, vinyl ester, or polyester thermosetting plastic, and phenol-formaldehyde resins are still in use. Among, the most prominent applications of FRPs are in the aerospace, automotive, marine, and construction industries. The development of FRPs has a very promising future with a marked annual increase and with a wide range of sources. This book presents comprehensive information on FRPs and their wide variety of applications in the industry worldwide

    Use of proofs-as-programs to build an anology-based functional program editor

    Get PDF
    This thesis presents a novel application of the technique known as proofs-as-programs. Proofs-as-programs defines a correspondence between proofs in a constructive logic and functional programs. By using this correspondence, a functional program may be represented directly as the proof of a specification and so the program may be analysed within this proof framework. CΚΈNTHIA is a program editor for the functional language ML which uses proofs-as-programs to analyse users' programs as they are written. So that the user requires no knowledge of proof theory, the underlying proof representation is completely hidden. The proof framework allows programs written in CΚΈNTHIA to be checked to be syntactically correct, well-typed, well-defined and terminating. CΚΈNTHIA also embodies the idea of programming by analogy β€” rather than starting from scratch, users always begin with an existing function definition. They then apply a sequence of high-level editing commands which transform this starting definition into the one required. These commands preserve correctness and also increase programming efficiency by automating commonly occurring steps. The design and implementation of CΚΈNTHIA is described and its role as a novice programming environment is investigated. Use by experts is possible but only a sub-set of ML is currently supported. Two major trials of CΚΈNTHIA have shown that CΚΈNTHIA is well-suited as a teaching tool. Users of CΚΈNTHIA make fewer programming errors and the feedback facilities of CΚΈNTHIA mean that it is easier to track down the source of errors when they do occur

    Aerospace medicine and biology: A continuing bibliography with indexes (supplement 407)

    Get PDF
    This bibliography lists 289 reports, articles and other documents announced in the NASA Scientific and Technical Information System during Nov. 1995. Subject coverage includes: aerospace medicine and physiology, life support systems and man/system technology, protective clothing, exobiology and extraterrestrial life, planetary biology, and flight crew behavior and performance

    First Annual Workshop on Space Operations Automation and Robotics (SOAR 87)

    Get PDF
    Several topics relative to automation and robotics technology are discussed. Automation of checkout, ground support, and logistics; automated software development; man-machine interfaces; neural networks; systems engineering and distributed/parallel processing architectures; and artificial intelligence/expert systems are among the topics covered
    • …
    corecore