10th EAI International Conference on Testbeds and Research Infrastructures for the Development of Networks & Communities

Research Article

Cypress: A Testbed for Research in Networked Cyber-Physical Systems

  • @INPROCEEDINGS{10.4108/icst.tridentcom.2015.259951,
        author={Ryan Goodfellow and Erik Kline},
        title={Cypress: A Testbed for Research in Networked Cyber-Physical Systems},
        proceedings={10th EAI International Conference on Testbeds and Research Infrastructures for the Development of Networks \& Communities},
        publisher={ACM},
        proceedings_a={TRIDENTCOM},
        year={2015},
        month={8},
        keywords={cyber-physical testbed experimentation},
        doi={10.4108/icst.tridentcom.2015.259951}
    }
    
  • Ryan Goodfellow
    Erik Kline
    Year: 2015
    Cypress: A Testbed for Research in Networked Cyber-Physical Systems
    TRIDENTCOM
    ICST
    DOI: 10.4108/icst.tridentcom.2015.259951
Ryan Goodfellow1,*, Erik Kline1
  • 1: USC Information Sciences Institute
*Contact email: rgoodfel@isi.edu

Abstract

In this paper we present the progress of our current work in the design and implementation of a cyber-physical system (CPS) testbed called Cypress. The purpose of Cypress is to provide a high-fidelity testbed environment that cohesively integrates the cyber and physical domains across all phases of the scientific experimentation process. Cypress is composed of a language, compiler, simulation engine and distributed control runtime system facilitating the development, execution and analysis of CPS experiments. Cypress is primarily focused on CPSs that may be classified as distributed or networked control systems.

Through its declarative experiment description language, Cypress presents a gradient of usability accessible to both engineers from physical domains as well as those from computer science. The language captures physical, control, computing and communication models. The compiler translates an experiment codebase into an experiment package comprised of a set of simulation executables, a network environment description and distributed control software. The runtime system instantiates and orchestrates the execution of experiment packages by creating the network testbed environment, deploying control system software within that environment and managing the execution of the simulation. Cypress is an extension to the DeterLab network testbed environment and leverages many of the facilities already provided within that ecosystem.