Think! Do! Keep! OOTS 2007 John Murray Senior Product Engineer
May 21, 2015
Think! Do! Keep!OOTS 2007
John Murray
Senior Product Engineer
Exploiting the Slipstream
Plan your move
Make the break
Don’t lose control
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?
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
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
Do!
Work accurately and efficiently Focus effectively Troubleshoot rapidly
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
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
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
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?
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
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
Keep
Do
Think
JIT – Just In TimeTIJ – The Italian Job