Show simple item record

Formal specification of software using abstract state machines.

dc.contributor.authorWallace, Charles Robert
dc.contributor.advisorGurevich, Yuri
dc.date.accessioned2016-08-30T18:01:43Z
dc.date.available2016-08-30T18:01:43Z
dc.date.issued1999
dc.identifier.urihttp://gateway.proquest.com/openurl?url_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation&res_dat=xri:pqm&rft_dat=xri:pqdiss:9959880
dc.identifier.urihttps://hdl.handle.net/2027.42/132267
dc.description.abstractAs software systems grow in size and sophistication, it becomes harder for humans to understand them and anticipate their behavior. Formal specification techniques aim to foster understanding and increase reliability by providing a mathematical foundation to software documentation. But by and large, applications of these techniques to real-world software problems have been small in number and scope. In this thesis, we explore several real-world software domains through formal specification, using Abstract State Machines (ASMs). ASMs require minimal mathematical overhead and are flexible enough to provide descriptions at various levels of abstraction. In each domain, we construct specifications at appropriate levels of abstraction. Each specification serves as a precise yet fully abstract standard, an executable tool for learning and design, and a basis for verification. Moreover, the rigor imposed by the specification process brings to light interesting issues. Each software domain that we examine presents unique challenges, in terms of specification, refinement or verification. First, we take a formal approach to the notoriously complicated area of database recovery. Starting with a high-level view of the recovery problem, we add implementation details in a clear, methodical way through a series of refinements. Second, we present a specification of the Java programming language that covers the broad spectrum of the language's features in a modular fashion. We use a semi-graphical format that unifies the static and dynamic semantics of the language. Third, we investigate the Java concurrency model in depth from a formal perspective. The abstract operational view afforded by our ASM models highlights subtleties of the model. Finally, we formally specify the Windows Card Runtime Environment, currently being developed at Microsoft. This specification is used to verify certain critical safety properties.
dc.format.extent235 p.
dc.languageEnglish
dc.language.isoEN
dc.subjectAbstract State Machines
dc.subjectFormal Specification
dc.subjectSoftware Engineering
dc.subjectUsing
dc.titleFormal specification of software using abstract state machines.
dc.typeThesis
dc.description.thesisdegreenamePhDen_US
dc.description.thesisdegreedisciplineApplied Sciences
dc.description.thesisdegreedisciplineComputer science
dc.description.thesisdegreegrantorUniversity of Michigan, Horace H. Rackham School of Graduate Studies
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/132267/2/9959880.pdf
dc.owningcollnameDissertations and Theses (Ph.D. and Master's)


Files in this item

Show simple item record

Remediation of Harmful Language

The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.

Accessibility

If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.