Техника формалних трансформација WSL и FermaT алат

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εισαγωγικό Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
Advertisements

Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
1 FEDERATION OF INDUSTRIAL WORKERS UNIONS ΟΒΕΣ ΟΜΟΣΠΟΝΔΙΑ ΒΙΟΜΗΧΑΝΙΚΩΝ ΕΡΓΑΤΟΥΠΑΛΛΗΛΙΚΩΝ ΣΩΜΑΤΕΙΩΝ FEDERATION OF INDUSTRIAL WORKERS UNIONS.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
FEDERATION OF INDUSTRIAL WORKERS UNIONS 1 ЕВРОПЕЙСКИ РАБОТНИЧЕСКИ СЪВЕТИ (ЕСР) ΕΥΡΩΠΑΙΚΑ ΣΥΜΒΟΥΛΙΑ ΕΡΓΑΖΟΜΕΝΩΝ (ΕΣΕ) EUROPEAN WORK COUNCILS.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 12: Παραγωγή Ενδιάμεσου Κώδικα (Σημασιολογικές ρουτίνες μετάφρασης-Μέρος Β) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ДАВАЧИ ПОМЕРАЈА 1. Садржај  Давачи помераја  Сервопотенциометри  Диференцијални калемови (VDI) и трансформатори (VDT)  Капацитивни давачи помераја.
Αρχιτεκτονική Λογισμικού. Αρχιτεκτονική Συστήματος Λογισμικού Η Αρχιτεκτονική περιγράφει τη γενική στατική δομή του συστήματος, τα βασικά δομικά του στοιχεία,
Ναυτικά Πληροφοριακά Συστήματα & Ηλεκτρονικό Εμπόριο Δρ. Θεόδωρος Λίλας Επίκουρος Καθηγητής Τμήμα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών Πανεπιστημίου.
ΝΑΥΤΙΛΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ Εισαγωγή N. ΝΙΚΗΤΑΚΟΣ Kαθηγητής Παν. Αιγαίου Γ. ΛΕΒΕΝΤΑΚΗΣ - Μεταδιδακτορικός Υπότροφος Δ. ΠΑΠΑΧΡΗΣΤΟΣ - μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ.
Συστήματα Υποστήριξης Αποφάσεων Εισαγωγή. Στόχος του μαθήματος  Η κατανόηση των βασικών εννοιών που σχετίζονται με τη λήψη επιχειρησιακών αποφάσεων 
ΝΑΥΤΙΛΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ Εισαγωγή N. ΝΙΚΗΤΑΚΟΣ Καθ. Παν. Αιγαίου Γ. ΛΕΒΕΝΤΑΚΗΣ Μεταδιδακτορικός Υπότροφος Δ. Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ.
ΑΝΑΚΥΚΛΩΣΗ ΕΜΙΛΗ ΚΑΙ ΔΙΟΝΥΣΙΑ Ε2. Ποια είναι τα σκουπίδια που πετάμε πιο συχνά και από τι υλικό είναι φτιαγμένα; ΧΑΡΤΙ ΜΕΤΑΛΟ ΑΛΟΥΜΙΝΙΟ ΓΥΑΛΙ ΠΛΑΣΤΙΚΟ.
ΗΛΙΑΚΟΙ ΘΕΡΜΟΣΙΦΩΝΕΣ Ο ηλιακός θερμοσίφωνας είναι ένα ενεργητικό ηλιοθερμικό σύστημα παραγωγής ζεστού νερού χρήσης χρησιμοποιώντας την ηλιακή ενέργεια.
Διδακτική της Πληροφορικής
Εισαγωγή στον Προγ/μό Η/Υ
Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB
ΤΕΧΝΟΛΟΓΙΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ασκήσεις Κεφάλαιο 11.
Κατανεμημένα Συστήματα
Καθορίζουν το είδος των υπό δημιουργία περιπτώσεων ελέγχου.

Θεωρία & Αλγόριθμοι Γράφων Αντιστοιχίσεις και Καλύμματα
Ενότητα 1 : Εισαγωγικά Στοιχεία της Pascal Αλέξανδρος Τζάλλας
Εισαγωγή στις Πιθανότητες
Αγάθη Σταθοπούλου Δρ. Ειδικής Αγωγής EKΠA
Πυθαγόρεια Σχολή Η ζωή μέσα στη σχολή.
ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης
Τα Βασικά δόγματα Γιώργος Λεπίδας Γ΄2.
Πρότυπα Προγραμματισμού
ΚΕΦΑΛΑΙΟ 2 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΤΗΣ JAVA
ΘΕΡΜΟΫΔΡΑΥΛΙΚΩΝ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΣΥΝΤΗΡΗΤΩΝ ΚΕΝΤΡΙΚΗΣ ΘΕΡΜΑΝΣΗΣ
ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΦΙΛΟΣΟΦΙΑ»
Κεφάλαιο 4 Βενζινομηχανές Κυλινδροκεφαλή
Monitoring EM zračenja
Πληροφοριακά Συστήματα: Μοντελοποίηση με UML
Студенти: Свјетлана Тодоровић Миљана Вуковић
Η ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ ΤΩΝ ΦΟΙΤΗΤΩΝ ΤΟΥ ΜΑΘΗΜΑΤΙΚΟΥ ΣΤΑ ΣΧΟΛΕΙΑ: ΜΙΑ ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ Εαρινό εξάμηνο
ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005
Лабораториски пресметки
- карактеристика Земље као небеског тела је да обилује водом
Некои органски хемикалии
Проф. др Радивоје Митровић
Предавање: Машине за производњу, транспорт и уградњу бетона
Биотехнологија Биотехнологија се дефинише као примена традиционалних и/или научних знања у манипулацији (делова) микроорганизама, или ћелија и ткива виших.
Истраживање корелација аминокиселина и секундарне структуре протеина
Βασικές έννοιες (Μάθημα 1) Τίτλος: Μερικές βασικές έννοιες της Πληροφορικής 22/11/2018 Ξένιος Αντωνιάδης.
Програмски пакет МАТНЕМАТIСА
Седма група VIIa . F,Cl,Br,J
Електроенцефалографија
Фармакокинетика и фармакодинамика антибиотика
مديرة المدرسة أ. خالدة المير رئيسة القسم أ. منيرة العدواني
НАЦРТ ПРАВИЛНИКА О МЕРИЛИМА
17.Подела материјала према магнетним својствима.
VI симпозијум - Математика и примене
Природна радиоактивност
Драган Ристивојевић Снежана Вуковић Драган Славковић
Проф. Др Радивоје Митровић
Машински елементи 3 НЕРАЗДВОЈИВЕ ВЕЗЕ ЗАКОВАНИ СПОЈЕВИ
Азот Кристина Марков II₁.
Завод за унапређивање образовања и васпитања
ОГРАНИЧЕЊА ПРИЛИКОМ РАДА И ПАРАМЕТРИ ДИОДЕ
Με Αφορμή Ένα Πρόβλημα …
A.ΤΕΙ ΚΑΛΑΜΑΤΑΣ - ΛΟΧΡΗ ΔΙΟΙΚΗΣΗ ΧΡΗΜΑΤΟΠΙΣΤΩΤΙΚΩΝ ΥΠΗΡΕΣΙΩΝ
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
Προκήρυξη - Ανακοίνωση Πρόγραμμα Μεταπτυχιακών Σπουδών
Μεταγράφημα παρουσίασης:

Техника формалних трансформација WSL и FermaT алат Електротехнички факултет Београд, јануар 2009. Аутор: Милан Делибашић (2007/3069) Професор: Драган Бојић

Садржај Основни појмови. Wide Spectrum Language. FermaT алат. Интегрисани оквир за еволуцију и EWSL. Теорија формалних трансформација – WSL и FermaT алат

Увод Често се јавља потреба да се програмима продужи век трајања: Често се јавља потреба да се програмима продужи век трајања: превођењем кода из застарелог у модернији програмски језик, и/или прерађивањем кода у логички еквивалентну форму лакшу за одржавање. Теорија формалних трансформација је базирана на формалној логици. Пружа основу за развој алата који у великој мери аутоматизују процес прераде кода програма, и/или превођење у савременији програмски језик. Теорија формалних трансформација – WSL и FermaT алат

О програмима Компјутерски програми се најчешће посматрају као низ наредби које се секвенцијално извршавају. Алтернативни начин посматрања је да имамо: променљиве које програм користи и мења им вредности; стање као уређена торка вредности свих променљивих; конвенционални програм је опис функције (спецификација) која улазно стање пресликава у завршно стање. Намеће се закључак да једна таква спецификација може да се имплементира на више начина. Теорија формалних трансформација – WSL и FermaT алат

О програмима Следећи програм има 2 променљиве (z и n) и пролази кроз низ међустања: Други начин за приказивање ове математичке функције (кроз 1 међустање) је: z: = 1; while n > 0 do z:=z*x; n:= n – 1 od z:= xn; n:=0; Теорија формалних трансформација – WSL и FermaT алат

Спецификације Види се да су спецификације описи функције, али исто тако могу да буду у форми која не може тривијално да се мапира у низ инструкција. На пример: Оваква спецификација има већ помињано својство да оставља више суштински различитих могућности за имплементацију, 2 најочигледније су доделе x := 2 или x := -2. Ове 2 имплементације се називају сужењима (refinement) почетне спецификације, јер су им скупови коначних стања подскупови скупа коначних стања почетне спецификације. x := x′:(x′2 = 4) Теорија формалних трансформација – WSL и FermaT алат

Спецификације Видимо да спецификација представља виши ниво апстракције од програма (имплементације кроз низ инструкција), и као таква је блиска основној идеји коју је човек имао. Извлачење спецификације из постојећег програма инверзним инжењерингом (reverse engineering) је пожељно јер тиме спецификација добија могућност да надживи постојећу имплементацију, и буде касније имплементирана на други начин и/или коришћењем неког савременијег програмског језика. Теорија формалних трансформација – WSL и FermaT алат

Садржај Основни појмови. Wide Spectrum Language. FermaT алат. Интегрисани оквир за еволуцију и EWSL. Теорија формалних трансформација – WSL и FermaT алат

WSL - Увод За напредне потребе описа спецификација измишљен је нови језик – WSL (Wide Spectrum Language). Овај језик је развијен крајем `80-тих година, а највећи допринос је дошао са Универзитета у Лестеру. Циљ је био осмислити језик који садржи конструкције и ниског и високог нивоа. Овакав језик је онда идеалан за инверзни инжењеринг јер се издвајање спецификације добија серијом формалних трансформација над самим конструкцијама језика, за које је доказиво да чувају семантичку еквивалентност програма. Теорија формалних трансформација – WSL и FermaT алат

WSL - Увод У изградњи WSL језика и теорије трансформација је вођено рачуна о следећим захтевима: Генералне спецификације у свакој довољно прецизној нотацији (математичке логике) треба да буду укључене у језик (на пример Z и VDM спецификације). Намерно треба укључити дозу недетерминисаности у спецификацији, да би имплементатору била остављена ширина могућности за ефикасну имплементацију. Потребан је прецизно развијен каталог доказаних трансформација. Неопходне су технике за премошћавање разлике апстракционог нивоа између спецификација и програма. Језик мора да буде применљив на праве програме, а не само “језик за играње”. Језик мора да буде применљив на велике и комплексне програме. Теорија формалних трансформација – WSL и FermaT алат

Зашто изумети WSL? За потребе реструктурирања кода је корисно радити у оквиру језика који: има једноставну, регуларну и формално дефинисану семантику; поседује једноставну, јасну и недвосмислену синтаксу; има широк дијапазон трансформација са једноставним, механички проверивим условима ваљаности. За инверзни инжењеринг је јако корисно радити у оквиру једног “језика широког спектра”, у којем се на лак начин могу представити како програмски низак ниво, тако и спецификацијски високи ниво апстракције. Теорија формалних трансформација – WSL и FermaT алат

Зашто изумети WSL? (математички доказан каталог трансформација) Из наведених разлога велики напор је уложен на доказивање коректности свих трансформација које се примењују. Теорија формалних трансформација – WSL и FermaT алат

Зашто изумети WSL? (наставак) Битно је уочити да за разлику од осталих програмских језика WSL није Тјуринг-еквивалентан, већ да има виши ниво “израчунљивости” (видети на пример guard и join изразе). За потребе миграције је такође значајно да језик трансформационог система не буде “искривљен” и близак неком специфичном одредишном или циљном језику. Онда се израдом преводиоца за специфичне програмске језике долази до вишенаменског и моћног трансформационог система. Теорија формалних трансформација – WSL и FermaT алат

WSL језик језгра – 0-ти ниво изградње језика Језгро (0-ти ниво) се састоји из 4 примитивна исказа: Assertion: {P} - ако је формула P тачна, исказ се завршава, у супротном извршавање се прекида. Guard: [P] – исказ обезбеђује да је у том тренутку формула P тачна, без мењања вредности променљивих. Служи за сужавање произвољности у спецификацији. Додавање променљивих: add(x) – додаје променљиве у листи променљивих x у простор стања, са произвољним вредностима. Уклањање променљивих: remove(x) – уклања наведене променљиве из простора стања. Теорија формалних трансформација – WSL и FermaT алат

WSL – Грађење исказа Из 4 примитивна (основна) исказа граде се остали изкази језика применом разних правила: Секвенца наредби: S1; S2 (наредбе се извршавају једна за другом) Недетерминистички избор: S1 ʓ S2 (случајно се бира и извршава једна од наредби) Рекурзија: μX.S1 (рекурзивно позивање процедуре S1применом променљиве-наредбе X. Спецификација (као исказ језика): x := x′.Q (додела променљивама у листи x променљивих у x′ тако да је задовољена формула Q, која је у функцији од x′) ... Теорија формалних трансформација – WSL и FermaT алат

WSL – Грађење виших нивоа језика Искази неког нивоа се дефинишу преко исказа претходних нивоа, па тако све што важи за ниже нивое (укључујући и каталог трансформација) важи и за дотични ниво језика. Тако се на пример у 1. нивоу налазе конструкције као што су доделе вредности променљивима, if-then(-else), while и for петље, једноставне процедуре, итд. Други ниво рецимо доноси петље са више излаза, док трећи ниво на пример додаје локалне променљиве и параметре процедура и функција, исказе са бочним дејством итд. Теорија формалних трансформација – WSL и FermaT алат

Садржај Основни појмови. Wide Spectrum Language. FermaT алат. Интегрисани оквир за еволуцију и EWSL. Теорија формалних трансформација – WSL и FermaT алат

FermaT - Увод FermaT је генерички назив за више алатки, организованих у пакете, које се све заснивају на теорији формалних трансформација,интерно користе WSL језик, и служе за намене анализе и одржавања асемблерског кода, као и његову миграцију у апстракцијски више програмске језике (C и COBOL). Развој је започет крајем ’80-тих година прошлог века на De Montfort Универзитету у Лестеру (УК), и текао је паралелно са развијањем теорије формалних трансформација и WSL језика. Главни инжењер иза целог овог пројекта је Мартин Ворд (Martin Ward). Теорија формалних трансформација – WSL и FermaT алат

FermaT Transformation System Основна компонента свих FermaT решења чини FermaT Transformation System. (познат и кратко као FermaT алат, као и под другим сличним именима), који је доступан под GNU GPL лиценцом. FermaT алат барата спецификацијама програма у WSL-у: Програм се преводи у WSL. Најчешће је улазни језик на којем је програм написан Асемблер: користе се листинг фјалови (не .asm) јер садрже експанзије макроа и друге корисне информације. На добијену WSL спецификацију се примењују трансформације које алат садржи у каталогу, овиме се спецификација доводи у прегледнију и логички једноставнију форму. Финална (“сређена”) WSL спецификација се преводи у језик високог нивоа (C, COBOL). Теорија формалних трансформација – WSL и FermaT алат

FermaT: Схема процеса превођења Теорија формалних трансформација – WSL и FermaT алат

FermaT комерцијални алати Енглеска компанија Software Migrations Ltd. (SML) је откупила права развоја FermaT алата, и унапредила га избацивањем решења која се уз проширен каталог трансформација и измењен интерфејс углавном ослања на оригинални FermaT алат. Два њихова главна производа су: FermaT Workbench: је окружење алатки намењених анализи, визуелизацији употребе, одржавању и документацији асемблерског кода. FermaT Migration Service: је решење које има могућност превођења Асемблера у C и COBOL, и ослања се у великој мери на оригинални FermaT алат. Теорија формалних трансформација – WSL и FermaT алат

FermaT: Дијаграм архитектуре Теорија формалних трансформација – WSL и FermaT алат

FermaT Workbench У оквиру FermaT Workbench-а су укључени следећи алати: function catalogue function call graph data catalogue interactive program flowchart interactive editor interactive data tracker business rule extraction (code slicing) batch data tracker report generator Теорија формалних трансформација – WSL и FermaT алат

FermaT Workbench Теорија формалних трансформација – WSL и FermaT алат

Каталог функција (Function Catalogue) Обезбеђује детаљне информације о сваком фајлу или модулу у пројекту, као што су име, тип, структура, верзија, међузависности. Теорија формалних трансформација – WSL и FermaT алат

Граф позива функција (Function Call Graph) Приказује структуру међусобних позивања модула пројекта у виду графа позива. Теорија формалних трансформација – WSL и FermaT алат

Каталог података (Data Catalogue) Комплементарна перспектива података програма: приказују се информације о типовима, променљивама, броју појављивања, величини и иницијалним вредностима,... Теорија формалних трансформација – WSL и FermaT алат

Дијаграм тока програма (Interactive Program Flowchart) Интерактивни дијаграм логичког тока програма на нивоу основних блокова. Теорија формалних трансформација – WSL и FermaT алат

Интерактивни едитор (Interactive Editor) Теорија формалних трансформација – WSL и FermaT алат

Садржај Основни појмови. Wide Spectrum Language. FermaT алат. Интегрисани оквир за еволуцију и EWSL. Теорија формалних трансформација – WSL и FermaT алат

Integrated Evolution Framework Позабавимо се на крају проблемом еволуције објектно-оријентисаних програма. Унификовани приступ еволуцији система, базира се на проширењу WSL-а (Extended WSL - EWSL). Развијен је јединстевни Интегрисани оквир за еволуцију да би подржао овакав приступ. Теорија формалних трансформација – WSL и FermaT алат

Архитектура EWSL-а Теорија формалних трансформација – WSL и FermaT алат

Ток активности у EWSL Теорија формалних трансформација – WSL и FermaT алат

ITL (Interval Temporal Logic) ITL је најабстрактнији логички слој нашег језика и служи се за давање спецификацијски-оријентисаног значења TGCL–у и ObTAM–у. Све трансформације, сужења, издвајања објеката и правила су прецизно доказана у ITL-у. Изрази у ITL-у укључују константе, статичке променљиве (које се не мењају током интервала), променљиве стања (које се могу мењати током интервала), функције примењене на изразем и нотацију ia : f где је a статичка променљива а f је предикат.Ово враћа вредност за a такав да јеf (a) тачно. Ако не постоји таква вредност, ia : f враћа било коју вредност из опсега од a. Формуле у ITL-у садрже предикате p(e1,…en) и следеће композиције формула: ∀v·f је тачно ако је f(v) тачно за све вредности v. skip је тачно за сваки јединични интервал (сваки s са |s| = 1). f1:f2 је тачно ако се интервал може декомпоновати на префиксни и суфиксни интервал, тако да је f1 тачно на префиксном а f2 на суфиксном, или ако је интервал коначан и f1 је тачан за тај интервал. f* је тачно ако је интервал декомпонован у коначан број интервала таквих да је за сваки од њих f тачно, или ако је интервал бесконачан и може се декомпоновати у бесконачан број коначних интервала за које је f тачно. Теорија формалних трансформација – WSL и FermaT алат

TGCL (Timed Guarded Command Language) Базиран на основним структурама Дејкстриног guarded command language-а, TGCL уводи: време конкурентност комуникацију TGCL променљива је или атомска променљива, структурална променљива, или поље структуралне променљиве (x.d). Уводи концепт shunt променљиве у TAM. Shunt-ови су дељене променљиве преко који којих се обавља комуникација између TAM агената. Теорија формалних трансформација – WSL и FermaT алат

ObTAM (OO Temporal Agent Model) ObTAM проширује TAM са објектно-оријентисаним могућностима. Генерални елементи, као и елементи за реално време су исти као они у TGCL–у. Објектно-оријентисани елементи: x : T дефинише x као променљиву типа T. T <sub T′ декларише класу T као под-класу класе T′. T = {xi : Ti, mj(In pinjk : Tk, Out poutjl :T′l){[Aj]}} је декларација за дефиницију класе. Овако смо дефинисали класу T, која има поља xi типа Ti, i ∊ 1..n, и методе mj, j ∊ 1..r. pinjk су улазни параметри (по вредности) метода mj, а poutjl излазни параметри (по референци). Aj су тела метода mj. x.d је референца на поље d објекта x. x.m(In ek : Tk, Out poutl :Tl′) је позив методе. Теорија формалних трансформација – WSL и FermaT алат

CSL (Common Structural Language) CSL је развијен да би обогатио исказе из TGCL-а и учинио EWSL компатибилним са WSL-ом у FermaT алату. Искази у CSL-у више подсећају на програмске. CSL у ствари представља екстензију FermaT –овог WSL-а са додатком времена, конкурентности и типова, или као “програмичнија” варијација TGCL-а која садржи већи избор исказа. CSL је најконкретнији процедурални слој EWSL-а. Теорија формалних трансформација – WSL и FermaT алат

COOL (Common OO Language) Синтакса COOL-а је иста као синтакса CSL-а, без процедуралног дела, али са слдећеим додатним објектно-оријентисаним додатком: Дефиниција класе: class T { Ti : xi; mj(In pinjk : Tk, Out poutjl : T’l) {Aj} } Хијерархија класа: T extends T’ Референцирање поља објекта: x.d Позивање метода: x.m(In ek, Out yl) Декларција објекта: T:x Теорија формалних трансформација – WSL и FermaT алат

Закључак Током ове презентације имали смо прилику да се упознамо са основним елементима теорије формалних трансформација, као и са софтвером заснованом на њој. FermaT алат са својим референцама у миграцији великих комерцијалних пројеката из Асемблера у C и COBOL са једне стране, и са својом проширивошћу и отвореношћу за новије објектно-оријентисане језике са друге стране представља робустан алат са јасном пословном применом.

Литература Hongji Yang и Martin Ward - Successful Evolution of Software Systems (2003) http://www.cse.dmu.ac.uk/~mward/fermat.html (FermaT) http://www.smltd.com/solutions.htm SML’s FermaT Solutions http://www.cse.dmu.ac.uk/STRL/research/software/index. html STRL - De Montfort University (Лестер, УК) Matthias Ladkau - A Wide-Spectrum Type System for Transformation Theory Теорија формалних трансформација – WSL и FermaT алат