Publication:
Whip: higher-order contracts for modern services

No Thumbnail Available

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.

Research Projects

Organizational Units

Journal Issue

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

Endorsement

Review

Supplemented By

Referenced By

Related Stories