Optimizing network deployment of formally-specified distributed systems

Carleton Coffrin, Laurent D. Michel, Alexander A. Shvartsman, Elaine L. Sonderegger, Pascal Van Hentenryck

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Formal specifications are indispensable in the design of verifiable complex distributed systems, and formal methods have received considerable attention in that respect. However, the full potential of formal methods can only be realized if the transition from specification to actual implementation can be automated to preserve the properties that were established and proved in the specification. Tempo is an integrated development environment that implements the Timed Input/Output Automata (TIOA) language and can be used to model and verify distributed, concurrent, and timed systems as collections of interacting state machines. In Tempo, individual software modules are modeled as separate automata, while complex distributed systems are modeled through composition mechanisms. To build and deploy an actual distributed system, one must both derive an implementation that is consistent with the formal specification and solve an optimization problem (often NP-hard) to match the software components with the computing resources within the target network, given criteria such as minimizing the resulting network load. This paper assumes that an implementation is available and focuses on the second problem. Namely, it presents new Tempo features for specifying deployment requirements and automatically solving the resulting optimization problem with constraint programming techniques. The new annotation features describe the target platform as well as satisfiability constraints (e.g., physical separation of the software modules implementing replicas in a distributed data service). The augmented specification is translated into a COMET program to compute the optimal deployment. The current set of annotations handles the minimization of communication cost. The implementation can solve hard instances that are beyond the capabilities of modern mixed-integer programming solvers. The paper illustrates this process using a distributed eventually-serializable data service.

Original languageEnglish (US)
Title of host publication18th International Conference on Software Engineering and Data Engineering 2009, SEDE 2009
Pages230-237
Number of pages8
StatePublished - 2009
Externally publishedYes
Event18th International Conference on Software Engineering and Data Engineering 2009, SEDE 2009 - Las Vegas, NV, United States
Duration: Jun 22 2009Jun 24 2009

Publication series

Name18th International Conference on Software Engineering and Data Engineering 2009, SEDE 2009

Conference

Conference18th International Conference on Software Engineering and Data Engineering 2009, SEDE 2009
Country/TerritoryUnited States
CityLas Vegas, NV
Period6/22/096/24/09

Keywords

  • Constraint programming
  • Distributed systems
  • Formal specification
  • Input/output automata
  • Optimal deployment

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Optimizing network deployment of formally-specified distributed systems'. Together they form a unique fingerprint.

Cite this