sept 2009 - 1 tracing status update - sept 2009 - montreal - timothy lethbridge trace-directed...

10
Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University of Ottawa

Upload: whitney-hines

Post on 04-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

Sept 2009 - 1Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge

Trace-Directed ModellingStatus Update

Timothy C. LethbridgeUniversity of Ottawa

Page 2: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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

Page 3: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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

Page 4: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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

Page 5: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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

Page 6: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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

Page 7: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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

Page 8: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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

Page 9: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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

Page 10: Sept 2009 - 1 Tracing Status Update - Sept 2009 - Montreal - Timothy Lethbridge Trace-Directed Modelling Status Update Timothy C. Lethbridge University

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