Context
Cyber-physical systems (CPS) combine computations in embedded systems with physical dynamics, typically interconnected using networks. Predictability and reliability of combined software and hardware systems are crucial for CPS design (Lee, Reference Lee2008), but all parts in a real CPS are not necessarily predictable. Specifically, operating in a physical environment introduces different aspects of uncertainty, including uncertainties in sensors, the physical dynamics of the system itself and interactions with other systems or humans. There is a large body of knowledge about reasoning with uncertainty in fields and topics such as statistics, automatic control and sensor fusion. However, how to program for uncertainty in complex cyber-physical systems needs to be better understood. What are the fundamental software abstractions? How do they compose and interact?
Time, timeliness and functional correctness are vital CPS and real-time systems concepts. Many formalisms, languages and tools exist for CPS (Carreira et al., Reference Carreira, Amaral and Vangheluwe2020; Broman et al., Reference Broman, Lee, Tripakis and Törngren2012), including programming and modelling both the cyber part, as well as the physical part. However, there needs to be scientifically proven and practically evaluated approaches that combine software and platform aspects (execution time, scheduling and hardware properties) with methods for handling uncertainties in the physical environment. Probabilistic machine learning (Ghahramani, Reference Ghahramani2015) and probabilistic programming (Goodman, Reference Goodman2013) have emerged as promising directions in a Bayesian setting. However, these approaches have yet to be combined (in a principled way) with the hardware and software aspects of CPS. This research question concerns finding, formalising and evaluating such fundamental software abstractions, including but not limited to programming models, programming language abstractions, operating systems abstractions and modelling abstractions.
If you believe you can contribute to answering this Question with your research outputs find out how to submit in the Instructions for authors (https://www.cambridge.org/core/journals/research-directions-cyber-physical-systems/information/author-instructions/preparing-your-materials). This journal publishes Results, Analyses, Impact papers and additional content such as preprints and “grey literature.” Questions will be closed when the editors agree that enough has been published to answer the Question so before submitting, check if this is still an active Question. If it is closed, another relevant Question may be currently open, so do review all the open Questions in your field. For any further queries check the information pages (https://www.cambridge.org/core/journals/research-directions-cyber-physical-systems/information/about-this-journal) or contact this email ([email protected]).