Software Practices Lab. -- The University of British Columbia 1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De.

Slides:



Advertisements
Similar presentations
The Problem Decomposition of programs in terms of classes and in terms of crosscutting concerns are both useful, but languages based on source files allow.
Advertisements

©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED. Java Integrated Development Environments Heather Natour Senior Lead Engineer Blackboard Inc. July 18 th 10:15am.
Introduction to Eclipse cs112b1 – Lab01 by Rui Shi.
TPF/Eclipse: A New TPF Application Test Tool for the Eclipse and WebSphere ® Environments Presenter: Thiru Thirupuvanam TPF Users Group May 2003 New Orleans,
1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De Volder, Gregor Kiczales Students: Doug Janzen, Rajeswari Rajagopalan,
University of British Columbia Software Practices Lab 2005 CASCON A Fluid AOP Editor Terry Hon Gregor Kiczales.
Software Practices Lab. -- The University of British Columbia 1 JQuery: Finding your way through scattered code Andrew Eisenberg, Doug Janzen, Kris De.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Architecture Eclipse Framework with Plugin Concept JTransformer Plugin Analysis + Transformation interface: logical Program.language keeps representation.
mbe/pa/olm 1 Integration of BETA with Eclipse eTX presentation Barcelona 2004 Peter Andersen Mads Brøgger Enevoldsen Ole Lehrmann Madsen.
University of British Columbia Software Practices Lab CAS Seminar 06 Fluid AJ - A Simple Fluid AOP Tool Terry Hon Gregor Kiczales.
Lecture #4 Agenda Cell phones off & name signs out Review Questions? Objects The birds-and-the-bees talk.
Eclipse Introduction Dwight Deugo Nesa Matic
Mary K. Olson PS Query Viewer 101. Uses for Query Viewer Query viewer contains custom queries and generic system queries which can be: 
14 1 Chapter 14 Database Connectivity and Web Development Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Stimulating reuse with an automated active code search tool Júlio Lins – André Santos (Advisor) –
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
Project Implementation for COSC 5050 Distributed Database Applications Lab1.
© 2005 UBC; made available under the EPL v1.0 mylar a degree-of-interest model for eclipse Mik Kersten Gail Murphy Shawn.
Brian de Alwis and Gail Murphy Dept of Computer Science University of British Columbia, Canada Presented at the International Conference on Software Engineering.
Eclipse Overview Introduction to Web Programming Kirkwood Continuing Education Fred McClurg © Copyright 2015, Fred McClurg, All Rights Reserved.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
Ali Shahrokni Application Components Activities Services Content providers Broadcast receivers.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
Fundamentals of Database Chapter 7 Database Technologies.
Lesson 6. GCSE Computing – programming languages Candidates should be able to:  describe common tools and facilities available in an integrated development.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
What’s New in Automated Software Testing and ClearQuest Shmuel Bashan IBM Rational
1 3. Computing System Fundamentals 3.1 Language Translators.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
Introduction to Eclipse. What is Eclipse? An Integrated Development Environment Provides many features to ease C++ programming (and others, e.g. C/Java)
Eclipse Eclipse An IDE is an Integrated Development Environment Different IDEs meet different needs – BlueJ, DrJava are designed as teaching.
Eclipse. An IDE is an Integrated Development Environment Different IDEs meet different needs BlueJ, DrJava are designed as teaching tools Emphasis is.
Topic Java EE installation (Eclipse, glassfish, etc.) Eclipse configuration for EE Creating a Java Web Dynamic Project Creating your first servlet.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
CaDSR Software Users Meeting 3.1 Requirements Review 9/19/2005 caDSR Software Team Host: Denise Warzel NCICB, Assistant Director, caDSR.
Eclipse 24-Apr-17.
Eclipse. An IDE is an Integrated Development Environment Different IDEs meet different needs BlueJ, DrJava are designed as teaching tools Emphasis is.
Introduction to Common Java Development Tools (1) 1.
1 JTransformer Framework Tobias Windeln Institut für Informatik III Rheinische Friedrich-Wilhelms-Universität Bonn.
DrJava A lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University
Development with Eclipse Software Engineering Prof. Werner Krandick.
SimDB Implementation & Browser IVOA InterOp 2008 Meeting, Theory Session 1. Baltimore, 26/10/2008 Laurent Bourgès This work makes use of EURO-VO software,
14 1 Chapter 14 Web Database Development Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
1 MS Access. 2 Database – collection of related data Relational Database Management System (RDBMS) – software that uses related data stored in different.
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.
How Can I Use This Method? 2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING HOW.
Chapter 3 JSP Overview. The Problem with Servlets processing the request and generating the response are both handled by a single servlet class Java programming.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
aspectj tools new and noteworthy Mik Kersten University of British Columbia Adrian Colyer IBM Hursley OOPSLA, October
Asya Stoyanova-Doycheva University of Plovdiv Bulgaria eLSEBuilder and RFAgent – eLearning Supporting Tools in Software Engineering 1.
Software Deployment & Release 26/03/2015 1EN-ICE.
aspectj tools new and noteworthy Mik Kersten University of British Columbia Andy Clement, George Harley IBM Hursley Labs.
Eclipse 27-Apr-17.
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.
J AVA T RAINING IN A HMEDABAD By TOPS Technologies 1 TOPS Technologies Java Course.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Java IDE Dwight Deugo Nesa Matic
DEV-21: Embracing OpenEdge ® Architect Sunil S Belgaonkar Software Architect.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
Before You Begin Nahla Abuel-ola /WIT.
COSC-4840 Software Engineering
Intro To Design 1 Elementary School Library: User Sub-System Class Diagrams Software Engineering CSCI-3321 Dr. Tom Hicks Computer Science Department.
Install Ruby If you are running on Mac OS X, Ruby is preinstalled.
Java External Libraries & Case Study
Eclipse Plug-in Development
Database Connectivity and Web Development
By Rajanikanth B Eclipse IDE Overview By Rajanikanth B
Review of Previous Lesson
Presentation transcript:

Software Practices Lab. -- The University of British Columbia 1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De Volder, Gregor Kiczales Students: Doug Janzen, Rajeswari Rajagopalan, Ray Suprio This project is supported by OTI “Eclipse Fellowship” program

Software Practices Lab. -- The University of British Columbia 2 Why JQuery? IDE have a “too many browsers” problem –Different type of view = different type of browser tool Why is this undesirable? –Usage issues Disorientation caused by switching between browsers –Implementation issues Must implement many different browsers Hard to support highly specific browsers –e.g. aware of specific naming / coding conventions –specific to a task

Software Practices Lab. -- The University of British Columbia 3 JQuery: A Generic Browser Idea: Browser = navigable view on the result of a query expressed in a sufficiently expressive query language, run against a suitable “data-base” of code. Prolog-like logic language Facts describing code structure: class, method, field declarations inheritance relationships calling dependencies … Derived by calling Eclipse API’s

Software Practices Lab. -- The University of British Columbia 4 The JQuery Eclipse plugin

Software Practices Lab. -- The University of British Columbia 5 The JQuery Eclipse plugin Query How to organize results Tree-view on query results

Software Practices Lab. -- The University of British Columbia 6 Example 1: Method Browser Methods in tyRuBa.util organized by name

Software Practices Lab. -- The University of British Columbia 7 Example 2: Instance Creation Browser Where are instances of RE created?

Software Practices Lab. -- The University of British Columbia 8 Example 3: “Category Browser” Custom tags attached to classes, interfaces and methods

Software Practices Lab. -- The University of British Columbia 9 Example 3: “Class Category Browser” Classes + interfaces optimization tags

Software Practices Lab. -- The University of British Columbia 10 Example 4: Customizing Browsers Exploring creation of Figures in JHotdraw. Edit a copy of Instance Creation Browser to only show subtypes of “Figure”

Software Practices Lab. -- The University of British Columbia 11 Example 4: Customizing Browsers The resulting Figure Creation Browser: Want to know more about this?

Software Practices Lab. -- The University of British Columbia 12 Example 4: Customizing Browsers The resulting Figure Creation Browser: Add a “sub-browser”

Software Practices Lab. -- The University of British Columbia 13 Our Experience with Eclipse What we liked… –Nice integration of our tool with professional IDE –API access to Java source model –Eclipse incremental compiler We can even run queries on code that contains compilation errors!!! What we didn’t like so much –Steep learning curve for the API’s e.g: to get our “code facts” do we… –Use the AST package? –Or use the more high-level search engine API? Search engine looked good but…

Software Practices Lab. -- The University of British Columbia 14 Download The JQuery Tool A Generic Query-Based Code browser for Eclipse JDT Download The latest release of the JQuery plugin + papers about JQuery