Aplicații - studopediya
Conform clasificării introduse de D. Harel, orice sistem de software-ul poate fi atribuită uneia dintre următoarele clase.
- Sistemele de transformare furnizează o transformare a datelor de intrare, și apoi se termină. În astfel de sisteme, în general, datele de intrare este complet cunoscută și disponibilă în momentul pornirii sistemului, iar ieșirea - numai după finalizarea lucrărilor sale. Prin transformarea de sisteme includ, de exemplu, arhivator și compilatoare.
- Sistemele reactive interacționează cu mediul lor prin schimbul de mesaje de la tempo-ul specificat de mediu. Pentru această clasă includ majoritatea sistemelor de telecomunicații, precum și monitorizarea dispozitivelor fizice și a sistemului de control.
Mașini de stat finite sunt utilizate în mod tradițional pentru a crea compilatoare care aparțin clasei de sisteme de transformare. Automată înțeleasă aici ca un fel de dispozitiv de calcul având o intrare și o bandă de ieșire. Înainte de a lucra pe linia de bandă înregistrată de intrare, care unitatea de mașină în continuare simbolul citește și procese. Secvențial mașină de prelucrare a scrie unele caractere de pe banda de ieșire.
O altă zonă tradițională de utilizare a mașinilor - sarcini de control logic - este o subclasă a sistemelor reactive. Aici mașină - este, la prima vedere, dispozitiv complet diferit. El are un număr de intrări paralele (de obicei binar), care primește semnale de mediu într-un mediu în timp real. Prin prelucrarea acestor semnale generează valori automate ale mai multor ieșiri paralele.
Astfel, chiar și domeniul de aplicare tradițional al automatelor finite acoperă fundamental diferite clase de sisteme software.
Pentru entitățile să efectueze o simplă reacție la orice acțiune de intrare depinde numai de impactul.
Esența unui comportament simplu (stânga) și cu un comportament complex (dreapta)
Luați în considerare exemplul de ceasuri electronice. Lasă-i să aibă doar două butoane, care sunt folosite pentru a seta ora curentă: butonul «H» (ore) incrementează numărul de ore. și butonul de «M» (minute) - numărul de minute. Creșterea se produce modulo 24 și 60, respectiv. Aceste ceasuri au un comportament simplu, deoarece fiecare dintre cele două acțiuni de intrare (prin apăsarea primul sau al doilea buton) are ca rezultat o singură, ore de reacție predeterminate.
Luați în considerare acum ceasul cu alarmă electronice. Un buton suplimentar «A» (alarmă) este în ele pentru a activa și dezactiva alarma. Dacă alarma este oprit, butonul «A» și traduce aceasta cuprinde modul de ceas în care «H» cheie și «M» nu este setat ora și alarma curentă timp. Apăsând butonul «A» ceas revine la modul normal. În cele din urmă, apăsarea «A» butonul în modul normal atunci când alarma de trezire duce la închidere.
ceas electronic de alarmă
Comportamentul de ceas cu un ceas cu alarmă este deja dificil, deoarece una și acțiunea de intrare (apăsând aceleași butoane) în funcție de modul de inițiere diferite acțiuni.
Sistemele de calcul entitate software și firmware cu un comportament complex, apar foarte des. Această proprietate este posedat de control, protocoale de rețea, casete de dialog, personaje de jocuri pe calculator și multe alte facilități și sisteme.
Recunoaste entitate cu comportamentul complex al codului sursă al programului este foarte simplu: punerea în aplicare tradițională a unor astfel de entități logice folosite variabile numite steaguri complicate și numeroase structuri de ramificare, în condiții care sunt diferite combinații de valori pavilion.
Acest mod de a descrie un comportament logic complex slab structurat, dificil de înțeles și de a modifica, predispus la erori.
Principala recomandare privind aplicarea programării bazate pe automate este foarte simplu: se utilizează abordarea automată la crearea oricărui sistem software în care există entități cu un comportament complex. Experiența arată că acest lucru este valabil de aproape orice sistem de grave. De obicei, cu toate acestea, nu toate componentele sistemului sunt caracterizate printr-un comportament complex. Prin urmare, această recomandare de mai sus poate fi completată de un alt: Utilizați abordarea automată pentru a crea numai acele componente ale sistemului, care sunt entitățile cu comportament complex. În urma acestor două linii directoare simple pe care le puteți crea și corecte
sisteme software scalabile, cu un comportament complex.