Eclipse Debug Views Update Policy. 2 Agenda  Background  Requirements  How does it work now?  How to make it more flexible?

Slides:



Advertisements
Similar presentations
An Erlang Implementation of Restms. Why have messaging? Separates applications cheaply Feed information to the right applications cheaply Interpret feed.
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
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.
Coursework.  5 groups of 4-5 students  2 project options  Full project specifications on 3 rd March  Final deadline 10 th May 2011  Code storage.
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.
EFRONT V4 EXTENSIONS ARCHITECTURE. The goal  To offer more flexibility to 3 rd party users to modify eFront functionality  To further extend eFront.
Matt Klein. Decorator Pattern  Intent  Attach Additional responsibilities to an object by dynamically. Decorators provide a flexible alternative to.
Eclipse Architecture Dwight Deugo Nesa Matic
Adaptive Database Application Modeling API Final Project Report SOURENA NASIRIAMINI CS 491 6/2/2005.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
FI-WARE GEs Backend 1 FI-Star SEFI-Ware GE specificationFI-Ware GEi used Back-End Connectivity Service Name: S3C Extended: Yes Rationale of extension:
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
BLUETOOTH CONTROLLER BLUETOOTH CONTROLLER HARDWARE AND LIBRARY HARDWARE AND LIBRARYPROJECT ComFUTURE TECHNOLOGY.
Chapter 3.4 Programming Fundamentals. 2 Data Structures Arrays – Elements are adjacent in memory (great cache consistency) – They never grow or get reallocated.
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.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Chapter 7 Designing Classes. Class Design When we are developing a piece of software, we want to design the software We don’t want to just sit down and.
MVC pattern and implementation in java
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Take a leap towards the most promising technology
An Introduction to Software Architecture
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
XML Registries Source: Java TM API for XML Registries Specification.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters.
FlexElink Winter presentation 26 February 2002 Flexible linking (and formatting) management software Hector Sanchez Universitat Jaume I Ing. Informatica.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Flexible hierarchy design proposal. Flexible hierarchy design  Goals  Allow debug plugins to define their own debug element hierarchy and behaviour.
17 th October 2005CCP4 Database Meeting (York) CCP4(i)/BIOXHIT Database Project: Scope, Aims, Plans, Status and all that jazz Peter Briggs, Wanjuan Yang.
K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Introduction to Software System Design.
New Project Model Primary author: Mikhail Sennikovsky Contributors: Leo Treggiari Intel Corp. September, 2006.
Introduction to Java Beans CIS 421 Web-based Java Programming.
ARCH-07: Implementing the OpenEdge™ Reference Architecture – Part 2
آرمان حسين‌زاده آذر  Access to data varies depending on the source of the data.  Access to persistent storage, such as to a database, varies greatly.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
1 1 ECHO Extended Services February 15, Agenda Review of Extended Services Policy and Governance ECHO’s Service Domain Model How to…
ANDROID AND MODEL / VIEW / CONTROLLER. Slide 2 Design Patters Common solutions to programming problems are called design patterns Design patterns are.
Coding Compliance Components Writing Custom Policies for Auditing, Expiration and More Jason Morrill Program Manager Windows SharePoint Services.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
Implementation Basics in C# code Minimal C++ code Application logic in Java code.
Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 Update Policy ~ Where we are in 3.2.
Types As Globally Static, First Class Objects in VHDL-X TM Nothing in this presentation implies an offer for sale. FTL Systems is willing to provide IEEE.
CSE 332: Design Patterns (Part II) Last Time: Part I, Familiar Design Patterns We’ve looked at patterns related to course material –Singleton: share a.
Eclipse Debug Views Update Policy. 2 Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are.
Model View ViewModel Architecture. MVVM Architecture components.
© 2009 by IBM; made available under the EPL v1.0 | Feb 1, 2009 Seneca 2009 Tim deBoer Gorkem Ercan Extend WTP Server Tools.
Random Logic l Forum.NET l State Machine Mechanism Forum.NET 1 st Meeting ● December 27, 2005.
© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Darin Wright IBM Rational Software Debug Platform 3.3.
1 Digital Signatures – A Global Challenge Joachim Lingner Software Engineer Sun Microsystems 1.
Intro to JavaServer Faces Mimi Opkins CECS 493 Fall 2016.
Master Service Orchestrator (MSO)
Java FX: Scene Builder.
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
Model-View-Controller Patterns and Frameworks
Object Oriented Design Patterns - Structural Patterns
First ideas on the Register of Registers
JavaServer Faces: The Fundamentals
An Introduction to Software Architecture
GoF Design Patterns (Ch. 26)
How to take advantage of the new Eclipse Debug Platform features
Presentation transcript:

Eclipse Debug Views Update Policy

2 Agenda  Background  Requirements  How does it work now?  How to make it more flexible?

3 Background  Debug Views Update is inflexible and is driven by a pre- defined set of events.  Model cannot control when / how updates are to be commenced  Difficult to define a strategy that is suitable for all debug adapters.

4 Requirements  Make debug views update more flexible – give models better control.  Allow a view to have different update policies.  Allow models to specify different update policies for different views.  Example Policies:  Update what’s visible  Update nothing  Update all  Periodic update  Etc.

5 How does it work now?

6 How to make it more flexible?  Replace static event handler with pluggable updaters.  Updater are bound to a view using the view id and the model identifier of the input element.  Create updater when new input is set to the view.  Updater controls when view is to be populated.

7 How to make it more flexible?  Specialized updaters  Selection Event Updater  Debug Event Updater  Delayed Debug Event Updater  Timer Updater  Preference Store Changed Updater  Etc.  Updaters are responsible for controlling when a view gets content from the model.  Extends IDebugView: IDebugViewExtension.  APIs to allow updaters to update views.  Debug Platform is to provide implementations to some generic updaters.  Clients can also implement their own updaters.

8 Contributing Updaters – extension point  Clients can contribute an updater to a specific view.  Updaters are bound by model identifier and view id.  If no updater is specified, a debug view uses its current event handler as its updater.

9 Handling Multi-Targets View Multi-Targets View Static View Input Model A Model B Model C Updater 1 Updater 2 Update (elementA) Updater 3 Updater 4  Views showing content from different targets simultaneously.  Example: Debug View, Expression View  View has static view input.  Retrieve updater as new models are added.  Updaters are responsible to update elements from its model, not the entire view. Update (elementB) Update (elementC)

10 Fitting into the new scheme…  Separate out logic of view updates from view.  Updaters have no knowledge about its view.  View updates are performed via a generic interface.  Views are not tied to any updater.  View event notifications are also performed via a generic interface.  Generic View needs to handle view updater extension point and honor contributed updaters.  Easy to migrate. Generic Debug View IDebugElement View Updaters Generic Interface for Update (Update an element and its children) Generic Interface for View Events Notification