Computer-Aided Arutluskäik: ACL2 juhtumiuuringud

link: http://www.cs.utexas.edu/users/moore/publications/acl2-books/acs/index.html

Matt Kaufmann, Panagiotis Manolios, and J Strother Moore (eds.), Kluwer Academic Publishers, June, 2000. (ISBN 0-7923-7849-0)

Kirjeldus

See raamat näitab, kuidas computer-aided mõtlemise süsteem ACL2 saab kasutada produktiivne ja innovatiivseid viise, kuidas kavandada, ehitada ja hooldada riist-ja tarkvara süsteemid. Siia on tehnilised paberid kirjutanud kakskümmend üks vastajad aruanne kompaktsed juhtumiuuringud, millest mõned on `desinfitseeritakse“ tööstuse projekte. Nad tegelevad mitmesuguseid ideid, sealhulgas floating-point), aritmeetika, mikroprotsessor simulatsioon, mudeli kontrollimine, sümboolne trajektoori hindamine, koostamine, tõendi kontrollimise, real analüüs, ja mitmed teised.
Raamat on mõeldud kahele publikule: neile, kes otsivad uuenduslikke viise, et kavandada, ehitada ja hooldada riist-ja tarkvara, süsteemide kiiremini ja usaldusväärsemalt, ja need, kes soovivad õppida, kuidas seda teha. Endine publik sisaldab projekti juhid ja õpilased uuringu orienteeritud kursused. Viimane publik hõlmab õpilastele ja spetsialistid jälitavad ranget lähenemist riist-ja tarkvara, inseneri-või formaalseid meetodeid. Raamatut saab kasutada magistri-ja ülem-osakonna bakalaureuse kursuste kohta Software Engineering, Formaalsed Meetodid, Riistvara Disain, Teooria ja Arvutus, tehisintellekti, ja Automatiseeritud Põhjendused.

Raamat on jagatud kaheks osaks. I osa algab aruteludega ACL2 kasutamise kohta. Samuti sisaldab see lühitutvustust ACL2 loogikast ja selle mehhaniseerimisest, mille eesmärk on anda lugejale piisav taust juhtumiuuringute lugemiseks. ACL2 põhjalikum õpikute sissejuhatus võib leida kaaslaskirjast “ Arvutipõhine põhjendus: lähenemine“ .

ACL2 on täiustatud ja laiendatud versioon „Boyer-Moore’i teoreemide loendurist“, „Nqthm“, mis on kohandatud ühise Lisp rakenduskavaga. Edasinejad Kaufmann ja Moore on ACL2 süsteemi autorid. (Bob Boyer tegi märkimisväärse varase sissemakse ka ACL2-le.) ACL2 võib saada tasuta ACL2 kodulehe GNU Üldise Avaliku Litsentsi tingimuste alusel , mis hõlmab mitte ainult lähtekoodi ja ulatuslikke hüperteksti dokumente, vaid ka palju dokumente ACL2 ja selle rakendused, süsteemi juhendatud ekskursioonid ja meililisti.

Raamatu süda on II osa, kus on esitatud juhtumiuuringud. Juhtumiuuringud hõlmavad mitmesuguseid rakendusi (nt ujukomplekti aritmeetikat, riistvarakirjelduse keeli ja sümboolse trajektoori analüüsi) tarkvara (nt graafi otsimine, kompileerimine ja mudeli kontrollimise algoritm) ja veelgi kaugemale (arvuteooria ja reaalne analüüs). Kõik on tehtud ühes mehhaaniliselt toetatud matemaatilises raamistikus: ACL2.

Iga juhtumiuuringu täielik lahendus on saadaval siin. Näiteks kui me ütleme, et üks juhtumiuuringud vormistab ujukoma koefitsiendi ja see osutub õigeks, tähendab see seda, et saate mitte ainult lugeda mudeli ingliskeelset kirjeldust ja seda, kuidas see oli õigesti tõendatud, kuid võite kogu projekti ametlik sisu ja soovi korral uuesti tõendeid oma ACL2 koopiaga. Seega on see raamat alles algus. Kui soovite tõesti teada, kuidas ujukoma koefitsient või kompilaator on õige, lugege artikleid ja seejärel skripte ja paljundage tõendeid. Seejärel muutke neid ja proovige.

Juhtumiuuringud sisaldavad harjutusi, mille lahendused on veebis. Lisaks sellele on veebi jaoks veebil täielikud ACL2-skriptid, mis on vajalikud vormide vormistamiseks ja kõikide loetletud omaduste tõendamiseks. Kui soovite juhtida konkreetse projekti teostamiseks kasutatud tehnikaid, siis tehke õppetükke, mis on sarnased teie projektiga.

Kaasautorid

Selle mahu osavõtjad on loetletud allpool koos nende seostega töö ajal.

Piergiorgio Bertoli IRST – Istituto per Ricerca
Scientifica e Tecnologica
Povo, Itaalia
Dominique Borrione TIMA-UJF
Grenoble, Prantsusmaa
John Cowles Arvutiteaduskond
Wyomingi Ülikool
Laramie, Wyoming
Arthur Flatau Advanced Micro Devices, Inc.
Austin, Texas
Ruben Gamboa Logical Information Machines, Inc.
Austin, Texas
Philippe Georgelin TIMA-UJF
Grenoble, Prantsusmaa
Wolfgang Goerigk Institut für Informatik und
Praktische Mathematik
Christian-Albrechts-Universitat zu Kiel
Kiel, Saksamaa
David Greve Rockwell Collins
täiustatud tehnoloogiakeskus
Cedar Rapids, Iowa
David Hardin Ajile Systems, Inc.,
Oakdale, Iowa
Warren A. Hunt, Jr. IBM Austini uurimislabor
Austin, Texas
Damir A. Jamsek IBM Austini uurimislabor
Austin, Texas
Matt Kaufmann Advanced Micro Devices, Inc.
Austin, Texas
Panagiotis Manolios Teadustehnikateaduste osakond
Austin
Austinis, Texas
William McCune Matemaatika ja infotehnoloogia
osakond
Argonne’i riiklik laboratoorium
Argonnes, Illinois
J Strother Moore Teadustehnikateaduste osakond
Austin
Austinis, Texas
Vanderlei Rodrigues TIMA-UJF
Grenoble, Prantsusmaa
(puhkusel UFRGSist,
Porto Alegre, Brasiilia)
David M. Russinoff Advanced Micro Devices, Inc.
Austin, Texas
Jun Sawada Texas Tehnikaülikooli Arvutiteaduse osakond Austin
Austinis, Texas
Olga Shumsky Elektri- ja
infotehnoloogia osakond
Northwesterni ülikool
Evanston, Illinois
Paolo Traverso IRST – Istituto per Ricerca
Scientifica e Tecnologica
Povo, Itaalia
Matthew Wilding Rockwell Collins
täiustatud tehnoloogiakeskus
Cedar Rapids, Iowa

Viga

Siiski pole teada vigu.

Juhtumiuuringute toetusmaterjal, kaasa arvatud harjutuste lahendused

Juhtumiuuringute autorid on esitanud täielikud skriptid esitatavate tulemuste reprodutseerimiseks. See „toetav materjal“ sisaldab ka iga õppetöö õppuste lahendusi. Igal juhtumiuuringu toetaval materjalil on
workshops/1999 kataloog, mida saab alla laadidahttp://acl2.org/index.html
või kasutada SVN-i, nagu on selgitatud acl2-raamatute projekti lehel. On tipptasemel READMEfail ja iga alamkataloog sisaldab READMEfaili, mis selgitab selle sisu.

1. Harjutus graafikateoorias (J Moore; kataloog graph/)
Peatükk vormistab ja tõestab mitmete lihtsate algoritmide õigsust, et määrata, kas teatud piiratud sihtgraafi kahe sõlme vaheline tee on olemas.

2. Modular Proof: The Calculus Fundamental Theorem (Matt Kaufmann; kataloog calculus/)
Selles peatükis esitatakse modulaarne ülalt-alla tõestatud metoodika ja kasutatakse seda arvutusliumi põhi teoreemi vormistamiseks ja tõestamiseks. Modulaarne strateegia töötab nii ACL2 kui ka „ ACL2 (r) “ (vt peatükk 18 allpool); põhiline teoreem on tõestatud ACL2 (r) abil.

3. Mu-Calculus mudelikontroll (Panagiotis Manolios; kataloog mu-calculus/)
Selles peatükis tutvustatakse automaatset Mu-calculus’i süntaksi ja semantika arendamist, selle mudeli kontrollijat ACL2-s ning teiste ajaliste loogikate tõlkimise arutelu Mu-calculus’isse. Mudeli kontroll on osutunud õigeks.

4. Kiiresti analüüsitavad simulaatorid (David Greve, Matthew Wilding, David Hardin; kataloog simulator/) Kiiresti
simuleerimise mudelid on keeruliste riistvarasüsteemide kavandamisel välja töötatud, et prognoosida jõudlust, tuvastada konstruktsiooni vigu ja võimaldada riist-või tarkvara kaasprojekt. ACL2 selline käivitatava mudeli kirjutamine toob ametliku analüüsi lisakasu; siiski on väga vajalik ette valmistada ACL2 mudel, mis on nii kiire kui analüsitav. Selles peatükis kirjeldatakse tehnikaid ACL2 kiirete formaalselt analüüsitavate simulaatorite ehitamiseks. Nende kasulikkust näitab lihtne protsessorimudel.

5. Simple Pipelined Machine Model (Jun Sawada; kataloog pipeline/) kinnitamine
Määratletakse kolmeastmelise torujuhtme masina ACL2 mudel koos vastava järjestikuse masinaga. Siis esitatakse kahe masina samaväärsuse tõend. Veelgi olulisem on see, et tõendi lagunemise meetod kehtib palju keerulisemate torujuhtme arhitektuuride kohta.

6. DE keel (Warren Hunt, Jr .; kataloog de-hdl/)
DE keel on sündmus-orienteeritud kirjelduse keel, mis võimaldab piiratud oleku masinate hierarhilist määratlust riistvarakirjelduse keele stiilis. Keelise süntaks ja semantika on vormistatud ja lihtsustatud riistvarasüsteemi õigsuse tõendamiseks kasutatakse formaalsust. Selliseid ametlikke HDL-sid on kasutatud palju keerulisemate kujunduste omaduste tõendamiseks.

7. Makrode kasutamine Mimic VHDL-i jaoks (Dominique Borrione, Philippe Georgelin, Vanderlei Rodrigues; kataloog vhdl/)
Selle projekti eesmärgiks oli vormida VHDL-i väike sünteesitav käitumuslik alamhulk, säilitades nii palju kui võimalik VHDL-i süntaktilist maitset ja hõlbustades kontrollimist sümboolse simulatsioon ja teoreem tõendamine.

8. Sümboolne trajektoori hindamine (Damir A. Jamsek; kataloog ste/)
Sümboolne trajektoori hindamine (STE) on mudelipõhine kontroll, mis põhineb sümboolsel simulatsioonil. See peatükk tutvustab STE ametlikku käsitlemist, sealhulgas ACL2 tulemuste tõendeid, mis on esitatud Segeri ja Joyce’i raamatus „Matemaatiliselt täpset kaheastmelist formaalset riistvara kinnitamise metoodikat“.

9. RTL-kontrollimine: ujukomakordne kordaja (David M. Russinoff, Arthur Flatau; kataloog multiplier/)
Selles peatükis kirjeldatakse Advanced Micro Devicesi RTL-keelatud disainilahenduste mehhaanilist tõestussüsteemi. Süsteem koosneb tõlkest ACL2-le ja metoodikast, mille abil saab kontrollida omandatud programmide omadusi, kasutades ACL2-test. Lihtsa ujukinnisti kordistaja õigsus on tõestatud.

10. Ohutu kriitilise sisestatud tõendaja (Piergiorgio Bertoli, Paolo Traverso kataloogi embedded/)
projekteerimise kontrollimine See peatükk näitab ACL2 kasutamist ohutusega kriitilise tarkvara tübikinnituse inspekteerimiseks, manustatud tõendajana. Sisseehitatud tõendusmaterjal kontrollib veebi kaudu, et ohutuse seisukohast olulise tõlkija iga täitmine on õige. Tõlkija on liidese ülemineku ja signaali poolt kasutatava tarkvarasüsteemi osa rongisiseste juhtimissüsteemide ehitamiseks.

11. Kompileerija kontrollimine uuesti (Wolfgang Goerigk; kataloog compiler/)
See uuring illustreerib Ken Thompsoni poolt tema Turingi auhinna leppis täheldatud asjaolu: korrektse kompileerija masinakoodi saab muuta, et see sisaldab Trooja hobust, nii et kompilaator läbib peaaegu kõiki katseid, sh nn „bootstrap test“, milles ta koostab oma lähtekoodi identsete tulemustega ja suudab ikkagi genereerida halva koodi. Kompilaator, objektikoodina masin ja eksperimendid vormistatakse ACL2-s.

12. Ivy: Esmakordse loogika eelprotsessor ja tõestuse kontrollija (William McCune, Olga Shumsky; kataloog ivy/)
Selles juhtumiuuringus esineb esimese järjekorra loogika tõenduskõlblikkus piiratud tõlgenduste jaoks. Lisaks näitab uuring, kuidas mitte-ACL2-programme saab kombineerida ACL2-funktsioonidega, nii et kombineeritud programmide puhul saab tõestada kasulikke omadusi. Mitte-ACL2-programmide kohta pole midagi tõestatud. Selle asemel kontrollivad ACL2-programmide mitte-ACL2 tulemusi käitusaja jooksul ACL2 funktsioonide abil ning nende kontrollijate funktsioonide omadused on tõestatud.

13. McCarthy 91 funktsiooni üldine kirjeldus (John Cowlesi kataloog knuth-91/)
Selles peatükis käsitletakse Donald Knutti väljakutseks „arvuti tõendamiseks“ teoreemi kohta, milles kirjeldatakse John McCarthy kuulsat „91 funktsiooni“ üldistamist. “ üldistus hõlmab tegelikke numbreid ja juhtumiuuringus kasutatakse ACL2-d, et vastata Knutuse väljakutsele, mehaaniliselt kontrollides tulemusi mitte ainult kõigi tegelike numbrite välja, vaid ka selle ala kõigi alamväljade kohta.

14. Järjepidevus ja eristatavus ( ruben Gamboa; kataloog analysis/)
Selles peatükis on näidatud, kuidas mittestandardse analüüsi abil saab kasutada ACL2 (nimega ACL2 (r) ) ja kirjeldatud laiendatud versiooni tegelike ja keerukate numbrite mõistmiseks . Selles kirjeldatakse mõningaid muudatusi ACL2-s, mis tutvustavad ebamääraseid reaalseid ja keerukaid numbreid ACL2 numbrisüsteemis. Seejärel näitab see, kuidas modifitseeritud ACL2 võib osutuda analüüsi klassikalisteks teoreemideks, näiteks vaheväärtuste ja keskväärtuse teoreemideks.