100 likes | 212 Vues
This update outlines the current progress in the trace-directed modelling project at the University of Ottawa led by Timothy C. Lethbridge. Although the new student will not start until January, a full scholarship enables the potential hiring of a second student. Key research questions focus on converting traces to models and vice versa, utilizing formalisms like state machines and sequence diagrams. The research explores abstraction levels, concurrency, and the state of the art in trace modelling. Future work includes studying real models and literature reviews.
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