1 / 13

Trace-Directed Modelling Status Report

Trace-Directed Modelling Status Report. Sultan Eid and Hamoud Aljamaan CRuiSE (Complexity Reduction in Software Engineering) Research Group SITE (School of Information Technology and Engineering) University of Ottawa June 29, 200 http://www.site.uottawa.ca/~tcl. An initial note:.

oona
Download Presentation

Trace-Directed Modelling Status Report

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trace-Directed ModellingStatus Report Sultan Eid and Hamoud Aljamaan CRuiSE (Complexity Reduction in Software Engineering) Research Group SITE (School of Information Technology and Engineering) University of Ottawa June 29, 200 http://www.site.uottawa.ca/~tcl

  2. An initial note: • Tim Lethbridge apologizes for not being present • He had booked his vacation prior to this meeting being planned

  3. Main Activities Since December • New members have joined (discussed later) • Productive discussions with Ericsson, with Bran Selic and among ourselves regarding our research agenda • Developing a vision that will have to be refined • Learning and exploring infrastructure • Papyrus and other modeling tools • C++ code generators • Systematic reviews • Reverse engineering

  4. Current Vision 1: Modeling Tool for the Trace-Directed Modeling Subproject • Model to be traced should be in an open source modelling tool • In UML using the MARTE (real time) profile • Represented as • Class diagrams • State diagrams • Composite structure diagrams • We would develop a language/profile to specify tracing • Will have a metamodel • Adding tracepoints to the model • Would need a visual representation so tracepoints could be seen on the model • The generated code would • Be in C++ (possibly other also) • Generate needed calls to the LTTng API

  5. Current Vision 2: Key Ideas for the Trace Specification Metamodel • The tracepoints could be attached to such elements as: • Conditions becoming true, expressed in terms of model elements • Setting/query of an association, attribute • Following a transition • Sending or receipt of a message/event • Entry/exit of a state • For each of the above you should be able to trace on • Subset of objects of a class in specific threads/ processes/ devices/ states • Ability to name tracing scenarios so one (or some combination) can be activated as needed • Ability to automatically activate a trace scenario when something ‘interesting’ happens • Ability to specify, in model terms, the data to be gathered during tracing

  6. Current Vision 3: Reflecting And Manipulating a Trace In the Model • Resulting traces would be interpreted by the modeling tool in the context of the original model • Possibilities: The engineer could … • Look at the model including the tracepoint specification and see • Coloured/highlighted places where tracing occurred, with the intensity shown • Animation of state diagrams • Generated sequence diagrams or state machine • Other ? • Jump among all these views • See other diagnostics related to trace results • Adjust tracepoints dynamically in the running system to gather more/less/different data

  7. Infrastructure Needed for the Project • Open source modeling tool with sufficient capabilities and which will likely be stable • This is currently a challenge since this technology is in a state of flux • Papyrus is not ‘finished’ • Adding substantially to it will lead to lots of rework • An upcoming new Eclipse Foundation modeling platform may be the best option • But will be another couple of years • The best solution will be to keep our design and implementation generic • Pluggable to any modelling tool • With a small ‘interface’ layer

  8. The Need For Scientific Grounding of the Real Problem • We need to observe real software engineers doing tracing in a model-driven context • Why? • So we have the right use cases • So we can demonstrate that our results provide a contribution in terms of productivity

  9. Other Challenges • Commercial tools already implement a considerable portion of what we want • IBM RSA, Rhapsody and even Rose/RT provide the ability to inject code for debugging and tracing, and to see and explore the results • They overload the terms extensibility and traceability • Conclusion • We will need to limit ourselves to manageable and focused parts of our vision to ensure we are making scientific process, not ‘reinventing the wheel’ • This refinement will require ongoing study

  10. What team members are doing 1 • Hamoud Aljamaan • Phd Student • Comprehensive review of model-directed tracing • Working at the abstract level • Building theory • Language design • Modeling the needed software • Sultan Eid • Masters student (hoping to later become PhD student) • Analysing the main technical challenges

  11. What team members are doing 2 • Ahmed and Mahmoud Orabi • Part time PhD students at IBM • Conducting a comprehensive review of state machine reverse engineering • Prototyping a novel approach to reverse engineering state machines using static analysis • Studying ‘conceptual refactoring’ • Julie Filion • Summer undergraduate student working partly on this project • Helping us build infrastructure • Omar Badreldin • PhD student working on state machines in a separate project • Experimented with injecting trace commands into generated code • Others • Other students working on the Umple project are contributing to discussions

  12. Case Studies We Will Work On • Debrief • We received a model in Enterprise Architect • Proved difficult to work with since the model was descriptive and in a tool that • An objective will be to convert this to a model that captures the entire system allowing model-driven development • Regeneration of the system with trace code injected • LTTng itself • We will obtain the source code, and build a model that can generate part of LTTng • Others, to be determined • For both tools: We have developed a technique called umplification • Allows injection of model information directly in the source code • We will see if ths works in the context of these two case studies

  13. Systematic Review Progress • Objective • Survey existing state of the art work in the area of model based tracing, particularly, for class and state machine UML models. • Systematic means • Disciplined search for all relevant literature • Asking a pre-defined set of research question for about each paper found • The research questions for our systematic review • What is the state of the art in model based tracing? • What types of modeling notation is used to achieve model based tracing? • What are the tools (commercial, research prototypes) available for model based tracing? • What are the techniques and approaches to implementation of model based tracing?

More Related