Your SlideShare is downloading. ×
John Murray :: Think Do Keep
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

John Murray :: Think Do Keep


Published on

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Think! Do! Keep! OOTS 2007 John Murray Senior Product Engineer
  • 2. Exploiting the Slipstream
    • Plan your move
    • Make the break
    • Don’t lose control
  • 3. Think!
    • Starting position
      • What is where?
      • How does it work now?
    • Goal
      • How do we want things to be?
      • What will we gain?
    • Devising change
      • What is to be altered?
      • In what sequence?
    • “Is that clear?”
      • Do we all know what we’re doing?
  • 4. Think! – Umlanji
    • Picture your Caché or Ensemble classes
    • Create UML class diagrams directly from your class definitions
      • Accurate
      • Complete
      • Up to date
    • Understand someone else’s classes
    • Explain your classes to others
  • 5. Umlanji’s Slipstreaming
    • Leveraging existing UML modelling tools
      • Umlanji generates XMI file from class definitions
        • Poseidon from Gentleware
        • Enterprise Architect from Sparx
        • others
    • Exploiting Caché Studio extensibility
      • Integrates as an add-in
  • 6. Do!
    • Work accurately and efficiently
    • Focus effectively
    • Troubleshoot rapidly
  • 7. Do! – Serenji
    • M and COS code editor running on Windows
      • Caché and Ensemble (INTs, MACs and INCs)
      • GT.M
      • Also M21, MSM and DSM
    • Syntax colouring as you type
    • Collapsible blocks for dotted-DOs and {…}
    • Boundary marking, and highlighting of unreachable code
    • ‘ Live’ subroutine and extrinsic function calls
      • Tip showing comment and parameter mapping
      • Navigable – jump to target, go back
    • Bookmarks
    • Tabbed multi-document view, splittable panes
  • 8. Doing More
    • Control interactive or background processes
      • Click in margin to set breakpoints, optionally conditional or deferred
      • Step in, over, out, run to here
      • Break on change of arbitrary expression
      • Break on error
    • Hover to see value of variable or expression
    • View symbol table at each stack level
    • Have direct access to execution context
      • e.g. change variables, then continue
    • Debug faulty code, understand functioning code
  • 9. Serenji’s Slipstreaming
    • RE/parser
      • Parser for M syntax
      • Implemented in M
    • MSM-Workstation
      • Compact M engine, easily deployed
      • Runs on Windows
    • SourceView ActiveX control
      • Text editor component architected to permit plug-in parsers
      • Infrastructure for collapsible blocks
  • 10. Keep!
    • Keep your work
      • Preserve changes over time
      • Give confidence to blaze a trail, knowing you can revert
    • Keep control
      • Parallel working serialized when necessary?
      • Been through correct testing and approval stages?
      • Right pieces in right places?
      • Fixes to previous product releases rolled forward to next one?
      • Reproducible build?
  • 11. Keep! – VC/m
    • Version control, workflow and configuration management for:
      • M and COS code & data
      • Classes
      • Web pages (CSP, EWD, HTML)
      • Arbitrary text or binary files
    • Retain versions of your code as you change it
    • Control and integrate concurrent changes
    • Manage multiple release cycles
    • Specify workflow controlling how changes are deployed
  • 12. VC/m’s Slipstreaming
    • Web browser technologies
      • DOM and Javascript
        • Script the manipulation of the Document Object Model
      • XML and XSLT
        • Serve pure data, and supply a transform that renders it presentable
    • Beyond Compare
      • Visual diff tool capable of accessing FTP sites
      • VC/m masquerades as an FTP site whose directory structure is optimized for the diff tasks a VC/m user needs to perform
      • Next version of BC implements Merge, so VC/m will benefit
  • 13. Keep Do Think JIT – Just In Time TIJ – The Italian Job