HEPVis 2001 May, 2001 Lassi A. Tuura, Northeastern University Coherent and Non-Invasive Open Analysis Architecture Lassi A. Tuura.

Slides:



Advertisements
Similar presentations
Apache Struts Technology
Advertisements

SEAL Developers 3, 2003 Lassi A. Tuura, Northeastern University CMS Components Plug-in Manager Lassi A. Tuura Northeastern University,
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
Core Application Software Activities Ian Fisk US-CMS Physics Meeting April 20, 2001.
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Interpret Application Specifications
Chapter 9 Using Data Flow Diagrams
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
ACAT Lassi A. Tuura, Northeastern University CMS Data Analysis Current Status and Future Strategy On behalf of CMS.
Russell Taylor Lecturer in Computing & Business Studies.
Lecture Nine Database Planning, Design, and Administration
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
MS Access Advanced Instructor: Vicki Weidler Assistant:
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
11 Games and Content Session 4.1. Session Overview  Show how games are made up of program code and content  Find out about the content management system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
MVC pattern and implementation in java
OCLC Online Computer Library Center CONTENTdm Migration Training Craig Yamashita Vice President, Technology and Product Development DiMeMa, Inc. July 2005.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Workflow Management Chris A. Mattmann OODT Component Working Group.
Denise Luther Senior IT Consultant Practical Technology Enablement with Enterprise Integrator.
Module 14: Configuring Print Resources and Printing Pools.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Using the SAS® Information Delivery Portal
ITEC224 Database Programming
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Outline What is IGUANA IGUANA and Other Projects Architecture Framework ORCA Visualisation IGUANA at D0 GEANT4 Visualisation OSCAR Visualisation DDD Visualisation.
1 st -4 th December st BioXHIT Annual Meeting WorkPackage 5.2: Implementation of Data management and Project Tracking in Structure Solution Peter.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved. Computer Software Chapter 4.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
© 2006 by WTP PMC; made available under the EPL v1.0 | Cambridge | September 6, 2006 Hakeem Shittu Software Consultant Customizing Eclipse Functionality.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
Differences Training BAAN IVc - BaanERP 5.0c: Development BaanERP 5.0c Tools.
ESG-CET Meeting, Boulder, CO, April 2008 Gateway Implementation 4/30/2008.
ACAT FNAL, October 2000 Lassi A. Tuura Analysis Environment Challenges Lassi A. Tuura Northeastern University, Boston.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
ATLAS Database Access Library Local Area LCG3D Meeting Fermilab, Batavia, USA October 21, 2004 Alexandre Vaniachine (ANL)
Giulio Eulisse, Northeastern University CHEP’04, Interlaken, 27th Sep - 1st Oct, 2004 CHEP’04 IGUANA Interactive Graphics Project:
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Geant4 User Workshop 15, 2002 Lassi A. Tuura, Northeastern University IGUANA Overview Lassi A. Tuura Northeastern University,
CPT Week, November , 2002 Lassi A. Tuura, Northeastern University Core Framework Infrastructure Lassi A. Tuura Northeastern.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Apache Struts Technology A MVC Framework for Java Web Applications.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
The Holmes Platform and Applications
Self Healing and Dynamic Construction Framework:
GWE Core Grid Wizard Enterprise (
Distribution and components
Migrating Oracle Forms Using Oracle Application Express
SDMX Reference Infrastructure Introduction
Module 01 ETICS Overview ETICS Online Tutorials
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Plug-In Architecture Pattern
Presentation transcript:

HEPVis May, 2001 Lassi A. Tuura, Northeastern University Coherent and Non-Invasive Open Analysis Architecture Lassi A. Tuura Northeastern University, Boston

May, 2001 Lassi A. Tuura, Northeastern University 2Overview v Context r The Analysis Environment Challenge r Short-term IGUANA Planning Strategy r Architecture at a Glance r Architecture Background r Objectives v Technicalities r Quick Overview r Illustration: 3D Visualisation r Application Personalities r Browsers and Sites r Putting It All Together r Other Practical Examples

May, 2001 Lassi A. Tuura, Northeastern University 3 The Analysis Environment Challenge v Analysis involves a lot more than just the interactive tool v The “PAW revolution” began closer integration with data r The move continues today with much richer object and access models àThe analysis environments will need considerable links with the rest of the experiment’s computing and software infrastructure (dangerous!) v A great range of user activities with fuzzy boundaries beyond interactive analysis and data presentation Batch, interactive, scripting, setting up applications, frameworks and configuration management tools, data store operations (replicating entire data stores; copying runs, events, event parts between stores; not just copying but also doing something more complicated—filtering, reconstruction, analysis, …), browsing data down to object detail level, 2D and 3D visualisation, moving code across final analysis, reconstruction and triggers, and so on... Today this involves (too) many tools

May, 2001 Lassi A. Tuura, Northeastern University 4 Short-term IGUANA Planning Strategy v CMS has (non-optimal) means to do analysis at the moment: PAW, Lizard, ROOT, JAS v We need more urgently tools we don't have r "De-mystifying" federation management r Ability to view meta-data and make selections based on it r Ability to browse through data sets r Configuring CARF and ORCA r GRID support àMoving to an environment where all these can be offered …while recasting existing functionality into the new form …and integrating full analysis functionality (e.g. Lizard) into the environment at a suitable moment

May, 2001 Lassi A. Tuura, Northeastern University 5 Data Store (Objectivity) File Federation wizards Cmscan Data Browser Analysis job wizards Other Non- IGUANA Tools IGUANA OSCAR ORCA CARF Tony’s scripts Objytools GRIDTools Analysis Architecture At a Glance

May, 2001 Lassi A. Tuura, Northeastern University 6 Architecture Background v Founded on two very basic requirements from Julius Hrivnac:  No one visualisation system is or ever will be “the right one”; the architecture should not be tied to one but cater for many simultaneously  Visualisation should have minimal impact on application object design v Code now in IGUANA v Currently developing a prototype to illustrate the key features and functioning of the architecture, an internal evaluation will follow v Milestone: October

May, 2001 Lassi A. Tuura, Northeastern University 7Objectives  Decouple entities where they do not need to know about each other (  interfaces): r (Re)design freedom r Language migration freedom r Reusing existing code and packages r Dynamically load only what is needed  Integrate many independently useful ways of examining and interacting with data (= "browsers") into one architecture r Browsers should not need to know about each other to communicate or to form a seamless user interface

May, 2001 Lassi A. Tuura, Northeastern University 8Objectives...  Minimise the effort of (  encourage): r Designing a new browser r Presenting an application object in a browser r Making the above two available in applications  Allow the analysis environment to be built of components r Add new features by adding components r Use the same components in many applications r Allow the components to integrate with the application state

May, 2001 Lassi A. Tuura, Northeastern University 9 Quick Overview v Main parts r Tiny kernel r Bunch of plug-ins – Application personalities (drivers) – Application extensions (components) – Browser Sites – Browsers – Browser Models – Representation converters r “Other” shared libraries (in particular application logic and data) iguana  New generic application called iguana r Loads and executes a given personality (“IGUANA” by default) r … or dumps out plug-in database information

May, 2001 Lassi A. Tuura, Northeastern University 10 Illustration: 3D Visualisation

May, 2001 Lassi A. Tuura, Northeastern University 11 Illustration: 3D Visualisation... QMainWindow Browser Site QMDIShell Browser Site QMDIShell Browser Site 3D Browser Twig Browser

May, 2001 Lassi A. Tuura, Northeastern University 12 Illustration: 3D Visualisation... 3D Browser Twig Browser 3D Model Twig Model Object A Object B Twig Rep A Twig Rep B 3D Rep A 3D Rep B AppRepsBrowsers

May, 2001 Lassi A. Tuura, Northeastern University 13 Application Personalities v The personality driver is the “main program” r Defines what to do, running it amounts to running the program r Can choose how much it uses the rest of the IGUANA architecture r Binds with application extensions v Exports common interfaces to application extensions r “Qt main window driver”  access to the menus, tool bars,... r “CARF main driver”  access to CARF actions and notifications,... v The extensions are available to all application personalities r Common wizards (federation operations, GRID tasks,...) r Once written, an extension is available to any personality with the appropriate interface

May, 2001 Lassi A. Tuura, Northeastern University 14 Browsers and Sites v Browsers are created within sites r A collection of Qt sites that export appropriate Qt widgets r Could also be a sub-process channel, Java widget, … r Dynamic site and browser creation from a description (e.g. XML file) v A browser is a way of looking at or interacting with application objects r Uses one or more models r Can be heavy-duty (OpenInventor viewer), or light-weight (tool tip) r Can be abstract and completely hidden from the user interface: object scripting information, hooks to interact with the application,... v Models are made of reps (application object representations) r Reps are not usually the application objects, but objects specific to the model: a SoNode, the list of the object’s properties, text for the tool tip,...

May, 2001 Lassi A. Tuura, Northeastern University 15 Putting It All Together v Highly decoupled system r A browser only knows its model and reps r Application objects know nothing about browsers or reps r No comprehensive list of all combinations r So who knows how to create rep X from object Y? v Solution: runtime binding r Separate definition for every combination r Bindings come from converter plug-ins and are loaded on demand r The framework chooses the most applicable combination based on an efficient matching of the possible candidates r (Technically: a multi-method)

May, 2001 Lassi A. Tuura, Northeastern University 16 Other Practical Examples v Possible candidates for “yet another browser” r Data query interface – Could present the source and result data sets – Would allow to edit the selection/query expression – Attributes that can be queried could be presented as a rep r Command line – Needs scripting bindings for objects—reps? – Can monitor what other browsers do and translate back to script v Automating many CMS-specific tasks r Not much more than a wizard hooked on to the menus and tool bars r Most will require negligible access to application state r …but can benefit tremendously from a common look and feel!

May, 2001 Lassi A. Tuura, Northeastern University 17 The Plug-In Manager v Maintains a list of directories with plug-in definitions v Plug-in = shared library with well-defined entry points v Automatically detects new, changed or removed plug-ins r For new or changed ones loads the plug-in, queries for its capabilities, and unloads the plug-in r Maintains a cache of plug-in properties r Updates the cache if the directory is writable v When requesting information from the database, it uses the cache instead of loading all the plug-ins all the time v A separate generic package; the object browser architecture defines a specific implementation

May, 2001 Lassi A. Tuura, Northeastern University 18Multi-Methods v A virtual function defines a family of functions that is polymorphic on the first argument (the object applied to) void print (virtual Base *, std::ostream &out); void print (virtual Derived *, std::ostream &out); v A multi-method is a family of functions that is polymorphic in N arguments; the selection is done as per normal overloading rules, but at run-time Point intersect (virtual Trajectory*, virtual Surface*); Point intersect (virtual Line *, virtual Plane *); Point intersect (virtual Helix *, virtual Sphere *); v My implementation was designed with dynamic loading in mind r Family can be extended and shrunk by loading/unloading libraries r Maintains reverse look-up tables, not the full (# classes) N matrix