Čo je TAlian
TALian je emulátor Turingovho stroja - presnejšie komplexný nástroj umožňujúci zostrojovanie Turingovych strojov, sledovanie ich behu podľa zadaného vstupu a odladenie.
História
TAlian 2: TVYster (13. 11. 2003)
Bola pridaná možnosť používať testovacie sady, podrobnosti sú uvedené nižšie. Ďalej bol TAlian ozvučený (hučí!). Opravené bola chyba týkajúca sa nekorektného načítavania pásky v prípade predchádzajúceho dlhšieho vstupu.
TAlian 2: TVYx (22. 10. 2003)
V tejto verzii boli opravené chyby týkajúce sa situácie, keď hlava vyšla z ľavého rozsahu pásky, bola ošetrená chyba, keď bola počiatočná pozícia hlavy nastavovaná z kontextového menu pásky. Zvyšné chyby boli prevažne esteticko-typografického rázu.
Prečo názov TAlian
Názov TAlian pochádza zo skratky predmetu Teória algoritmov (TAL) prednášaného na Prírodovedeckej fakulte Univerzity Pavla Jozefa Šafárika v Košiciach.
Pozn. V súčasnosti sa tento predmet nazýva Teória vypočítateľnosti (TVY). Budeme sa pridržiavať historického označenia.
Pretože súčasťou cvičení z tohto predmetu bolo zostrojovanie Turingovych strojov, ktoré bolo v neskorších fázach semestra pomerne náročné, vznikla myšlienka na vytvorenie nástroja, ktorý by uľahčoval túto činnosť. Pre tento predmet sa medzi študentami ustálil slangový názov Taliančina, a preto sa priam ponúkal názov TAlian.
Kde môžem získať TAliana?
TAlian je pre nie-študentov Prírodovedeckej fakulty dostupný ako freeware, teda program určený k voľnému použitiu zadarmo. Stiahnuť si ho môžete tu.
Funkcie a vlastnosti:
- IDE (integrated development environment) - integrované ladiace prostredie
Integrované ladiace prostredie významne uľahčuje tvorbu a ladenie Turingovych strojov
- Súbory inštrukcií
- možnosť vytvárať Turingove stroje postupným zadávaním inštrukcií vrátane poznámok, či komentárov
- možnosť otvárať a ukladať inštrukcie Turingovych strojov do prehľadných rýdzo textových súborov (*.tur)
- Súbory pásky
- obsah pásky možno ukladať do externého rýdzo-textového súboru (*.bnd), takže ju jednoducho možno využiť pri vstupe do viacerých Turingovych strojov bez opakovaného obtiažneho zadávania.
- Detekcia nezastavenia sa Turingovho stroja
- Z vlastností Turingovho stroja vyplýva jeho "nezastavenie sa". Vo všeobecnosti môžu nastať jeden z dvoch prípadov: buď sa stroj "zacyklí" alebo "utečie". Užívateľ si môže definovať počet inštrukcií, po ktorom bude Turingov stroj považovaný za nezastavený.
- Možnosť meniť polohu hlavy
- Rozšírené možnosti ladenia:
Schopnosť ladenia je veľmi dôležitá pri rozsiahlejších a zložitejších projektoch.
- 3 spôsoby ladenia:
- priamym spustením Turingovho stroja
- ručným krokovaním každej inštrukcie
- časovým ladením - automatickým krokovaním po nastaviteľnom čase
Tieto tri spôsoby možno naviac medzi sebou ľubovoľne kombinovať.
- body prerušenia
TAlian umožňuje definovať pre ľubovoľnú inštrukciu tzv. bod prerušenia (breakpoint). Pri spustení Turingovho stroja sa vykonávanie programu pozastaví, ak sa narazí na inštrukciu, na ktorej je definovaný bod prerušenie. Vo vykonávaní programu možno na to pokračovať ľubovoľným z troch vyššie uvedených spôsobov.
- testovacie sady (nové vo verzii TVYster)
TAlian umožňuje špecifikovať súbor viacerých vstupov, na ktorých sa postupne bude daný Turingov stroj (dávkovo) vykonávať. Umožňuje to skontrolovať korektnosť stroja pre kritické prípady vstupov.
- Export do HTML
Turingov stroj možno exportovať do HTML ako komplexný projekt. Voliteľne môžu byť exportované inštrukcie vrátane komentárov a priebeh spracovávania pásky s postupom vnútorných stavov, v ktorých sa Turingov stroj počas behu nachádzal.
Vzhľad a výzor TAliana
Informáciu o výzore TAliana môžete získať na nasledovných obrázkoch:
TAlian 2: TVYster - (C) \alfa_11 Software 2001 - \infty