John Murray :: Think Do Keep

809
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
809
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

John Murray :: Think Do Keep

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

    Clipping is a handy way to collect important slides you want to go back to later.

×