Skip to Main Content
Frequently Asked Questions
Submit an ETD
Global Search Box
Need Help?
Keyword Search
Participating Institutions
Advanced Search
School Logo
Files
File List
osu1090010266.pdf (4.3 MB)
ETD Abstract Container
Abstract Header
Design Pattern Contracts
Author Info
Hallstrom, Jason Olof
Permalink:
http://rave.ohiolink.edu/etdc/view?acc_num=osu1090010266
Abstract Details
Year and Degree
2004, Doctor of Philosophy, Ohio State University, Computer and Information Science.
Abstract
A design pattern describes a commonly recurring problem in the design of object-oriented software, a solution to that problem, and the context in which the solution can be applied. The benefits of design patterns are two-fold. First, patterns serve as guidance to the novice designer. Second, they provide an extended vocabulary for documenting software design. In the mid 1990s, the publication of several pattern catalogs – compendiums of design patterns – popularized patterns as a tool for designing object-oriented software. Unfortunately, the descriptive format popularized by these catalogs is inherently imprecise. As a consequence, it is unclear when a pattern has been applied correctly, or what can be concluded about a system implemented using a particular pattern. This ambiguity threatens to undermine the two principal benefits associated with the use of design patterns. First, novice designers are more prone to error without a precise description of how each pattern must be applied. Second, documentation describing the patterns applied in designing a system may be misleading, as different designers can interpret pattern descriptions in subtly different ways. To address the ambiguity issues associated with design pattern descriptions, we introduce the concept of a design pattern contract as a formalism for precisely specifying design patterns. Like all contracts, a design pattern contract consists of two primary components: a responsibilities component and a rewards component. The responsibilities component of a pattern contract precisely characterizes the requirements that must be satisfied by the designer when applying a particular pattern. The rewards component specifies the system properties that are guaranteed to be exhibited if the contract responsibilities are indeed satisfied. The contract formalism alone, however, is insufficient to guarantee that design patterns will be applied correctly. Even when guided by a precise set of requirements, designers can – and do – make mistakes. To detect such contract violations, we introduce the notion of a contract monitor – an executable unit of deployment used to detect runtime contract violations. We present two approaches to implementing these monitors. The choice of which to use depends on the requirements of the system, and the skill-set of the designer.
Committee
Neelam Soundarajan (Advisor)
Pages
192 p.
Subject Headings
Computer Science
Keywords
design patterns
;
design pattern specifications
;
reasoning about design patterns
;
runtime monitoring of design patterns
Recommended Citations
Refworks
EndNote
RIS
Mendeley
Citations
Hallstrom, J. O. (2004).
Design Pattern Contracts
[Doctoral dissertation, Ohio State University]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=osu1090010266
APA Style (7th edition)
Hallstrom, Jason.
Design Pattern Contracts.
2004. Ohio State University, Doctoral dissertation.
OhioLINK Electronic Theses and Dissertations Center
, http://rave.ohiolink.edu/etdc/view?acc_num=osu1090010266.
MLA Style (8th edition)
Hallstrom, Jason. "Design Pattern Contracts." Doctoral dissertation, Ohio State University, 2004. http://rave.ohiolink.edu/etdc/view?acc_num=osu1090010266
Chicago Manual of Style (17th edition)
Abstract Footer
Document number:
osu1090010266
Download Count:
2,119
Copyright Info
© 2004, all rights reserved.
This open access ETD is published by The Ohio State University and OhioLINK.