Whip: Higher-Order contracts for modern services

11Citations
Citations of this article
19Readers
Mendeley users who have this article in their library.

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.

Author supplied keywords

Cite

CITATION STYLE

APA

Waye, L., Chong, S., & Dimoulas, C. (2017). Whip: Higher-Order contracts for modern services. Proceedings of the ACM on Programming Languages, 1(ICFP). https://doi.org/10.1145/3110280

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free