Modeling and Analyzing Event-based Autonomous Systems
The project focuses on modeling and analyzing event-based asynchronous autonomous systems for safety assurance, performance evaluation, and optimization
To build dependable systems we need to be able to have different techniques for thorough analysis. There is a wide range of analysis techniques, including testing, simulation, assertion check, light weight formal verification and statistical model checking. Building different models of the system, in various levels of abstraction, helps in managing the complexity of analyzing cyber physical systems and systems of systems. It also helps in managing any change in the architecture design. More abstract models can better show how any change in one component may have a propagating effect in other components.
Goal of the projcet
We will focus on modeling and analyzing event-based asynchronous autonomous systems for safety assurance, performance evaluation, and optimization. Based on the application we may focus on planning, scheduling or routing.
The domain can be collaborating autonomous machines, collaborating agents, or event-based distributed programs executing on different network nodes to accomplish a certain goal.
Here we choose two platforms, Rebeca and Ptolemy, which both target distributed and concurrent systems, and can model timing constraints. Rebeca tools can check assertions and deadline misses, while Ptolemy shows the architecture and is supported by a powerful and visual simulation tool. Both tools provide performance evaluation using different techniques, Rebeca can model uncertainties using probabilities and Ptolemy uses traditional simulation techniques. This makes it possible to explore the design space to make better design decisions.
Overall project description
Modeling and analyzing collaborating autonomous systems (or distributed agents), considering the computation time and costs (like energy consumption), and different communication patterns and protocols, in order to check safety properties and evaluate performance, and suggesting and investigating different heuristics for optimization.
There are different types of computation with different level of criticality and priority. There are also different communication types, for example in automotive industry we have communication within a car, between two cars, and via cloud (where the third type is usually not time critical) and primarily with packet-based protocols to optimize flexibility and bandwidth. An example is when a car gets too close to another car, this has to be captured by a sensor (communication between two cars), and then a command has to be sent to Brake (communication within a car). There are other constraints, like the bandwidth, power and the flexibility/robustness for communication/interface updates. The goal is to find out the optimum solution.