DocumentCode
746847
Title
Theory of Modules
Author
Gannon, John D. ; Hamlet, Richard G. ; Mills, Harlan D.
Author_Institution
Department of Computer Science and the Institute for Advanced Computer Studies, University of Maryland
Issue
7
fYear
1987
fDate
7/1/1987 12:00:00 AM
Firstpage
820
Lastpage
829
Abstract
Because large-scale software development is a struggle against internal program complexity, the modules into which programs are divided play a central role in software engineering. A module encapsulating a data type allows the programmer to ignore both the details of its operations, and of its value representations. It is a primary strength of program proving that as modules divide a program, making it easier to understand, so do they divide its proof. Each module can be verified in isolation, then its internal details ignored in a proof of its use. This paper describes proofs of module abstractions based on functional semantics, and contrasts this with the Alphard formalism based on Hoare logic.
Keywords
Abstract data types; functional semantics; modules; program specifications; program verification; programming methodology; Computer languages; Computer science; Concrete; Encapsulation; Functional programming; Large-scale systems; Logic programming; Milling machines; Programming profession; Software engineering; Abstract data types; functional semantics; modules; program specifications; program verification; programming methodology;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.1987.233493
Filename
1702293
Link To Document