You are here: Main Web>TWikiUsers>JasonKealey>JasonThesisPlan (07 Nov 2006)

Jason's Thesis Plan

  • This document is intended to be my plan in order to pump out a thesis before 2082.

Title

  • Round-Trip Requirements Engineering: Automatic Synchronization of Textual Use Cases with Graphical Use Case Maps

Discussion

  • Currently, this something that I could accomplish, but does not match Daniel's needs nor encompass everything that I have done (and plan on doing) during my masters.
  • I have already done UC->UCM and am interested in doing UCM->UC. However, the whole "automatic synchronization" part doesn't interest me that much anymore for various reasons.
    • I don't want to do UI-heavy projects. Lots of effort is required to get the right result, and it usually is not that difficult, just a pain. I want to do resolve algorithmically complex problems (transformations, refactoring).
    • I'd like to automatically synchronize UCEd and jUCMNav, but have come to realize that their purposes are too different. UCEd has a notion of time and the tool is based on state machines while jUCMNav does not. [whole other discussion here]
  • I'd like to drop the automatic synchronization part and have automatic transformation instead. I insist on automatic (or should it be automated?) because I don't to build UIs that help users resolve problems.
  • The work that seems relevant (see next section) brings up alternate title ideas:
    1. Round-Trip Requirements Engineering: Use Case Map Analysis Enhancements
      • Doesn't make sense with RTRE, a part that I want in the title. Vague (doesn't say what is done) while still too specific (didn't only do analysis enhancements)
    2. Round-Trip Requirements Engineering: Bridging the gap between various requirements engineering notations
      • Sounds a bit pompous. Vague & possibly too large.
    3. Round-Trip Requirements Engineering: Towards tighter integration of Use Case Maps and other requirements engineering notations
      • What do you think? I don't like it but I'm running out of ideas.

Draft of Work

Done (at least partially)

  • Addition of Import / Export Wizard.
  • Creation of UCEd Import
  • Addition of scenarios to jUCMNav
    • Focus on new features:
      • New data types: integers/enumerations
      • Inclusion / Inheritance (?)
      • Dual syntax: SDL / Java
      • Traversal parameters:
        • Determinism vs Non-determinism
        • Patient vs Impatient
        • Concurrency parameters

To Be Completed

  • Introduce concurrency in traversal algorithm
  • jUCMNav Scenarios / Strategies: Extension point
  • Create of Use Case Export (to UCEd / HTML Report)
  • Integration of MSC viewer into jUCMNav
  • Export to MSC

Ideas

  • Show what is not covered by any scenarios
  • Copy-paste jucmnav to jucmnav
  • More integration with GRL, UCM traversal depends on GRL results.
  • Reverse-engineer of Use Case Diagram from UCM set
  • More import/export ... focus on Eclipse UML plugins that are available
  • TODO

Review of literature

  • Areas
    1. UCM <-> other notation
    2. Use Cases
    3. Daniel Amyot
    4. Lionel C. Briand
    5. UML
    6. MSC (SDL?)
    7. Activity Diagrams vs MSC

Read

To read

Timeline

  • TODO
  • Need to define priorities, what could be cut if not enough time.
    1. UCM <-> UML Sequence Diagram
    2. UCM <-> Use Case Diagram
    3. What is not covered by any scenario? (although I don't think it would take much time)
    4. Traversal depends on GRL links (although I don't think it would take much time)

Thesis Outline (Draft)

    1. Introduction to UCMs and jUCMNav as of September 2005
    2. Tool enhancements since
      1. Import/Export
      2. GRL & Strategies
      3. Scenarios
    3. New analysis capabilities
      1. New scenario data model
      2. New scenario inclusion/inheritance
      3. Traversal depends on GRL links
    4. A world of possibilities, source&target notations
      1. Notation 1 : Use Cases
        • Why? Very close to UCMs, very widely used.
        • Tool: UCEd to avoid having to implement NLP.
        • Transformations by example (bi-directional), illustrate difficulties
        • Limitations
      2. Notation 2: MSCs
        • Why? URN / SDL stardardized by ITU-T.
        • Tool: MSC viewer eclipse plugin. Is there anything to create MSCs other than Tau?
        • Transformations by example (bi-directional ?) , illustrate difficulties
        • Limitations
      3. Notation 3: UML Sequence Diagram
        • Why? UML widely used. Incrementally not very difficult to add (or am I mistaken?)
        • Tool: TBD. (UML Eclipse Plugin)
        • Transformations by example (bi-directional?), illustrate difficulties
        • Limitations
      4. Notation 4: UML Use Case Diagram * Why? Brings us back to our first notation, but at a level of abstraction above it. Often a missing piece of information when viewing UCM models. * Tool: same as 3, ideally well integrated into jUCMNav. * Transformations by example (bi-directional?), illustrate difficulties * Limitations
    5. Future Work
    6. Conclusion

Discussions

  • We need to discuss scenario inclusion versus inheritance.
  • We need to discuss what are the issues when exporting to MSC/sequence diagram directly versus intermediate language. Need to discuss what is hard when doing this.
Topic revision: r1 - 07 Nov 2006 - 16:17:59 - Jason Kealey
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback