This document provides details about the subject "Formal Methods in Software Engineering". It is a 3-credit core subject taught in the first semester. The subject introduces mathematical reasoning and formal methods used for software specification, modeling, verification and testing. Topics covered include practical applications of formal methods, abstraction, proof theory, modeling languages like Z and VDM, automated analysis methods, and examples of integrating formal methods in software development. The intended learning outcomes are for students to understand the role and tools of formal methods, and be able to apply formal methods, read specifications, and recommend appropriate formal specifications for applications.
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
37 views
FormalMethods Revised16june06
This document provides details about the subject "Formal Methods in Software Engineering". It is a 3-credit core subject taught in the first semester. The subject introduces mathematical reasoning and formal methods used for software specification, modeling, verification and testing. Topics covered include practical applications of formal methods, abstraction, proof theory, modeling languages like Z and VDM, automated analysis methods, and examples of integrating formal methods in software development. The intended learning outcomes are for students to understand the role and tools of formal methods, and be able to apply formal methods, read specifications, and recommend appropriate formal specifications for applications.
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4
1.
Title of subject Formal Methods in Software Engineering
2. Subject code TEM7011 3. Status of subject Core 4. Credit hour 3 LAN Credit Hours Eui!alen"e# 3$00 5. Semester %ear 1& Module 1 6. Pre-Requisite None . !ethods of teachi"# '( Hours of Le"ture $. %ssessme"t '0) Coursewor* +0) Final E,am &. Teachi"# staff 'Pro(osed) -r$ Somnu* .hon/Amnuaisu* 1*. +bjecti,e of subject To introdu"e the use of mathemati"al reasoning and formal methods in software engineering and ar"hite"ture0 To stud1 the a22li"ation of formal methods to the modelling& s2e"ifi"ation and !erifi"ation of software s1stems0 To de!elo2 s*ills in a22l1ing formal methods to the testing of software$ 11. S-"o(sis of subject Formal methods "onsist of a set of te"hniues and tools 3ased on mathemati"al modeling& formal logi" and inferen"e that are used to s2e"if1 and !erif1 reuirements and designs for "om2uter s1stems and software$ Among the to2i"s to 3e "o!ered in"lude a re!iew of 2ra"ti"al a22li"ations of formal methods and its roles in software design0 a3stra"tions& 2roof theor10 model 3ased languages su"h as 4-M 54ienna -e!elo2ment Method6 and 70 dis"rete and "ontinuous domain& automated anal1sis methods& "om2uter assisted 2roofs and e,am2les of integration of formal methods in software de!elo2ment 2ro"esses$ 8ursus ini mem2er*enal*an 2ende*atan 1ang mem3eri tum2uan *e2ada *aedah formal 3erasas*an 2ermodelan matemati*& logi* dan inferens untu* s2esifi*asi dan 2enentusahan *e2erluan dan re*a3entu* sistem *om2uter dan 2erisian$ Antara to2i* 1ang di3in"ang*an adalah tin9auan a2li*asi *aedah formal dan 2eranann1a dalam re*a3entu* 2erisian0 *aedah a3stra*& teori 2em3u*tian0 3ahasa 3erasas*an model se2erti 4-M& 70 domain dis*rit dan selan9ar& *aedah analisis otomati*& 2em3u*tian 3er3antu*an *om2uter dan 3e3era2a "ontoh 2enera2an *aedah formal dalam 2roses 2em3angunan 2erisian$ 12. .ear"i"# +utcomes :1 the end of the su39e"t& students should understand the role of formal methods within software engineering0 understand the mathemati"al tools underl1ing formal methods su"h as 4-M and 70 understand the use of formal methods in modelling and s2e"if1ing software0 3e a3le to read and e,2lain the signifi"an"e of s2e"ifi"ations written in a formal notation0 3e a3le to use mathemati"al tools and formal methods for sim2le a22li"ations to the testing of software against its s2e"ifi"ation$ 3e a3le to re"ommend and 9ustif1 an a22ro2riate t12e of formal s2e"ifi"ation for a gi!en a22li"ation$ Pro#ramme +utcomes / of co"tributio" A"uisition and 3roadening of *nowledge in ad!an"ed "on"e2ts and 3est 2ra"ti"es in software engineering and ar"hite"ture$ '0) Strengthening of 2ra"ti"al& anal1ti"al and management s*ills in software engineering and ar"hite"ture$ (0) Enhan"ing 2rofessional s*ills in "areer/related areas (0) Ada2ta3ilit1 and 2assion for learning 10) Culti!ation of inno!ati!e minds and de!elo2ment of entre2reneurial s*ills ;) <nderstanding moral& 2rofessional ethi"s and res2onsi3ilit1 ;) Total 100) 13. 0etails of subject To(ics Co,ered 1ours 1$ +,er,ie2 of 3ormal !ethods Natural language s2e"ifi"ation& Formal !ersus =nformal 2rogramming& Fundamentals of software s2e"ifi"ation& >oles of formal methods in software engineering$ ( ($ 4leme"tar- Set Theor- a"d 3ormal .o#ic Sets& .rodu"ts and Tu2les&& Mathemati"al o2erators& .ro2ositional and .redi"ate Logi"& Classifi"ation of fun"tions& >elations& S"hemas& .re"onditions ? 3$ 3ormal S(ecificatio" E,2li"it Semanti"& -iagrammati" Notation& Strong T12ing& Total !ersus .artial Fun"tions& >efinement& Model orientated s2e"ifi"ation& "on"urren"1& e,am2les of s2e"ifi"ation languages 54-M& 7& Lar"h& L@T@S6 + '$ 50! <ser/defined identifiers& se2arators& t12e definition& uote t12es& "om2ound t12es& ma2s& seuen"es& re"ords& fun"tions and o2erators& Lam3da and =ota e,2ressions& modules$ ? ;$ 6-7otatio"s =nter"hange Language& user/defined identifiers in 7& Ma,imal Sets& -ata T12es 53asi"& set& 2rodu"t& ordered 2air& 3ags6& S"hemas& A,iomati" de"laration of fun"tions$ ? +$ 3ormal Too88it Editors& .roof anal1Aers& S1m3oli" simulators 5L@T@S& >A=SE6& translators& Test generator tools$ State s2a"e e,2loration tools$ ' 7$ Case studies of formal methods i" (ractice. E,am2les in"lude s2e"ifi"ations in tele/ "ommuni"ations 2roto"ol& o2erating s1stems& 3uffer modules$ + Total Co"tact 1ours 42 14. Te9t Te9t boo8s A$ Harr1& 51BB+6& Formal Methods Cile1& Chi"hester$ :$ .otter& -$ Till& D$ Sin"lair& 51BB+6& An Introduction to Formal Specification and Z& (nd Ed$ .renti"e Hall& <22er Saddle >i!er$ Refere"ce boo8s D$F$ Monin& M$E$ Hin"he1& 5(0036& Understanding Formal Methods S2ringer& New %or*$ 8$8$ Lau F >$ :ana"h& eds$ Formal Methods and Software Engineering, Le"ture Notes in Com2uter S"ien"e 37?;& S2ringer/4erlag& :erlin$ N$ Nissan*e& 51BBB6 Formal Specification: Techniques and Applications& S2ringer/4erlag& New %or*$ D$Da"*1& 51BB76 The a! of Z: "ractical "rogramming with Formal Methods$ Cam3ridge <ni!$ .ress& Cam3ridge$ M$ Hin"he1 and D$ :owen 51BB;6& Applications of Formal Methods& 5eds$6$ .renti"e Hall& <22er Saddle >i!er$ D$ Cood"o"* and D$ -a!ies& 51BB+6 Using Z: Specification, refinement and "roof# .renti"e/Hall& <22er Saddle >i!er$