This is an old revision of the document!
OTM: Open Trace-based Mechanism
OTM is an open implementation for existing trace-base mechanisms, like Tracematches , Halo, Alpha, etc. Currently, OTM is implemented for JavaScript as a seamless extension for AscpectScript. Like AspectScript, OTM supports Mozilla Firefox, Safari, Chrome, and Opera (no plug-ins or add-ons required!) and does not extend of the JavaScript syntax. OTM, which adopts object-oriented programming and open implementation as its core design principles, is focused on opening the following points of a trace-based mechanism:
- Sequence definition . Most of TMs define sequences using a domain-specific language, which is typically not Turing complete. Instead, OTM allows developers to define sequences using the full power of the base language. In addition, OTM permits to reason about the matching of sequences because they are first-class values. For example, it possible to know if a sequence defined as a★ matched with the trace of execution: a or a.
- The multiple matching strategy Almost all TMs have different multiple matching strategies that are not configurable, and can yield drastically different results. OTM allows developers to define and configure their own multiple matching strategies.
- The sequence life cycle strategy Unlike current TMs, OTM allows developers to control the life cycle of partially-matched sequences. For example, OTM can remove or match all (or a group of) partially-matched sequences if some external condition is satisfied.
Do you want to try the Boutique Web application example? Please, visit the paper example paper.
Do you want to try OTM? You can download OTM from the following svn: http://pleiad.dcc.uchile.cl/svn/incubator/otm/
Try it on-line
In this section you can interactively try OTM. Just write some JavaScript code an press “Run it!”. The code will be automatically transformed and executed in the interal frame below. The HTML code on the second textarea is also appended to the resulting page, so the JavaScript code can access it.
Credits
OTM is designed and implemented at the Pleiad lab by Paul Leger, under the supervision of the professor Éric Tanter.