Model checking a client-server system with a scalable level of concurrency
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Helsinki University of Technology |
Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Authors
Date
2005
Department
Major/Subject
Tietojenkäsittelyteoria
Mcode
T-119
Degree programme
Language
en
Pages
vii + 42
Series
Abstract
Muutamien viimeisien vuosikymmenien aikana on ohjelmistoja hyödynnetty yhä useammassa tuotteessa. Ohjelmistokehitykseen käytetyt työkalut ja menetelmät ovat parantuneet, mutta kehitys on tapahtunut enemmän määrää kuin laatua silmälläpitäen. Vaikka ohjelmistoja voidaankin tuottaa yhä nopeammin, eivät menetelmät laadun tarkistamiseen ole parantuneet samassa määrin. Tämä työ käsittelee formaalin verifioinnin osa-aluetta nimeltään mallintarkastus, jolla ohjelmistojen oikeellisuus voidaan todentaa tyhjentävästi. Työssä tarkastellaan asiakas-palvelin-pohjaista järjestelmää, joka hyödyntää dynaamisessa rakenteessaan rinnakkaisuutta. Tarkoituksena on varmistaa, että yleiset rinnakkaisuuteen liittyvät viat kuten lukkiuma ja nälkiintyminen, eivät esiinny järjestelmässä. Työssä tarkasteltu järjestelmä mallinnetaan ja verifioidaan käyttäen kahta eturivin mallintarkastinta, Mariaa ja Spiniä, pyrkien samalla tuomaan ilmi formaalin verifioinnin tarjoamia etuja ohjelmistokehityksessä. Edelleen työssä tarkastellaan käytettyjen työkalujen suorituskykyä tutkimalla mallin läpikäyntiin käytetyn ajan suhdetta mallin rinnakkaisuuteen. Käy ilmi, että sekä Maria että Spin soveltuvat annettuun tehtävään hyvin kuitenkin omaten yksilöllisiä eroja vahvuuksissaan ja heikkouksissaan.Description
Supervisor
Niemelä, IlkkaThesis advisor
Heljanko, KeijoKeywords
verification, verifiointi, model checking, mallintarkastus, linear temporal logic, lineaarinen aikalogiikka, concurrent programming, rinnakkaisohjelmointi, mutual exclusion, keskinäinen poissulkevuus, starvation, nälkiintyminen, deadlocking, lukkiuma, weak and strong fairness, heikko ja vahva reiluus