Machine abstracte staten

In de informatica, machine abstracte staten of Engels abstracte state machine is een machine bedrijfsstatus voor de lidstaten die willekeurige data structuren en relaties) zijn.

De ASM is een methode om praktische en wetenschappelijk systems engineering dat de kloof tussen de uiteinden van ontwikkelingssysteem bruggen:

  • menselijk begrip en de ontwikkeling van echte problemen.
  • het inzetten van hun oplossingen algoritmische code-uitvoering van machines evoluerende platforms.

De methode is gebaseerd op drie fundamentele concepten:

  • ASM: een specifieke vorm van pseudo-code, generaliseren eindige automaat om op willekeurige gegevensstructuren.
  • fundament van model: een strenge vorm van de plannen, die als gezaghebbend referentiemodel voor het ontwerp.
  • verfijning: een algemene regeling voor instantiaties stap model abstracties om elementen van het systeem, die wordt aangesloten tussen de regelbare omschrijvingen meer gedetailleerde de opeenvolgende fasen van de ontwikkeling van het systeem beton.

In het oorspronkelijke ontwerp van ASM, een middel heeft een programma in een opeenvolging van stappen, mogelijk in wisselwerking met de omgeving. Dit concept is uitgebreid tot distributed computing waarbij meerdere agenten tegelijk runnen van hun programma's vast te leggen.

Omdat de ASM model algoritmen om willekeurige niveaus van abstractie, kunnen ze op hoog niveau en een laag niveau en uitzicht intermediaire niveau van een hardware of software design. Specificaties ASM bestaan ​​vaak uit een reeks van ASM modellen, te beginnen met een model van abstracte veld en om een ​​grotere mate van detail te ondernemen in opeenvolgende verfijning of coarsenings.

Door de algoritmische en wiskundige van deze drie concepten, ASM modellen en hun eigenschappen van belang kan worden geanalyseerd met behulp van een strenge vorm van verificatie en validatie.

Geschiedenis

Het concept van ASM is te wijten aan Yuri_Gurevich, die voor het eerst in het midden van de jaren 1980 voorgesteld als een manier om de Turing stelling dat elke algoritme wordt gesimuleerd door een geschikte Turing Machine te verbeteren. Hij formuleerde de theorie van de ASM elk algoritme, ongeacht abstracte stap voor stap geëmuleerd door een geschikte ASM. In 2000, Gurevich axiomatized de notie van sequentiële algoritmen, is de stelling bewezen ASM voor hen. Kortom, de axioma's zijn: staten zijn structuren, de staat overgang betreft slechts een beperkt deel van de staat, en dat alles is invariant onder isomorfisme van structuren. Axiomatisering en karakterisering van sequentiële algoritmen uitgebreid algoritmen en interactieve parallel.

In de jaren 1990, een gemeenschappelijke inspanning, heeft de ASM-methode ontwikkeld, met behulp van ASM voor de formele specificatie en analyse van computer hardware en software. Volledige specificaties van de ASM-programmeertaal en de taal ontwerp zijn ontwikkeld. Een gedetailleerde geschiedenis kan worden gevonden in de AsmBook of in dit artikel.

Een aantal van software voor de uitvoering en analyse ASM zijn beschikbaar.