koala is a model-based diagnosis engine that merges modern modeling techniques based on hybrid systems and qualitative physics, with powerful on-line diagnosis algorithms. The aim of this software has been to bring an integrated solution to the diagnosis on-board complex systems. Originally oriented toward the research and development of a supervisor dedicated to autonomous satellites, it is able to model a large set of other devices. From a model in a dedicated formalism, koala generates a C++ runtime that is the model-based supervisor. The supervisor uses commands and available observations to monitor the physical system behavior, to track multiple trajectories if necessary, to detect faults, and to diagnose them on-the-fly. koala tracks the system even when in its faulty state. Here are more details. koala is actually distributed under GPL.
What I currently need:I need models and associated data to test koala more extensively. Especially complex systems made of numerous components, highly non-linear systems, hybrid systems with non-linear transition guards. Please contact me with your modeling ideas, material and fault scenarios!
This is the first koala release to be put on-line. This is also the version I used in my thesis. Let's say it is not exactly a user friendly version as the interface is pretty basic and you will need your own text editor to write the models. Nevertheless, the basic features are here: component-oriented modeling, hybrid models, mix use of qualitative and quantitative constraints, C++ supervisor automated generation. I plan to improve this software on my spare time. Anything else? Mail me here.
Docs (see the documentation):
- texinfo user documentation.
- doxygen C++ code documentation.
Features:
- component-based hybrid modeling framework that represents uncertainty with probabilities at discrete level and numerical intervals at continuous level.
- automated composition of the plant model from the hybrid concurrent model fragments.
- automated C++ code generation of the model-based supervisor.
- hybrid systems simulation in sampled-time.
- tracking of multiple uncertain trajectories, merging and pruning based on observations.
- progressive exploration of the probability space.
- fault detection and diagnosis, blind state-tracking of unknown fault modes.
Porting (koala compiles with gcc and runs successfully on the following platforms):
Future Development strategy:
Diagnosis engine: at the moment it is nearly impossible to use even part of koala's diagnosis engine in other projects. I wish I could bring it up as a library instead, but this kind of model-based engine strongly relies on the modeling framework. I welcome any ideas and suggestions concerning the setup of a generic reusable modeling framework for testing model-based diagnosis algorithms.
- New diagnosis algorithms: I wish koala could include alternative algorithms. If you've designed algorithms you would like to see included, provide me with the publications and techreports, so I'll try.
Incoming flavors:
- modeling GUI
- model debugger
- modeling and tracking based on non-linear models.
- on-line reconfiguration.
Developer: well... me.
Bugs: see the FAQ.