Lab Home | Phone | Search | ||||||||
|
||||||||
Complex systems are often cyber-physical in nature. For instance, a chemical process is a physical system that is driven by decisions made by a control system, which is in turn a cyber system comprised of devices (e.g., sensors, controllers, actuators) that execute diverse computing tasks and that exchange signals and data through a communication network. Modeling and simulating the behavior of cyber-physical systems is becoming increasingly important, but capturing their interdependencies is technically challenging. The behavior of a physical system is expressed mathematically in the form of an algebraic model while the behavior of a cyber system is expressed mathematically in the form of algorithms which may be executed on heterogeneous computing architectures. This talk presents modeling abstractions to capture the dependencies that arise in cyber-physical systems. We will first discuss an algebraic graph abstraction that captures physical connectivity in optimization models and show how it performs as a general decomposition framework that facilitates the implementation and interfacing with distributed algorithms such as ADMM, Nested Benders, Lagrangian Decomposition, and Parallel Interior Point methods. We also show how the algebraic graph provides diverse graph functions which can be used to decompose and manage complex physical optimization models that consider computational load balancing aspects. We demonstrate the graph decomposition capabilities with an optimal control problem on a large-scale energy system. Next, we present a computing graph abstraction that captures communication connectivity in computing architectures and show how it facilitates the evaluation of control strategies and their simulation in virtual environments that involve distributed, centralized, and hierarchical computing architectures. We discuss its connections with automata theory and discrete event simulation and how this permits a state-space representation. We then provide an example that uses a computing graph to simulate and evaluate a real-time distributed control system subject to delays and controller failures. Finally, we show how the computing graph can also be used to develop and simulate distributed optimization algorithms on parallel computing architectures with an example of the real-time simulation of distributed stochastic gradient descent. The algebraic graph and computing graph abstractions are implemented in the Julia packages ModelGraphs.jl and ComputingGraphs.jl respectively, which are part of the PLASMO suite of modeling tools. Host: Anatoly Zlotnik |