Title: Specifikaciju valodas
1Specifikaciju valodas
- LU Datorzinatnu magistra programma
- Riga, 2010
2 Kas ir specifikacija?
- Intuitivi specifikacija apraksts
- Interešu loks datorsistemu specifikacija (ar
datoriem saistitu sistemu specifikacija) - Sistemas specifikacija precizi, viennozimigi
formulets sistemas ipašibu apraksts. Lietojam
matematiskas, formalas metodes. - Specifikacija apraksta- sistemas strukturu
(sistemas strukturas ipašibas) un / vai -
sistemas darbibu (sistemas darbibas ipašibas),
t.sk. darbibu apkartejas vides konteksta
sadarbibu ar arejo vidi- sistemas darbibas
kontekstu (pasaules fragmentu, kura sistema
ieklaujas) - Sistema- iecereta, projektejama, var but ari
esoša- aparatura vai programmatura (vai abas
kopa) - Specifikacija- var but vienošanas starp
lietotaju un pakalpojuma sniedzeju- daleja
(atseviškas ipašibas) vai izsmeloša (visas
prasibas, darba uzdevums kontrakta)- izmantotas
dažados limenos, dažadas specifikacijas vienai
sistemai
3Specifikacijas programmaturas dzives cikla
- Dažadas specifikacijas attieciba uz vienu
sistemu - Priekšmeta apgabala (domena) informacijas
specifikacija - Prasibu (darbibas) specifikacija, vienošanas
starp gala lietotaju un sistemas izstradataju - Dizaina specifikacija, ietver sistemas
arhitekturu, vienošanas starp sistemas arhitektu
un realizetaju - Modulu (programmas) specifikacija, ietver
prasibas konkretiem moduliem, proceduram,
vienošanas starp programmetajiem, kas implemente,
un kas lieto attiecigo moduli / proceduru - Realizacija ari ipašibu apraksts (parasti
neuzskata par specifikaciju). - Specifikacijas dažados kontekstos, dažados
programmaturas dzives cikla posmos (un pirms tiem
..)
4Kapec specifikacijas?
- Precizi fikset informaciju par izstradajamo
sistemu (sistemas apraksta lietotie jedzieni,
sistemai izvirzitie uzdevumi, dizaina lemumi
sistemas veidošanas ietvaros)izdarit to
iespejami agri sistemas izstrades procesa
strukturet sistemas izstrades procesu. - Praktisks skatijums Iegut programmas / sistemas,
kas garanteti, droši risina tam izvirzitos
uzdevumus (garantijas un drošiba nebus absolutas
..) - Precizas specifikacijas veidošana
- Tiek izveidota/ieguta preciza informacija par
sistemu (priekšmeta apgabala jedzieni, uzdevuma
formulejums, dizaina risinajumi) - Iespejas specifikacijas analize
- Vai formulejums atbilst lietotaja velmem
(validacija) - Vai izstradata sistema atbilst specifikacijai
(verifikacija) - Iespejas izveidot / generet sistemu, kas atbilst
specifikacijai (sinteze) - Iespejas programmaturas testešana
- Specifikacija ka meraukla testa rezultatiem
- Testa situaciju automatiska generešana no
specifikacijam (var but iespejama noteiktos
kontekstos / situacijas)
5Programmaturas kludas ..
- Radiacijas terapijas vadibas sistema, Panamas
Nacionalais veža petijumu instituts, 2000.gads
programmas nespecificetas izmantošanas del
pacienti terapijas laika sanem divkaršu
radiacijas devu, vismaz 8 cilveki miruši - Naudas transakciju apstrade bankas (cilveks atnak
iznemt naudu no bankomata, naudu vinam neizdod,
bet no konta summu nonem, pretenzijas netiek
pienemtas, jo vinam nav pieradijumu) - Kosmisko lidaparatu vadibas sistemas Ariane 5
owerflow kludas del apstajas borta vadibas
datori, ka sekas lidaparats tiek disintegrets
gaisa sadalits dalas - Intel Pentium nepareizi veikta dališana skaitliem
ar peldošo punktu (kluda par 0,006) kompanijai
izmaksaja aptuveni 475 miljonus dolaru - Programmas kludas del ATT telefonijas
komutatoros (nepareiza komutatora restartešanas)
Nujorkas pilseta uz 9 stundam paliek bez telefona
sakariem (1990.gada 15.janvaris) - Sk. 10 nopietnakas programmešanas kludas
cilveces vesture. - Kludu noveršana ir darga, bet ari kludu esamiba
ne vienmer ir leta. - Svarigi noteikt pareizo balansu cik lielus
lidzeklus ieguldit programmaturas drošiba.
6Jautajumi refleksijai
- Jusu pieredze ar specifikaciju izmantošanu ...
- Vai ir kadas situacijas / veidi, kur un ka
Jusuprat specifikacijas varetu tikt izmantotas? - Kada nozime ir specifikacijas precizitatei?
7Precizu specifikaciju veidošana
- Interesanta un nozimiga pasaules izpratnes tema
dažadas valodas un lidzekli, ka precizi - fikset zinašanas, kas saistas ar
programmas/sistemas strukturu un/vai darbibu - formulet uzdevumus programmaturas sistemu un to
komponenšu, ka ari algoritmu un atsevišku
programmu izstradei - aprakstit algoritmu un programmu ipašibas
- Var but praktiska nozime ..
- Ir labi zinat principus, ka to veikt, lai varetu
piemerota situacija izmantot tieša vai adapteta
veida ..
8Tema specifikacijas un specifikaciju valodas
- Specifikaciju valodas ievads
9Specifikaciju ipašibas (sagaidamas)
- Dažas ipašibas, kas bieži tiek sagaiditas no
specifikacijam (ipašibas var but un var nebut
speka, var but un var nebut prasitas konkretos
gadijumos) - Lasamiba,
- Precizitate (priekš cilveka, formali preciza),
- Butisko sistemas ipašibu atspogulojums,
- Validacijas iespeja klienta klatbutne
(specifikacijas izpildamiba), - Tipu korektiba un konsistence (nav sintakses
kludu un iekšeju logisku pretrunu), - Implementacijas eksistence (realizejamiba),
- Formalas analizes iespeja attieciba uz noteiktam
lietotajam butiskam ipašibam, formalas
verifikacijas iespeja (svarigi noteikt, vai
noteiktas ipašibas ir sekas no prasibam, ka ari
to, vai prasibas ir interpretetas korekti dizaina
un programmu izstrade) - Augsts abstrakcijas limenis vai modelis
(specifikacija) veidots agri sistemas izstrades
procesa, kad daudzi dizaina un implementacijas
jautajumi vel nav risinati.
10Specifikaciju valodu veidi
- Specifikaciju valoda jedzienu, konstrukciju
sistema specifikaciju veidošanai - Valoda, kura veidot precizus sistemu ipašibu
aprakstus. - Dažadas programmešanas valodas C, JAVA, PHP,
Basic, Prolog, LISP, ML, u.c. - Specifikaciju valodas vel lielaka dažadiba
- dažadas pieejas specifikacijai (dažadas
paradigmas) - dažada rakstura specificejamie objekti
(struktura, funkcionalitate, u.c.) - Specifikacijas dažada veida valodas
- dabiska valoda (latviešu, anglu, japanu, utt.)
- formalizetas notacijas (izmanto diagrammas,
shemas, utt.) - formalas specifikacijas matematiski precizi
defineta konstrukciju sintakse un semantika - Pamata aplukosim formalas specifikacijas, valodas
to veidošanai - Dabiska valoda nav pietiekama precizitate
(parasti).
11Specifikaciju valodu raksturojumi AP98, u.c.
- Dažas prasibas attieciba uz specifikaciju valodam
(var but un var nebut speka konkretam
specifikaciju valodam) - Formalitate valodas konstrukcijam ir skaidra
sintakse un formala semantika. - Abstrakcija valodas speja definet un apstradat
datus logiska limeni, neatkarigi no to
reprezentacijas. - Modularitate konstrukcijas specifikacijas
paplašinašanai, izmantojot bagatinašanu un
kompoziciju. - Modelešana valoda piedava modeli sistemas
objektu un to sadarbibas aprakstam. - Nedeterminitate valoda piedava nedeterminetas
konstrukcijas netiešai pieejai datiem un brivai
darbibu izvelei no saraksta. - Izveduma sistema deduktiva metode, kas pec
sistemas apraksta lauj konstatet vel citas tas
ipašibas. - Formala specifikacijas un implementacijas
sasaiste verifikacijas, detalizacijas un/vai
sintezes iespejamiba. - Temporalie aspekti laika specifikacija un ta
saistišana ar sistemas objektu darbibu. - Kadas no šim ipašibam piemit programmešanas
valodam?
12Dabiskas un formalas valodas specifikacija
- Specifikaciju valoda konstrukciju sistema
specifikaciju veidošanai - Dabiska valoda - ? Nav precizitates, daudz
trokšna - viens un tas pats jedziens dažadas vietas
izteikts dažadi (seviški ja jedzienu jalieto
daudzkart neliela teksta fragmenta) - Programmas ieeja tiek padotas divas netukšas
simbolu virknes, un izeja programma izdod virkni,
kas satur vismaz vienu simbolu. - var but lietas, kas rakstitajam var škist
skaidras bez rakstišanas, vai ari, kuras
uzrakstit tiek aizmirsts - notikums a notiek pec notikuma b gan
notiek, gan pec var tikt interpretets vairak,
neka viena veida. - notiek vai laika momentani, vai, iespejams,
ilglaicigi? - pec vai a sakums ir pec b beigam, vai ari
pietiek ar to, ka a sakums ir pec b sakuma, un a
beigas pec b beigam?
13Diagrammas ka specifikaciju valoda
- Specifikaciju valoda konstrukciju sistema
specifikaciju veidošanai - Dabiska valoda - Nav precizitates, daudz
trokšna - Shematiskas diagrammas var palidzet labak
strukturet specifikaciju - Tomer ari diagrammai nav pašai par sevi precizas
semantikas (nozimes), ja to nepapildina precizas
anotacijas - UML klašu diagrammas lauj labi aprakstit
strukturetu priekšstatu par pasauli, semantika
skaidrota dabiska valoda, ir lietas, kas nav lidz
galam pateiktas semantikas formalizacija
iespejama dažados veidos - Formalas specifikaciju valodas matematiski
precizi defineta konstrukciju sintakse un
semantika (tas neatbrivo no nepieciešamibas
konstrukcijam but saprotamam!)
14Tema formalas specifikacijas
- Specifikaciju valodas ievads
15Formalas specifikacijas
- Formals balstas uz formu. Matematiski precizi
definets. - Sinonimi formals precizs.
- Formala logika noskaidrot izteikuma patiesumu,
balstoties uz ta formu. - Piemeram, A ? A ir patiess, neatkarigi no ta,
kads ir A saturs.Formals izvedums no aksiomam.
Iespejams parbaudit uz datora.Matematiska
logika spriedumi tiek veidoti formali.Programmas
izpilde simbolu manipulacija formala
aktivitate. - Filosofiski pretstati forma saturs.
- Formala, preciza specifikacija spriedumi par
specifikaciju izdarami aplukojot tikai
specifikacijas formu uzrakstito
specifikacijas tekstu. - Formala specifikacija visas butiskas sistemas
ipašibas ietvertas ari formali uzrakstitaja
specifikacijas teksta. Nav apsleptu pienemumu,
lietu, kuras ir skaidras tapat. - N.B. Specifikacijas formalitate neatcel prasibu
pec specifikacijas lasamibas, saprotamibas! - Saturs formas interpretacija. Skaidri, visai
specifikaciju valodai vienoti likumi.
16Prasibu formalizacija
- Gala lietotaja prasibas butiba saturiskas (lai
sistema strada, noteikta specifiska veida). - Lai iegutu iespeju veidot formalu specifikaciju,
nepieciešams lietotaja prasibas ietvert kada
formala, matematiska sistema. - Specifikaciju valodas var piedavat (vairak vai
mazak) ertu notaciju lietotaja prasibu
fiksešanai. - Saturiska specifikacija
- Katram laika momentam t, ja taja tiek kanala
sutits signals, tad kada laika momenta, kas ir
lielaks par t, šis signals tiks no ši kanala
sanemts. - Formalizacija ?t?R (s(t) ? ?t1gtt ? r(t1))
- Predikatu s un r saturiska nozime var palikt
arpus formalas sistemas ietvariem. - Butiski, ka predikati s un r nozime vienu un to
pašu visas specifikacijas ietvaros. - Cilvekam, kas raksta/lasa šo specifikaciju, s un
r nozime bus svariga. - Spriedumi par specifikaciju veidojami neatkarigi
no šis nozimes. - http//www.railwaydomain.org/ - meginajums
formalizet veselu nozari.
17Formalo metožu izmantošanas limeni
- Preciza specifikacijaSpecifikaciju valoda ar
matematiski precizu sintaksi un
semantikuIzveidota specifikacija kalpo ka
garantija tam, ka prasibas pret sistemu ir
precizi apzinatasSpecifikaciju var izmantot ka
merauklu testu rezultatiem un/vai ka avotu
sistematiskai testu generešanai - Preciza specifikacija analizeSpecifikaciju
valoda ietver iespejas (piemeram, deduktivu
sistemu) apgalvojumu pieradišanaiIespejas
analizet pašas specifikacijas konsistenci, ka ari
implementacijas sasaisti ar specifikaciju
(dažadus tas aspektus) - Preciza specifikacija pieraditi korekta
implementacijaImplementaciju un specifikaciju
sasaiste vienota semantiska ietvaraSistematiskas
metodes implementacijas korektibas pieradišanai
vai implementacijas sintezei vai specifikacijas
detalizacijai par implementaciju - Praktiski lietojumi bieži var apstaties A limeni,
varbut ietverot nedaudz no B. - B un C limenos praktiskos lietojumos nepieciešams
riku atbalsts
18Valodas dažados formalitates limenos
- O. Diagrammu notacija OO modelešanai, UML
daleji formalas valodas (ka ir ar UML klašu
diagrammu formalo semantiku ?) - A./B. Z, VDM, Larch, OBJ u.c. specifikaciju
valodas ar matematiski precizu sintaksi un
semantiku, pieejami ari atseviški atbalsta riki
sintakses parbaudei, semantiskajai analizei un
pieradijumu veikšanai - C. HOL, PVS, EVES, u.c. atbalsts formalu
specifikaciju veidošanai, iespejams veikt stingru
semantisku analizi un sistematiskus mehaniski
verificetus pieradijumus - Formalitates limena izvele atkariba no projekta
merkiem, drošibas nozimiguma, projekta apjoma,
pieejamajiem resursiem. - Kursa koncentresimies uz Z, VDM, Larch, OBJ
limeni specifikaciju valodas ar matematiski
precizu sintaksi un semantiku, atseviškam
pieradijuma iespejam. - Iespeju robežas aplukosim ari detalizacijas
pieeju.
19Dzilakais limenis pieraditi korekta programma
- Ja merkis ir iegut programmaturas sistemu un
tas korektibas pieradijumu (sistemai ar loti
augstam drošibas prasibam) ne vienmer tas tiks
prasits - 3 elementi (A) Specifikacija, (B) Programma, (C)
Pieradijums - Kada seciba veidot (A), (B) un (C)?
- 1. pieeja Sakam ar specifikaciju (A), pec tam
(B), tad (C) veidojot (B) un (C) var but
nepieciešamiba atgriezties pie (A) precizešanas - 2.pieeja Sakam ar specifikaciju (A), pec tam (B)
un (C) paraleli ka atseviškas aktivitates ... - 3. pieeja Sakam ar specifikaciju (A), pec tam
integreta (B) un (C) izstrade ... (tiek
uzskatita par optimalo, nepieciešamiba veikt
pieradijumu var ietekmet veidu, ka programmas
tiek rakstitas). - Specifikacijas detalizacija par implementaciju
atbilst (3.) pieejai, (B) un (C) integracija pec
butibas (detalizacijas ietvaros nav iespejams
izveidot (B), neizveidojot (C)) - P.S. Var but iespejamas situacijas, kad formala,
preciza specifikacija tiek veidota visai
sistemai, bet pieradijumi tiek veikti tikai
atseviškam komponentem. - P.S.2. Ja programmas korektiba tiek pieradita,
tas vel nenozime, ka programma tiešam ir pareiza
paliek jautajums ari par to, vai specifikacija
ir pareiza un pilniga. ?
20Programmas komponenšu korektiba
- Pastav iespejas korektibas pieradijumus veikt
attieciba uz atseviškam programmas koda
komponentem ari sistemam ar mazak kritiskam
drošibas prasibam - Nozimiga sistemas komponente
- Atseviškas komponentes verifikacija var but
ieverojami letaka par visas sistemas
verifikaciju. - Kursa aplukotas specifikacijas un analizes
metodes bus izmantojamas ari atsevišku programmas
fragmentu ipašibu aprakstam un analizei.
21Formala specifikacija un verifikacija prakse
- NASA, 1995, citets pec AP98
- Formala verifikacija ir veikta programmam lidz 10
KSLOC - Dizaina limena specifikacija un verifikacija ir
veikta apakšsistemam starp 10 KSLOC un 100 KSLOC - Formala prasibu specifikacija ir meginata ari
sistemam, kas izstrades laika ir izaugušas ari
virs 100 KSLOC - KSLOC (Kilo Source Lines of Code)
- Videjas sarežgitibas sistemas.
22Formala specifikacija un verifikacija prakse
- NASA formalas metodes nevar tikt pilniba
pielietotas lielam sistemam, kas veidotas,
izmantojot parastas programmešanas metodes. - Lai bauditu formalo metožu auglus lielu sistemu
izstrade, sistemam jabut labi strukturetam,
sadalamam skaidri definetas komponentes. Tikai
viskritiskakas no tam ir paklaujamas formalajam
metodem. - Lielaks ieguvums ir tad, ja formalos spriedumus
par atseviškam sistemas komponentem var kombinet,
tadejadi iegustot sledzienus par visas sistemas
uzvedibu (kompozicionalitates princips)
23Specifikaciju valodu parskats
- Orientetas uz sistemas ipašibam
- Algebriskas ACT ONE, OBJ3, COLD-K, CASL, ASM
- Aksiomatiskas Larch (augšejais limenis),
temporalas logikas, HOL, PVS, (paralelo procesu
algebras, LOTOS) - (Funkcionalas programmešanas valodas)
- Orientetas uz sistemas modeli
- Z, VDM, B, RAISE, Larch (otrais limenis)
- Sistemas modelis tiek veidots no zinamiem
matematiskiem objektiem kopas, attiecibas,
virknes, utt. - Operacijas specificetas sakuma un beigu
nosacijumu terminos. - Orientetas uz stavoklu parejam
- Petri tikli, Statecharts, paralelo procesu
algebras, LOTOS
24Formalas specifikaciju valodas mazliet cita
klasifikacija
- Modelbazetas valoda lauj konstruet
specificejamas sistemas matematisko modeli,
tipiski aprakstot sistemas stavoklus un
iespejamas operacijas (VDM-SL, Z, B).
Matematiskais pamats kopu teorija. - Ekvacionalas datu strukturu specifikacija,
izmantojot vienadibas. Algebriskas
specifikacijas ACT ONE, COLD-K, OBJ. Logiskas
ekvacionalas specifikacijas Larch.Matematiskais
pamats abstrakta algebra, kategoriju teorija. - Uz procesiem balstitas process ka primitivs
paralelu un reaktivu sistemu darbibas aprakstam.
CCS, CSP, LOTOS. Valodas darbibu secibas
atspogulošanai. Temporalas logikas.(Matematiskais
pamats procesu modelis, automatu teorija,
algebra) - Logiskas pirmas kartas predikatu logika,
augstakas kartas predikatu logika (HOL sistema,
u.c.), tipu teorijas (sk. NUPRL sistema,
u.c.).Matematiskais pamats matematiska logika
(1.kartas, augstakas kartas) - Salidzinat http//www.rbjones.com/rbjpub/cs/csfm0
2.htm
25Kursa merkis, saturs un vertešana
- Specifikaciju valodas ievads
26Specifikaciju valodas kursa merkis
- Kursa merkis iepazistinat ar plašak lietotajam
formalajam specifikaciju valodam, ka ari ar
specifikaciju analizes iespejam uz to bazes. - Kursa pamata akcents ir uz specifikaciju valodam
- Z, VDM (modelbazetas spec. valodas) un - OBJ
(algebriska spec. valoda), - atseviški aplukotas
proceduru (operaciju) sakuma/beigu
specifikacijas, - ka ari sniegts parskats par
virkni citam dažada veida specifikaciju valodam. - Kurss sniedz pamata zinašanas, lai students
varetu lasit, saprast un rakstit specifikacijas
valodas Z, VDM un OBJ.
27Precizu specifikaciju veidošana
- Interesanta un nozimiga pasaules izpratnes tema
dažadas valodas un lidzekli, ka precizi - fikset zinašanas, kas saistas ar
programmas/sistemas strukturu un/vai darbibu - formulet uzdevumus programmaturas sistemu un to
komponenšu, ka ari algoritmu un atsevišku
programmu izstradei - aprakstit algoritmu un programmu ipašibas
- Var but praktiska nozime ..
- Ir labi zinat principus, ka to veikt, lai varetu
piemerota situacija izmantot tieša vai adapteta
veida ..
28Planotas kursa temas
- 1. Specifikacijas jedziens, specifikaciju veidi.
Formalas specifikacijas, to raksturojumi un
izmantošana programmaturas dzives cikla. - 2. Proceduru sakuma un beigu specifikacijas
logiska forma. Daleja un pilna korektiba. - 3. Atbilstibas specifikacijai konstatešana Hoara
logika, cikla invarianti, cikla varianti. - 4. Specifikaciju valodas Z pamati. Programmaturas
sistemu specifikacija valoda Z. - 5. Modelbazetas specifikaciju valodas Object Z,
B, Event B. - 6. Specifikaciju valodas VDM un VDM. Sistemu
izstrade, izmantojot VDM. - 7. Algebriskas specifikacijas algebras,
abstraktie datu tipi, specifikaciju ipašibas. - 8. Algebriska specifikaciju valoda OBJ3. CAFE OBJ
sistema. - 9. Abstrakto automatu metode sistemu
specifikacijai. - 10. Paralelu sistemu specifikacijas pamati.
- 11. Valoda LOTOS notikumu temporala sakartojuma
specifikacijai. - 12. Temporalas logikas.
- 13. Petri tikli sistemu modelešana. Krasainie
Petri tikli.
29Vertešana
- Majas darbi (t.sk. nelieli izstrades projekti)
atbilstoši lekcijas aplukotam temam 6 punkti.
Majas darbus japilda patstavigi un majas darbu
risinajumus jaatbild. - Apmeklejums un piedališanas diskusijas, un/vai
refleksija foruma par lekcijas apskatitiem
jautajumiem (lidz 3 punktiem, tikai apmeklejums
vien netiek vertets). - Referats, 15-20 minušu uzstašanas ar slaidiem
(lidz 3 punktiem), vai 8-12 lpp teksta
iesniegšana (lidz 2 punktiem). Tema saskanojama
ar pasniedzeju. Tiks piedavatas iespejamas
ievirzes temam. - Eksamens - vienkarši teorijas jautajumi un
uzdevumi (3 punkti). - Atzime par kursu sanemto punktu skaits. Ja
studenta sanemto punktu kopsumma parsniedz 9, tad
atzime par kursu ir 9 ?. - Atzime 10 par izcilibu (nolasits referats,
originals projekts, daliba foruma, u.c.)
30Informativais atbalsts
- Informativais atbalsts Kurss e-studiju (moodle)
vide - Kursa saturs, prasibas, majas darbi, literaturas
saraksts, papildmateriali (slaidi elektroniska
forma, norades uz timekla vietnem) - Papildus
- www.ltn.lv/karlisc/stud.htm,Specifikaciju
valodas - E-pasts Karlis.Cerans_at_mii.lu.lv (sazinai ludzu
izmantot šo). - Tel. 67213716
- Apmeklejumi LU MII 421. istaba.
31Jautajumi refleksijai
- Kadas ir galvenas ceribas, kas Jums saistas ar ši
kursa apguvi? - Kadas ir galvenas bažas, kas Jums saistas ar ši
kursa apguvi? - Par kadam temam un jautajumiem Jus veletos, lai
tie tiktu vairak akcenteti kursa?
32Tema specifikacijas semantika(mazliet
filosofijas..)
- Specifikaciju valodas ievads
33Par specifikacijas semantiku ...
- Specifikacija modelis, sistemas ipašibu
apraksts. - Formala specifikacija matematiski preciza
sintakse un semantika. Sintakse lineara,
grafiska, Semantika - ? - Piemers specifikacija automats (automatu
sistema, SDL sistema). - Automatam noteikti darbibas likumi (parejas
starp stavokliem). Formala notacija, viss
matematiski precizi. - Kadas sistemas atbilst automatam ka
specifikacijai? Vai dota uzprogrammeta sistema X
atbilst dotajai specifikacijai A ? - Automata stavoklu pareju likumi neatbild uz šiem
jautajumiem. - Ari automatu zinama nozime kadreiz uzskata par
sistemas specifikaciju, kas gan nesniedz precizu
uzdevumu talakai sistemas programmaturas
izstradei. Piemerotaks vards sistemas modelis. - P.S. Automatiem un to sistemam ir iespejams
definet specifikacijas semantiku.
34Specifikacijas semantika
- Specifikacijas semantika, Specifikacijas
filosofiskais modelis - Specifikacijas semantika specifikaciju valodai
L dod formalus kriterijus, ka noteikt, kadas
implementacijas atbilst katrai valoda L rakstitai
specifikacijai. - Spec specifikaciju kopa, Sys sistemu (vai
programmu) kopa - Sat ? Sys x Spec atbilstibas attieciba.
- I Sat S implementacija (sistema) I atbilst
specifikacijai S. - Ja specifikacija apraksta konkretas prasibas
konkreti veidojamai programmai, jautajumu par Sat
var but labi uzstadit, ja tas nav a priori
valodas prezentacija atbildets ... - Vienam formalam objektam (t.sk. specifikacijai)
var but vairakas semantikas. Svarigi, lai tas
butu saskanotas.
35Specifikaciju detalizacijas jedziens
- Integreta programmas koda un tas korektibas
pieradijuma izstrade. - Spec specifikaciju kopa, Sys sistemu kopa,
Sat ? Sys x Spec atbilstibas attieciba. - I Sat S implementacija (sistema) I atbilst
specifikacijai S. - Ja izveido kopu SpecPlus paplašinata sistemu
kopa, kurai Spec, Sys ? SpecPlus, un define
taja Ref ? SpecPlus x SpecPlus, ar ipašibam -
ja I ? Sys un S ? Spec, tad I Sat S ? I Ref S, -
Ref ir refleksiva un tranzitiva, - tad Ref ir detalizacijas (refinement) attieciba.
- Ja ir pieejama attieciba Ref, tad iespejamas
metodologijas, kas atlauj iegut I ? Sys no S ?
Spec, kurai I Sat S pakapenisku transformaciju
rezultata, veidojot virkni - S S0, S1, S2, , Sn I,
- kur Si ? SpecPlus un ?i Si1 Ref Si.
36Specifikaciju detalizacijas jedziens (2)
- Spec specifikaciju kopa, Sys sistemu kopa,
Sat ? Sys x Spec atbilstibas attieciba. I Sat S
implementacija (sistema) I atbilst
specifikacijai S. - Ja ir pieejama attieciba Ref, tad iespejamas
metodologijas, kas atlauj iegut I ? Sys no S ?
Spec, lai I Sat S pakapenisku transformaciju
rezultata, veidojot virkni - S S0, S1, S2, , Sn I,
- kur Si ? SpecPlus un ?i Si1 Ref Si.
- Ja papildus tam detalizacijas attieciba Ref ir
kompozicionala - S Ref T ? C(S) Ref C(T)
- noteikta veida konteksta informacijas
pievienošanas operatoriem C(piemeram SX Ref
TX),tad katru no soliem Si1 Ref Si var veikt
atseviška sistemas komponente. - Tipiski I un S bus sintaktiski pierakstitas
dažadas valodas. Attieciba Ref veidojama ka
attieciba starp I un S semantiskajiem objektiem. - Izstrades rezultata, protams, I bus jaapmierina
ari citas ipašibas, ne tikai I Sat S.
37Par specifikaciju un programmu semantiku
- Spec specifikaciju kopa, Sys sistemu
(programmu) kopa. - Sat ? Sys x Spec atbilstibas attieciba.
- I Sat S implementacija (sistema, programma) I
atbilst specifikacijai S. - Spec formala specifikaciju valoda, ja precizi
defineta tas sintakse un atbilstibas attieciba
Sat. - Lai Sat varetu definet precizi, ari Sys
programmu kopai jabut matematiski precizi
definetai. - Specifikacija apluko programmu sistemu
sintaktiskas un semantiskas ipašibas (kada bus
programmas darbiba). - Pamata akcents specifikacija ka programma tiks
izpildita? Programmu izpildes laika semantikai
jabut precizi definetai. - Programmešanas valodas semantika ka definet
dotai programmai (tekstam) šaja valoda atbilstošu
matematisku strukturu, kas raksturo programmas
izpildi (struktura grafs, sakuma un beigu
stavoklu attieciba, u.c.)