A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 1 Progress Report - Debug Platform (3.2 M4)  State of 3.2 M4  Some Demos.

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 16 Introduction to Ajax.
Advertisements

Extending Eclipse CDT for Remote Target Debugging Thomas Fletcher Director, Automotive Engineering Services QNX Software Systems.
15 Copyright © 2005, Oracle. All rights reserved. Adding User Interface Components and Event Handling.
6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
Making the System Operational
View-Based Application Development Lecture 1 1. Flows of Lecture 1 Before Lab Introduction to the Game to be developed in this workshop Comparison between.
Content Interaction and Formatting, Tayeb LEMLOUMA & Nabil Layaïda. November Tayeb Lemlouma & Nabil Layaïda Presented by Sébastien Laborie November.
A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 1 Towards A Flexible Debug Platform (3.2)  State of the World in 3.1 and.
Technical BI Project Lifecycle
Object Oriented Programming with Java (150704).   Applet  AWT (Abstract Window Toolkit)  Japplet  Swing Types of Applet.
OOP Design Patterns Chapters Design Patterns The main idea behind design patterns is to extract the high level interactions between objects and.
6/1/2015Ch.31 Defining Enterprise Architecture Bina Ramamurthy.
Course: Operating Systems Instructor: Umar Kalim NUST Institute of Information Technology, Pakistan Operating Systems.
Eclipse Architecture Dwight Deugo Nesa Matic
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
© 2006, 2008 Wind River and IBM; made available under the EPL v1.0 | March 10, 2008 | Eclipse Device Debuging: Debugger Services Framework (DSF) Martin.
10.1 AWT The AWT classes Users today expect a Graphical User Interface (GUI) Improves application usability Difficult to implement cross-platform.
Copyright (c) 2005 IBM Corporation; made available under the EPL v1.0 Enhancements in Memory View December 21, 2005.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
© 2005 UBC; made available under the EPL v1.0 mylar a degree-of-interest model for eclipse Mik Kersten Gail Murphy Shawn.
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
Written by Liron Blecher
1/20 Symbolic Execution and Program Testing Charngki PSWLAB Symbolic Execution and Program Testing James C.King IBM Thomas J.Watson Research Center.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 12 lcdui Rob Pooley
Java Programming: Advanced Topics 1 Common Elements of Graphical User Interfaces Chapter 6.
Introducing the Eclipse Visual Editor David Gallardo.
Oracle Data Integrator Procedures, Advanced Workflows.
Writing Extension Modules (Plugins) for JAS 3 Mark Donszelmann Tony Johnson Victor Serbo Max Turri CHEP2004, 27 september-1 october 2004, Interlaken, Switzerland.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse debugger.
Flexible hierarchy design proposal. Flexible hierarchy design  Goals  Allow debug plugins to define their own debug element hierarchy and behaviour.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
Selena Extension Christian Brand Eckart Langhuth Matthias Metzler
CS324e - Elements of Graphics and Visualization Java GUIs - Event Handling.
Object Oriented Programming.  Interface  Event Handling.
1 1 ECHO Extended Services February 15, Agenda Review of Extended Services Policy and Governance ECHO’s Service Domain Model How to…
Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer.
Eclipse Debug Views Update Policy. 2 Agenda  Background  Requirements  How does it work now?  How to make it more flexible?
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 Update Policy ~ Where we are in 3.2.
ProShell Procedure Framework Status MedAustron Control System Week 2 October 7 th, 2010 Roland Moser PR a-RMO, October 7 th, 2010 Roland Moser 1.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
Understand Databound Controls Windows Development Fundamentals LESSON 4.2A.
Eclipse Debug Views Update Policy. 2 Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are.
© 2009 by IBM; made available under the EPL v1.0 | Feb 1, 2009 Seneca 2009 Tim deBoer Gorkem Ercan Extend WTP Server Tools.
Developing GUIs With the Eclipse Visual Editor, Swing/AWT Edition David Gallardo.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Darin Wright IBM Rational Software Debug Platform 3.3.
Java FX: Scene Builder.
Chapter 4: Threads.
Important terms Black-box testing White-box testing Regression testing
Important terms Black-box testing White-box testing Regression testing
Eclipse Database Plug-ins
Event loops.
Event loops 17-Jan-19.
Debugging Dwight Deugo
How to take advantage of the new Eclipse Debug Platform features
Code Composer Essentials 3.0
Event loops.
Chapter 4: Threads.
Event loops.
Presentation transcript:

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 1 Progress Report - Debug Platform (3.2 M4)  State of 3.2 M4  Some Demos  Next Steps

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 2 Progress Summary  The goal:  The debug platform should support arbitrary debug architectures and implementations of debuggers.  The good news:  The 3.2 M4 debug platform has the ground work in place to support arbitrary debug implementations  Disclaimer:  Of course, there’s still more to do…

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 3 What We Have  Support arbitrary debug models  Flexible hierarchy  all views support arbitrary content (except breakpoints view)  Asynchronous content and labels  Hierarchy of asynchronous viewers (tree & table)  Adapters provide content and labels  Cancelable  Customizable per view  Model drives the view  Model proxy interfaces model with viewer, firing deltas to describe what has changed in the model  Platform provides model proxies for standard models

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 4 View Content Viewer Model Content Adapter Request Monitor retrieveChildren() Model Specific API add(…) done() setChildren()

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 5 View Update Viewer Element Model Proxy Model refresh() update() select() expand() Model Specific API installs Update Policy model deltas

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 6 Model Proxy (what) and Update Policy (when)  What to update  A model proxy reports deltas in a model  When an element is added to a viewer, its associated model proxy (if any), is installed in the viewer. When the element is removed from the viewer, its model proxy is removed (disposed).  Model drives the view update  Factory is used to generate model proxy per element, per view  When to update  Update policy listens to deltas and updates viewer  Created by viewer  Platform provides generally useful policies (i.e. update immediately, delayed update, update on demand)

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 7 Model Proxy  The interfaces:  IModelProxyFactory  createModelProxy(Object, IPresentationContext)  IModelProxy  init(IPresentationContext)  Installed()  dispose()  add/removeModelChangedListener(IModelChangedListener)  An model proxy updates a single instance of a model in a viewer  A model proxy is installed on a specific context/viewer  Fires element deltas for an instance of a model

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 8 Model Proxy cont’d  An model proxy is usually contributed only for the root element in a model (per view)  E.g., the model proxy for a standard debug model is contributed for IDebugTarget. The proxy listens to events in that target only, and fires corresponding deltas  An implementer could choose to contribute proxies for each of its elements  The debug platform contributes Debug view model proxies for:  ILaunchManager – fires deltas as launches are added/removed  ILaunch – fires deltas process and debug targets are added/terminated  IProcess – fires delta when terminate event is fired

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v1.0 9 Model Deltas  Deltas describe changes in a model and actions to take  Tree structure similar to resource deltas  Each node describes an element in the view and its changes (if any)  Change types: ADDED, REMOVED, CHANGED, NOCHANGE  Change details: CONTENT, STATE  Actions: EXPAND, SELECT  Eg. LaunchManager (NOCHANGE)  Launch (NOCHANGE)  DebugTarget (NOCHANGE)  Thread (CHANGE, CONTENT+STATE, EXPAND)  Frame (SELECT)

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v But Wait - There’s More  Debug Context Manager  Retargettable actions  Step, terminate, etc., work on active context  Debug view is default context provider,  Flexible view wiring  Variables view gets input from active context  Expression view updates based on active context  Pluggable source lookup  based on active context

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v User Interaction Debug View Selection Actions (getAdapter IStep, etc) Source Lookup (getAdapter ISourceDisplay) Debug Context Manager Provides context Context activated

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v Demos  Java Debugger  Locks & monitors  Thread groups  Asynchronous Table  Ticker table

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v Thread Groups 1.Added thread groups to our model (IJavaThreadGroup) 2.Implemented & registered adapters:  Tree content adapter  Label adapter 3.Implemented & registered model proxy  Java debug target model proxy replaces the standard debug target model proxy, and generates paths to threads considering thread groups  Subclass of standard debug target proxy and standard thread event handler. Overrides one method that generates path to a thread.

A Flexible Debug Platform | © 2005 by IBM; made available under the EPL v Next Steps  High Priority Viewer enhancements (intended for 3.2)  Support for SWT virtual tree  Incremental content retrieval  Tree table (columns in existing views)  Pluggable cell editors  Improved Java doc  Other considerations (likely post 3.2)  Multiple contexts and view sets  Drag & drop (maybe 3.2)  Consider use of table and tree models  Re-useable model proxy hierarchy  Re-useable update policies