Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.

Slides:



Advertisements
Similar presentations
PCT303 – Content Publishing in SharePoint Eugene Rosenfeld Black Blade Associates
Advertisements

Munich IETF, August 1997 Fluid A Java Version of Nifty Siegfried Löffler Rechenzentrum Universität Stuttgart.
Remote Visualisation System (RVS) By: Anil Chandra.
Welcome to Middleware Joseph Amrithraj
Kalpesh Vyas & Seward Khem
A component- and message-based architectural style for GUI software
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
Interpret Application Specifications
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
1 ParaView Current Architecture and History Current Architecture and History Issues with the Current Design Issues with the Current Design.
1 DSV-IS’2006, July 2006 Visual Design of User Interfaces by (De)composition Sophie Lepreux (1,2), Jean Vanderdonckt (1), Benjamin Michotte (1) 1.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
IT 210 The Internet & World Wide Web introduction.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
Chapter 16 The World Wide Web Chapter Goals ( ) Compare and contrast the Internet and the World Wide Web Describe general Web processing.
DIRAC Web User Interface A.Casajus (Universitat de Barcelona) M.Sapunov (CPPM Marseille) On behalf of the LHCb DIRAC Team.
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
The Old World Meets the New: Utilizing Java Technology to Revitalize and Enhance NASA Scientific Legacy Code Michael D. Elder Furman University Hayden.
Enabling Embedded Systems to access Internet Resources.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
PHP With Oracle 11g XE By Shyam Gurram Eastern Illinois University.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Quick Implementation of a WAP Push Gateway Wen-Hung Su Fu Jen Catholic University Computer Science and Information Engineering Department Moblie Communication.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
User Interface Toolkit Mechanisms For Securing Interface Elements Franziska Roesner, James Fogarty, Tadayoshi Kohno Computer Science & Engineering DUB.
Reference WPx/Tx.y/YY-MM-DD/PP Distributed User Interfaces in Space and Time Jérémie Melchior Université catholique de Louvain Doctoral Consortium at EICS2011.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Faculté des sciences appliquées Département d’ingénierie informatique Presented by Transparent migration and adaptation in a Graphical User Interface toolkit.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Direct Manipulation of User Interfaces for Migration J. P. Molina 1,2, J. Vanderdonckt 1 and P. González 2 1 Université catholique de Louvain 2 University.
Internet Real-Time Laboratory Arezu Moghadam and Suman Srinivasan Columbia University in the city of New York 7DS System Design 7DS system is an architecture.
EIS'2007 (Salamanca, Spain, March 22-24, 2007) 1 Towards an Extended Model of User Interface Adaptation: the ISATINE framework 1 Víctor M. López Jaquero,
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
 Problem Definition  Presented by Sushant and Alex Overview of the problem space Scenario Issues Example (plant care example) Discussion conclusion open.
CE Operating Systems Lecture 13 Linux/Unix interprocess communication.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
Jérémie Melchior, Donatien Grolaux, Jean Vanderdonckt, Peter Van Roy Researcher at BCHI, Université.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
UPnP AV Architecture - Generic Interface Design And Java Implementation Andreas BobekUniversity of Rostock Faculty of Computer Science and Electrical Engineering.
SOCKS By BITSnBYTES (Bhargavi, Maya, Priya, Rajini and Shruti)
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
Computer Operating Systems And Software applications.
COMP1321 Digital Infrastructure Richard Henson March 2016.
Mobile Analyzer A Distributed Computing Platform Juho Karppinen Helsinki Institute of Physics Technology Program May 23th, 2002 Mobile.
Migratable User Interfaces: Beyond Migratory Interfaces Donatien Grolaux Jean Vanderdonckt Peter Van Roy.
Berkeley Lab Software Distribution Site NLIT Dan Pulsifer - Engineering May 11 th, 2008.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
GridOS: Operating System Services for Grid Architectures
ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN
Silverlight Technology
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
ARCHITECTURE OVERVIEW
Message Passing Systems Version 2
Presentation transcript:

Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented by Attach me, Detach me, Assemble me like You Work Donatien Grolaux Researcher at BCHI lab,

Outline Demonstration Migration principles: DEMIPLAT Other goals Architecture overview Conclusion

Demonstration

Demonstration using two computers

Example using a Pocket PC

UI Migration: DEMIPLAT Detach

UI Migration: DEMIPLAT Detach - Migrate

UI Migration: DEMIPLAT Detach - Migrate - Plastify

UI Migration: DEMIPLAT Detach - Migrate - Plastify - Attach

This is not a floating toolbar Process

Computer B Process This is migration ! Process Computer A

Other goals Migration mechanism at the application level –Not at the OS/Windowing system level –Full control of what is migratable and what is not –Full control on how the user migrates stuff –Cross-platform (VM on Windows, Linux, OSX, Solaris, …) Development cost as minimal as possible –No perceivable difference between stationary and migratable UIs from the application’s perspective Infrastructure cost as minimal as possible –The application creating a migratable UI acts as a server for this particular UI. –The application attaching a migratable UI to its own acts as a client for this particilar UI. –No extra infrastructure or configuration required.

Display Site Architecture overview Transparent proxy mechanisms –Proxies are empty shells relaying messages to actual widgets –Proxies react as the actual widget from the application’s perspective Application Site Communication Manager Functional CoreWidget 1 Proxy Widget 2 Proxy Widget … Proxy Widget N Proxy Widget 1 Widget 2 Widget … Widget N User Interface (using TCP)

Display Site Architecture overview Transparent proxy mechanisms –Proxies relay event bindings from the functional core –Widgets trigger these events inside the CM at the display site –The CM relays and triggers the event at the application site –Proxies store all their event bindings Application Site Communication Manager Functional CoreWidget 1 Proxy Widget 2 Proxy Widget … Proxy Widget N Proxy Widget 1 Widget 2 Widget … Widget N User Interface (using TCP) Event Listener Event Triggerer

Display Site Architecture overview Transparent proxy mechanisms –Proxies act as storage when migrating away from a site –All visual aspects of all the widgets are stored by their proxies Application Site Communication Manager Functional Core Widget Proxy Event bindings Attribute values Widget User Interface (using TCP) Attr1 Attr2 AttrN

Display Site Architecture overview Transparent proxy mechanisms –When arriving at a site, all widgets are created –Their visual aspects are restored –Their event bindings are restored Application Site Communication Manager Functional Core Widget Proxy Event bindings Attribute values Widget User Interface (using TCP) Attr1 Attr2 AttrN

Application Programming Interface A window is either stationary or migratable –Decided at creation time, and once for all –Migratable windows are migrated with all their contents along –One can use composition to split a stationary window into a combination of several stationary/migratable sub-windows A migratable window can return a universal reference –A text string (encoding the IP address, a socket number, and an internal memory address) –Can be passed along using any medium New widget: receiver –Has a method to import a migratable window from its universal reference

Composition principle 3 independent parts that we want to migrate How is it possible to turn an already existing stationary application into a (partly/fully) migratable one ?

Composition principle They are turned into 3 different migratable windows

Composition principle The space these migratable windows used to occupy are replaced by receiver widgets receiver

Composition principle At the application start- up, the migratable windows are placed into their corresponding receiver widget receiver

Composition principle The application looks exactly the same as when we started, but now the three green parts are migratable.

QTkDraw example ~5k lines of code for the original stationary version 50 lines of code to enable the toolbars migration The receiving palette application is also around 50 lines of code Nothing in the functional core of the application had to change !

A word on Oz, Mozart, and QTk Research platform: Support for OO programming style –OO binding for Tcl/Tk as the backend toolkit Support for high level data structures –Oz record is expressively equivalent to XML –The QTk binding uses a mixed declarative/imperative approach for building and running the UI QTk is part of the standard Mozart/Oz distribution Support for functional programming style –Well suited for manipulating records –UI can be (partly) calculated dynamically –Well suited for adaptive UIs Support for concurrency and distributed programming –Reduces greatly the cost of developing the distributed communication manager

Conclusion and future work This version is a proof of concept prototype, hacked over an already existing binding for the Tcl/Tk toolkit –Works well enough for demo applications, but not for real applications –Proof of concept this is a nice approach for minimizing development cost when adding migration support to an (already existing) application Currently working on a newer version –Will support different rendering engines (Tcl/Tk, GTk, Web Browser, …) –Proxies are no more empty shells, they can (at least partly) function when not connected to an actual widget –Support for P2P networks –Support for more adaptation mechanisms –Robust implementation