Cyber-Physical Systems and Internet-of-Things

As software becomes more pervasive, it is becoming more common for software to interact with physical entities in our lives, for example in self-driving cars, smart environments, and energy aware systems. Traditional design techniques have either been software-centric, assuming that the software was isolated from the physical world, or in systems engineering, where physical parts of the system are designed first, software was considered a last step to make everythign work. A new paradigm is needed that considers system design as an integrated process of software, physical, and human interaction design. Our research is focussing on this on two ways:

Heterogeneous Modeling, Analysis, and Verification of Cyber-Physical Systems

Project Description

In this research project we are addressing the issue of heterogeneity and lack of integration between modeling methods that are used for engineering Cyber-Physical Systems (CPS). Modeling methods that come from diverse scientific fields (such as control theory, mechanical engineering, computer science) often disagree on the basic elements of system modeling (e.g., level of abstraction, time, data flow, control flow, and determinism). If not handled properly, these disagreements may lead to subtle bugs, which can cause catastrophic system failures.


Our Position: We take an architectural approach to heterogeneous modeling of cyber-physical systems. The key insight of our approach is that architectural models (views) can be used as an abstraction to integrate otherwise incomparable models. Domain specific analyses can operate on appropriate views within a managed environment that detects and prevents inconsistencies. Our research focuses on providing a framework of architectural views and analyses as plugins that are easily integrated with existing models and tools, such as AADL, Simulink, KeYmaera, Modelica, etc.

Sample Questions

  • What are the appropriate architectural abstractions for representing physical, control, and hybrid models and their interactions with software?
  • How can we provide architectural views to represent heterogeneous models of cyber-physical systems?
  • How do we define and verify consistency between different models and views?
  • How can we integrate analyses that originate in different engineering disciplines?
  • How can we verify across multiple different models?


David Garlan, Bradley Schmerl, Ivan Ruchkin.

Landmark Papers

Related Papers

Human Assistance for IoT

Project Description

As the Internet of Things becomes a reality, research has focussed on how to connect everyday objects. A remaining challenge is how do we design software that has a symbiotic relationship between humans and the physical systems they interact with? In this research, we are examining architectures and formalisms that support software as assistants.


Our Position: For the internet of things to become truly useful, and the vision of pervasive computing to be realized, software design needs to consider humans as an integral part. The connectedness of many things is not useful without overarching software to provide assistance to humans in their everyday tasks.

Sample questions:

  • What architectural styles are needed for task assistance?
  • How can we incorporate artificial intelligence into such systems?
  • How can task planning consider human elements of the tasks?


David Garlan, Bradley Schmerl, Roykrong Sukkerd