Abstrakt statsmaskin

Inom datavetenskap är en abstrakt tillståndsmaskin ( ASM ) en tillståndsmaskin som arbetar på tillstånd som är godtyckliga datastrukturer ( struktur i betydelsen matematisk logik , det vill säga en icke-tom uppsättning tillsammans med ett antal funktioner ( operationer ) och relationer över uppsättning).

Översikt

ASM -metoden är en praktisk och vetenskapligt välgrundad systemteknisk metod som överbryggar gapet mellan de två ändarna av systemutveckling:

  • den mänskliga förståelsen och formuleringen av verkliga problem ( krav fångas genom noggrann högnivåmodellering på den abstraktionsnivå som bestäms av den givna applikationsdomänen)
  • distributionen av deras algoritmiska lösningar genom att kodexekvera maskiner på föränderliga plattformar (definition av designbeslut, system- och implementeringsdetaljer).

Metoden bygger på tre grundläggande koncept:

  • ASM : en exakt form av pseudokod som generaliserar finita tillståndsmaskiner för att fungera över godtyckliga datastrukturer
  • markmodell : en rigorös form av ritningar, som fungerar som en auktoritativ referensmodell för designen
  • förfining : ett mest allmänt schema för stegvisa instansieringar av modellabstraktioner till konkreta systemelement, vilket ger kontrollerbara kopplingar mellan de mer och mer detaljerade beskrivningarna i de successiva stadierna av systemutveckling.

, exekverar en enskild agent ett program i en sekvens av steg, eventuellt interagerande med dess omgivning. Denna idé utvidgades till att fånga distribuerade beräkningar , där flera agenter kör sina program samtidigt.

Eftersom ASM modellerar algoritmer på godtyckliga abstraktionsnivåer, kan de ge vyer på hög nivå, låg nivå och mellannivå av en hårdvaru- eller mjukvarudesign. ASM-specifikationer består ofta av en serie ASM-modeller, som börjar med en abstrakt markmodell och fortsätter till högre detaljnivåer i successiva förfinningar eller förgrovningar.

På grund av den algoritmiska och matematiska karaktären hos dessa tre begrepp kan ASM-modeller och deras egenskaper av intresse analyseras med hjälp av vilken rigorös form av verifiering som helst (genom resonemang) eller validering (genom experiment, testning av modellexekveringar).

Historia

Konceptet med ASM beror på Yuri Gurevich , som först föreslog det i mitten av 1980-talet som ett sätt att förbättra Turings tes att varje algoritm simuleras av en lämplig Turing - maskin . Han formulerade ASM-uppsatsen : varje algoritm, oavsett hur abstrakt den är, emuleras steg-för-steg av en lämplig ASM. År 2000 axiomatiserade Gurevich begreppet sekventiella algoritmer och bevisade ASM-avhandlingen för dem. Grovt uttryckt är axiomen följande: tillstånd är strukturer, tillståndsövergången involverar endast en avgränsad del av tillståndet, och allt är oföränderligt under isomorfismer av strukturer. (Strukturer kan ses som algebror , vilket förklarar det ursprungliga namnet utvecklande algebror för ASM.) Axiomatiseringen och karakteriseringen av sekventiella algoritmer har utvidgats till parallella och interaktiva algoritmer.

På 1990-talet utvecklades ASM-metoden, genom en gemenskapsinsats, med användning av ASM för den formella specifikationen och analysen ( verifiering och validering) av hårdvara och mjukvara . Omfattande ASM-specifikationer för programmeringsspråk (inklusive Prolog , C och Java ) och designspråk ( UML och SDL ) har utvecklats.

En detaljerad historisk redogörelse finns på annat håll.

Ett antal mjukvaruverktyg för exekvering och analys av ASM finns tillgängliga.

Publikationer

Böcker

Beteendemodeller för industriella standarder

  • OMG för BPMN (version 2006): Springer LNCS 5316
  • OASIS för BPEL: IJBPMI 1.4 (2006)
  • ECMA för C#: "A high-level modular definition of the semantics of C♯" doi : 10.1016/j.tcs.2004.11.008
  • ITU-T för SDL-2000: formell semantik för SDL-2000 och formell definition av SDL-2000 - Sammanställning och körning av SDL-specifikationer som ASM-modeller
  • IEEE för VHDL93: E.Boerger, U.Glaesser, W.Mueller. Formell definition av en abstrakt VHDL'93 Simulator av EA-Machines. I: Carlos Delgado Kloos och Peter T.~Breuer (Eds.), Formal Semantics for VHDL , s. 107–139, Kluwer Academic Publishers, 1995
  • ISO för Prolog: "En matematisk definition av fullständig Prolog" doi : 10.1016/0167-6423(95)00006-E

Verktyg

(i historisk ordning sedan 2000)

Bibliografi

externa länkar