13
Think! Do! Keep! OOTS 2007 John Murray Senior Product Engineer

John Murray :: Think Do Keep

Embed Size (px)

Citation preview

Page 1: John Murray :: Think Do Keep

Think! Do! Keep!OOTS 2007

John Murray

Senior Product Engineer

Page 2: John Murray :: Think Do Keep

Exploiting the Slipstream

Plan your move

Make the break

Don’t lose control

Page 3: John Murray :: Think Do Keep

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?

Page 4: John Murray :: Think Do Keep

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

Page 5: John Murray :: Think Do Keep

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

Page 6: John Murray :: Think Do Keep

Do!

Work accurately and efficiently Focus effectively Troubleshoot rapidly

Page 7: John Murray :: Think Do Keep

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

Page 8: John Murray :: Think Do Keep

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

Page 9: John Murray :: Think Do Keep

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

Page 10: John Murray :: Think Do Keep

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?

Page 11: John Murray :: Think Do Keep

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

Page 12: John Murray :: Think Do Keep

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

Page 13: John Murray :: Think Do Keep

Keep

Do

Think

JIT – Just In TimeTIJ – The Italian Job