Home > Research > Publications & Outputs > REX

Electronic data

  • porter2016osdi

    Accepted author manuscript, 1.9 MB, PDF document

    Available under license: CC BY-NC: Creative Commons Attribution-NonCommercial 4.0 International License

Links

View graph of relations

REX: a development platform and online learning approach for Runtime emergent software systems

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published
Publication date2/11/2016
Host publicationProceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation
PublisherUSENIX Association
Pages333-348
Number of pages16
ISBN (print)9781931971331
<mark>Original language</mark>English
Event12th USENIX Symposium on Operating Systems Design and Implementation - Savannah, GA, United States
Duration: 2/11/20164/11/2016
Conference number: 12th
https://www.usenix.org/conference/osdi16

Symposium

Symposium12th USENIX Symposium on Operating Systems Design and Implementation
Abbreviated titleOSDI 16
Country/TerritoryUnited States
CitySavannah, GA
Period2/11/164/11/16
Internet address

Symposium

Symposium12th USENIX Symposium on Operating Systems Design and Implementation
Abbreviated titleOSDI 16
Country/TerritoryUnited States
CitySavannah, GA
Period2/11/164/11/16
Internet address

Abstract

Conventional approaches to self-adaptive software architectures require human experts to specify
models, policies and processes by which software can adapt to its environment. We present REX, a complete platform and online learning approach for runtime emergent software systems, in which all decisions about the assembly and adaptation of software are machine-derived.
REX is built with three major, integrated layers: (i) a novel component-based programming language called Dana, enabling discovered assembly of systems and very low cost adaptation of those systems for dynamic re-assembly; (ii) a perception, assembly and learning framework (PAL)
built on Dana, which abstracts emergent software into configurations and perception streams; and (iii) an online learning implementation based on a linear bandit model, which helps solve the search space explosion problem inherent in runtime emergent software. Using an emergent
web server as a case study, we show how software can be autonomously self-assembled from discovered parts, and continually optimized over time (by using alternative parts) as it is subjected to different deployment conditions.
Our system begins with no knowledge that it is specifically assembling a web server, nor with knowledge of the deployment conditions that may occur at runtime.