100 likes | 205 Views
Trace-Directed Modelling Status Update. Timothy C. Lethbridge University of Ottawa. Progress so far. The student who is to start will not start until January But
E N D
Trace-Directed ModellingStatus Update Timothy C. Lethbridge University of Ottawa
Progress so far • The 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
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
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
Converting a trace to a model • Seek ‘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
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
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
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
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
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