sept 2009 - 1 tracing status update - sept 2009 - montreal - timothy lethbridge trace-directed...
TRANSCRIPT
Sept 2009 - 1Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
Trace-Directed ModellingStatus Update
Timothy C. LethbridgeUniversity of Ottawa
Sept 2009 - 2Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
Progress so farThe student who is to start will not start until January
But– The student has a full scholarship, freeing up funds
that I can use to put a second student on the project in January or Sept next year, or hire a student temporarily
– I have a PhD student laying groundwork by studying how code can better be generated from state machines
– I am continuing to develop plans
Sept 2009 - 3Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
Research questions
Q1: How to go from trace to model– Trace abstraction to generate a model
• Useful for understanding, simulation and generation of a system
Q2: How to go from model to trace– Better tracing based on the model
• E.g. defining trace points
Sept 2009 - 4Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
Q1: From trace to model
What modeling formalisms should we use?– State machines
• Likely with a lage amount of concurrency• Abstracting an entire trace or set of traces
– Sequence diagrams (and similar)• Not so useful for large cases
Not enough abstraction
• Good for scenarios, not as good for describing the entire behaviour of an element
– Static diagrams (component/communication/class)• Mapping states/threads to components
Sept 2009 - 5Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
Converting a trace to a modelSeek ‘similarities’ in sequences
– Patterns, common hehavior that persists for a while, then becomes different
• Working hypothesis: Each is a state– Works with system traces, routine traces, etc.
‘Similarity function’ must be defined and van be varied
Concurrency in traces gives rise to concurrent state machines
– Synchronization between states might exist if multiple state transitions occur in different state machines at once
Sept 2009 - 6Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
Varying the similarity function …
Allows dynamically altering the– Number of states
• Function ‘everything equals everything’ returns a single state
– Complexity of the diagram– Details of types of states visible in the model
Sept 2009 - 7Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
What notation should be used?
Use a textual UML format to allow programmatic manipulation
We would like to use Umple– Many similarities to STATL, but broader applicability– Large subset of UML– Under our control– Code generation facilities
• Can run simulated system (executable model) to explore scenarios
Sept 2009 - 8Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
What is the state of the art?
Several papers in the literature, dating back to 2004– So far I am unaware of any that translate traces to
state machines for• Large scale traces• Highly concurrent trace models• Tunable levels of abstraction
Sept 2009 - 9Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
Q2: What can be added to a model to enable tracing?
State boundaries– Transitions, synchronization,etc.– State machine abstraction level determines number of
trace points
Communication between components of various kinds
Insert these into the system for the next iteration
Sept 2009 - 10Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge
Next steps
Looking forward to studying real models to be provided by Mario Couture
Also looking for suggestions for large traces to abstract into state machines
Will work on literature review before state of the art