Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 Update Policy ~ Where we are in 3.2.

Slides:



Advertisements
Similar presentations
Eric J. Oszakiewski MCTS: SharePoint Application Development SharePoint Configuration.
Advertisements

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.
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.
NREL is a national laboratory of the U.S. Department of Energy Office of Energy Efficiency and Renewable Energy operated by the Alliance for Sustainable.
Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
Using XACML Policies to Express OAuth Scope Hal Lockhart Oracle June 27, 2013.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Processes CSCI 444/544 Operating Systems Fall 2008.
Maintaining and Updating Windows Server 2008
Module 8 Implementing Backup and Recovery. Module Overview Planning Backup and Recovery Backing Up Exchange Server 2010 Restoring Exchange Server 2010.
Copyright (c) 2005 IBM Corporation; made available under the EPL v1.0 Enhancements in Memory View December 21, 2005.
June 5, 2013 XenClient Enterprise 5.0 Engine VNC Remote Access.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
Systems Development Life Cycle Dirt Sport Custom.
Implementing File and Print Services
® IBM Software Group © IBM Corporation ITIM Common Lifecycle Operation Modifications.
SDL Proprietary and Confidential IMS Campaign Manager Intra-day Updates and Response Attribution SDL Campaign Management Solutions.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
® IBM Software Group © 2008 IBM Corporation Setting up Build Forge demo projects for ALM Windows only May – work in progress Stuart Poulin
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
Alerts Manager Refer to Slide 2 for instructions on how to view the full-screen slideshow.Slide 2.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Module 7: Resolving NetBIOS Names by Using Windows Internet Name Service (WINS)
Virtual Memory Expanding Memory Multiple Concurrent Processes.
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.
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
Selena Extension Christian Brand Eckart Langhuth Matthias Metzler
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
Implementing ISA Server Caching
Lunch Bytes! Quick and simple nuggets to feed your appetite for knowledge. Always 15 minutes or less. Essential information FAST. A fun-filled way to cap.
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.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
1 eCoRepair New Release Slide Expanded view of Circuit Details Change to Circuit Looping text4 View of closed faults up to 30 days old5 - 7 Minor.
Eclipse Debug Views Update Policy. 2 Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
INCREMENTAL AGGREGATION After you create a session that includes an Aggregator transformation, you can enable the session option, Incremental Aggregation.
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Sitecore.net Training, Oct ECM 2.1 UPDATE 2 PART 1 CRAWL BEFORE YOU WALK.
© 2007 by IBM; made available under the EPL v1.0 | Jan 9 th, 2007 Darin Wright IBM Rational Software Debug Platform 3.3.
111 State Management Beginning ASP.NET in C# and VB Chapter 4 Pages
Translation Lookaside Buffer
JavaScript, Sixth Edition
Course Objectives After completing this course, you should be able to:
Processes and threads.
Securing the Network Perimeter with ISA 2004
Introduction to Patient Lists
Processor Fundamentals
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
Lecture 3: Main Memory.
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Code Composer Essentials 3.0
Overview Multimedia: The Role of WINS in the Network Infrastructure
MECH 3550 : Simulation & Visualization
Chapter 4: Threads.
Presentation transcript:

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 Update Policy ~ Where we are in 3.2

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 2 Agenda  Overview of Design  Design of a Prototype  What you can do in 3.2  Challenges / Issues  Plans for Next Release

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 3 Overview of Design  Update Policy has been split off into two components:  Update Policy  Model Proxy  Update Policy  Tightly coupled with the viewer  Created once when the viewer is created  Model Proxy  Platform provides default adapter for model proxies: E.g. variables view model proxy, expression view model proxy  Clients can create model proxy by providing adapter to IModelProxyFactoryAdapter  Install when an element with a new model proxy is mapped to a view

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 4 Update Policy + Model Proxy ViewerModel Presentation Context Model Proxy Element Update Policy fires deltas update Model Proxy Factory installs

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 5 Building an Manual Update Policy  Goal:  Build an update policy that allow user to freeze a view and update manually.  Step 1:  How should this be implemented? Option A: Change update policy in the viewer when user decides to freeze the view. Option B: Model Proxy to stop firing events when the view is frozen. Result: Option B. −There is really no API to do Option A.

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 6 Step 2: Design of the Prototype Create action in Variables View to disconnect the view from model. When a view is disconnected, the view will stop updating. Create action in Variables View to refresh view manually. The view will be refreshed even if it is disconnected. Set up preference for connecting and disconnecting views. Demo

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 7 Step 2: Design of the Prototype Customized Model Proxy Viewer Presentation Context Element Update Policy fires deltas update Model Proxy Factory installs Model Preference Store modify Disconnect Action Get Preference [Disconnect?] Debug Events

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 8 Step 3: When View and Model are Out-of-Sync  Problem: View and Model cannot be updated independently  View always gets the latest and greatest when: Update policy receives a model changed event Input is changed in the view (due to changes in debug context)  Caused the view to be updated even when it should not be updating.  Content needs to be cached in order to allow views and models to update independently.  Get current data after the model is changed  Return cached data otherwise  Benefits:  Performance  Allow view and model to update independently  Also allows views that show the same data to update independently. E.g Multiple Variables View, Renderings in Memory View

Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 9 Background: Content Adapter  Content Adapter defined by type.  Shared among views.  E.g. Variables and Registers View share stackframe content adapter Viewer Model Presentation Context Content Adapter Element 1. #getAdapter Viewer Element 2. Get Children 3. Return Children

Copyright (c) 2006 IBM Corporation; made available under the EPL v Step 4: Caching by Model View Cache [view id] [debug context] View Cache [view id] [debug context] Model 2. Get Children View Cache Manager [Debug Target] Content Adapter 1. Get Cache 3. Cache Data & Mark Updated Create and Manage 1.The content adapter is asked to get children. 2.The content adapter asks for cache based on presentation context and debug context. 3.If cache is empty, the content adapter gets children from its model. 4.The content adapter makes a copy of the data and store it in the cache. 5.Content adapter marks view cache as updated.

Copyright (c) 2006 IBM Corporation; made available under the EPL v Step 5: View Update with Cache View Cache [view id] [debug context] View Cache [view id] [debug context] Model View Cache Manager [Debug Target] Content Adapter 1. Get Cache 2. Check #isStale() 3b. Get Children 1.Model Proxy fires a change event. 2.Viewer’s update policy receives the change event and asks the viewer to update. 3.The viewer asks the content adapter for children again. 4.The content adapter retrieves the correct cache from View Cache Manager. 5.The content adapter checks if the cache is stale. 6.If the cache is stale, the content adapter gets updated children from its model 7.If cache is not stale, the content adapter asks the cache for children and return those children. 3a. Get Children Get Cache

Copyright (c) 2006 IBM Corporation; made available under the EPL v Step 6: Cache Update View Cache [view id] [debug context] View Cache [view id] [debug context] Model View Cache Manager [Debug Target] 2. Mark Stale 1.Debug session is resumed. 2.Model tells the cache manager that the cache has become stale. 3.View Cache Manager goes through its view caches and mark them all as stale. 4.Cache is updated when the same data is required again. 1. Model Resume 2. Mark Stale

Copyright (c) 2006 IBM Corporation; made available under the EPL v Step 7: … when view is disconnected View Cache [view id] [debug context] View Cache [view id] [debug context] Model 4b. Get Children View Cache Manager [Debug Target] Content Adapter 3. Get Disconnect Preference 2. #isStale() 4a. getChildren Get Cache 1.Content adapter may still be asked to get children (input changed, after resume.) 2.Content adapter gets the correct cache and checks if cache is stale. 3.Content Adapter also checks the disconnect preference and see if the view is disconnected. 4.If view is disconnected, content adapter returns children from cache if it is stale. 5.Otherwise, content adapter gets current data from model. Preference Store 1. Get Cache Viewer 5. Return Children

Copyright (c) 2006 IBM Corporation; made available under the EPL v What you can do in 3.2  Model Proxies allow clients to control how and when debug events are to be handled.  To implement update policies: 1.Client must define model-specific preference and actions for switching between update policies. 2.Clients must implement customized model proxies to fire and filter events accordingly. 3.Clients must implement customized content adapter to cache data and clear cache as necessary.  What we have in 3.2 is a start to allow clients have more control over view updates. We have still have many unanswered questions.

Copyright (c) 2006 IBM Corporation; made available under the EPL v Challenges and Issues  Update Policy is too tightly coupled with a viewer.  Cannot be easily overridden  Should clients be allowed to contribute update policies in views? (i.e. replace the update policy in the viewer.)  Update Policy is installed in a view and shared among models. It may not be such a good idea to allow a model to swap out a view’s update policy. Need a way to restore original update policy when a model is disposed.  No clear definition of responsibilities between update policies and model proxies.  When implementing an update policy, it is unclear where it should be implemented.  This implementation of model policy is model-specific.  Unable to create generic update policies to be shared and reused.

Copyright (c) 2006 IBM Corporation; made available under the EPL v Challenges and Issues  Expansion & Scrolling  Virtual Tree Viewer  Potentially cause the view to show a mix of stale and updated data. Example: View Frozen -> Step -> Expand a node  Prototype stops asking for children if content cache is not up-to-date.  Ability to disable actions in views  E.g. Logical Structure, show type names, modifying values  May not be able to support these features when data is stale  Need to be able to disable these features when needed  View population is asynchronous  Difficulties when implementing a timer update policy: Unable to tell when a view has finished updating and that the model is ready to be resumed. When there is more than one view updating, how can a model tell when all views have finished updating before it can resume.

Copyright (c) 2006 IBM Corporation; made available under the EPL v Challenges and Issues  Show Changes in View  Model is responsible to mark changes (IVariable#hasValueChanged) - except for Memory View.  OK if there is only view showing the variables.  Model gets polluted when there are multiple views showing the same data. Models cannot reliably determine changes for a view.  Multiple Views on showing the same thing while on different update policy  Need to show that views are on different update policies  Need strategy for caching to ensure that views update independently  E.g. Memory View, Multiple Variables View  How to show that data is stale?  Idea: Set view to a different font before view update. When the view has finished updating, set it back to its original font.

Copyright (c) 2006 IBM Corporation; made available under the EPL v … Next Release  Workgroup to tackle some of the issues with update policies.  Define use cases and update policies.  Outline how some of the update policies would be implemented. Clarify responsibilities of update policy and model proxy.  Tackle the problems outlined on previous slides.