t owards an open trace based mechanism
play

T owards An Open Trace-based Mechanism position paper Authors: - PowerPoint PPT Presentation

T owards An Open Trace-based Mechanism position paper Authors: Paul Leger and ric Tanter Department of Computer Science (DCC) University of Chile A Trace-based Mechanism (TM) in a nutshell A TM observes the execution of the software and


  1. T owards An Open Trace-based Mechanism position paper Authors: Paul Leger and Éric Tanter Department of Computer Science (DCC) University of Chile

  2. A Trace-based Mechanism (TM) in a nutshell A TM observes the execution of the software and executes a piece of code when this TM matches a specified sequence of events. The piece Trace of d d f a b b of code of TM execution TM needs a b to match 2

  3. Matching a sequence TM needs Trace of a b a x y b b b execution to match Is it a valid match? It depends because different TMs have different semantics to define sequences 3

  4. Strategies for multiple matching TM needs Trace of a b a x y b b b execution to match Is there another match? It depends because different TMs have different strategies for multiple matching 4

  5. The life cycle of sequences Trace of a y x b b b execution TM needs Except a b x y to match Most TMs cannot control the life cycle of sequences 5

  6. Current TMs Tracematch [Allan + @OOPSLA05] , Alpha [Herzeel + @ILC07] , Halo [Ostermann + @ECOOP05] , PTQL [Goldsmith + @OOPSLA05] , ... Specific and non-configurable features What happens if developers have specific needs? Is it a solution to “code around”? 6

  7. Towards an Open TM (OTM) model We identified three points of openness in a TM: • Sequences definition. For example: • Regular expressions • Context-free languages • ... • The multiple matching strategy. For example: • To match several sequences at the same time • To match only one sequence at the same time • ... • The life cycle of the sequences. For example: • To remove all sequences if some condition is satisfied ( except example ) • To match all sequences if some condition is satisfied • ... 7

  8. OTM model Sequence Env Env' seq MATCH Env'' b b a TM needs Trace of a b b a to match execution 8

  9. Nondeterminism support • Some operators to define sequences, like OR, are not deterministic . For example: || c a b a • If happens, then two different histories of a the matching of the same sequence are generated. || b a c || a b c 9

  10. Example: The AnyOrder Operator The AnyOrder operator matches several sequences in any order. Trace of c a d x b b a execution TM needs , , , , a a a a a a a a a a a a a a a a b b b b b b b b b b b b b b b b d d d d a c s a x a to match 3 1 2 10

  11. Towards an Open TM (OTM) model We identified three points of openness in a TM: • Sequences definition. For example: • Regular expressions • Context-free languages • ... • The multiple matching strategy. For example: • To match several sequences at the same time • To match only one sequence at the same time • ... • The life cycle of the sequences. For example: • To remove all sequences if some condition is satisfied ( except example ) • To match all sequences if some condition is satisfied • ... 11

  12. Extending OTM • We add a multiplexer entity to define strategies for multiple matching. Sequence 2 Sequence 1 Multiplexer • We add a sequence controller entity to control the life cycle of the sequences. Sequence 1 Sequence controller Sequence 2 12

  13. Conclusions • We explored the points where a TM can be opened: – Sequences definition – Multiple matching strategies – Life cycle of sequences – Any others? • We designed an open TM model, taking into account these points 13

  14. Thank you! Future work: - Extend AspectScript [1] to support the OTM model. [1] AspectScript: Expressive Aspects for the Web. Wednesday, March 17th at 12:30 14

  15. The class diagram of our open TM 1 .. * SequenceController Sequence Developers can build strategies Except to control life cycle of sequences 1 Multiplexer . . . Developers can build strategies TraceMatch Multiple for multiple matching. 15

  16. A Open TM Sequence 1 Sequence MATCH Env Env1 seq Manager Env1' sb sa sb Sequence 2 MATCH Env2 Env2' sb Multiplexer Trace of TM needs a b a b a Execution to match 16

Recommend


More recommend