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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend