Chronicle Recognition Library

 

The Chronicle Recognition Library (CRL) allows for the study of huge data masses. An event flow (a sequence of real or simulated events) is analysed in order to identify complex correlations. Thus, specific behaviours may be recognised.

    CRL (Chronicle Recognition Library) has been developed by the Department for the Conception and evaluation of System Performances (DCPS) of the French Aerospace Lab (Office National d'Etudes et Recherches Aérospatiales -- ONERA). In the framework of Complex Event Processing, this C++ library allows for the analysis of complex event flows to recognise predetermined searched-for behaviours. These behaviours are defined as specific arrangements of events using a behaviour description language called the Chronicle Language. The behaviour recognition process relies upon a solid mathematical framework which has been developed during a Ph.D. thesis available here. The recognition process has been completely formalised through a set semantics and the algorithms of CRL directly correspond to the mathematical definitions.

  Features


  1. analysis of complex event flows;

  2. temporal language, the chronicle language, supporting classic and complex event operators including the transcription of all of Allen's interval algebra;

  3. support for the recognition of the absence of a certain behaviour during another behaviour;

  4. possibility to reason and express constraints over complex event properties;

  5. all the power of the C++ language available to define these constraints over event properties;

  6. support for continuous time;

  7. multiplicity of recognitions: for a given behaviour, all possible recognitions are computed and stored;

  8. historisation of recognitions: for each recognition, exactly all the events which lead to the recognition are stored, allowing for further reasoning;

  9. possibility to set an expiry duration specifying when certain recognitions may be deleted because considered obsolete (useful for space saving reasons);

  10. action trigger after each recognition;

  11. facilitated use, particularly for the definition of the searched-for behaviours by means of C++ operators and macros definitions;

  12. algorithms directly mapped onto a mathematical framework, thus ensuring the validity of the program;

  13. high adaptability to different application domains;

  14. easy integration into very different coding environments.

  Installation

CRL is available online here.

In order to use the library, it is sufficient to have the "include" files along with the compiled library "lib". One may also directly work with the source files (".cpp").

  Examples

Simple examples used as unit tests and non-regression tests are available here.

CRL has been used for two case studies:

  1. The first application oversees the consistency of an unmanned aircraft system (unmanned aircraft, pilot, air traffic control) inside air traffic in case of communication link breakdowns. This application allows, on the one hand, to check the consistency of the procedures currently followed in case of failures; and, on the other hand, to complete these procedures with alarms in case of unavoidable situations caused by human errors. Descriptions and analysis of this application may be found here and here.

  2. The second application oversees that the security procedures of an unmanned aircraft flying through controlled or uncontrolled airspace are correctly followed. Descriptions and analysis of this application may be found here.

  Contacts

  1. Ariane Piel : ariane.piel at onera dot fr

  2. Jean Bourrely : jean.bourrely at onera dot fr