Publication: Whip: higher-order contracts for modern services
No Thumbnail Available
Open/View Files
Date
2017-08-29
Published Version
Journal Title
Journal ISSN
Volume Title
Publisher
Association for Computing Machinery (ACM)
The Harvard community has made this article openly available. Please share how this access benefits you.
Citation
Waye, Lucas, Stephen Chong, Christos Dimoulas. "Whip: higher-order contracts for modern services." Proc. ACM Program. Lang. 1, no. ICFP (2017): 1-28. DOI: 10.1145/3110280
Research Data
Abstract
Modern service-oriented applications forgo semantically rich protocols and middleware when composing services. Instead, they embrace the loosely-coupled development and deployment of services that communicate via simple network protocols. Even though these applications do expose interfaces that are higher-order in spirit, the simplicity of the network protocols forces them to rely on brittle low-level encodings. To bridge the apparent semantic gap, programmers introduce ad-hoc and error-prone defensive code. Inspired by Design by Contract, we choose a different route to bridge this gap. We introduce Whip, a contract system for modern services. Whip (i) provides programmers with a higher-order contract language tailored to the needs of modern services; and (ii) monitors services at run time to detect services that do not live up to their advertised interfaces. Contract monitoring is local to a service. Services are treated as black boxes, allowing heterogeneous implementation languages without modification to services’ code. Thus, Whip does not disturb the loosely coupled nature of modern services.
Description
Other Available Sources
Keywords
Safety, Risk, Reliability and Quality, Software
Terms of Use
This article is made available under the terms and conditions applicable to Other Posted Material (LAA), as set forth at Terms of Service