University of British Columbia Software Practices Lab Experiences Building Research Tools Andrew Eisenberg & Terry Hon.

Slides:



Advertisements
Similar presentations
©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED. Java Integrated Development Environments Heather Natour Senior Lead Engineer Blackboard Inc. July 18 th 10:15am.
Advertisements

Control System Studio (CSS)
CIMCO Integration Software Products
Layout Library Story line Preview screen Tool selection menu.
Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
Google Earth/Sky in the Classroom. What is Google Earth/Sky? Google Earth is free program which allows users to: Explore geographic locations both on.
1 CA202 Spreadsheet Application Combining Data from Multiple Sources Lecture # 6.
Excel Tutorial 6 Managing Multiple Worksheets and Workbooks
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
Introduction to SAS Programming Christina L. Ughrin Statistical Software Consulting Some notes pulled from SAS Programming I: Essentials Training.
1 eclipse Tips. 2 What is eclipse? Eclipse is a popular IDE (Integrated Development Environment) that we will use to create, compile, execute, and test.
Viewing this Tutorial Use the ‘Down’ arrow on your keyboard, or left click your mouse, to move to the next point. Use the ‘Up’ arrow to go back. Use the.
Lesson One: The Beginning Chapter 2: Processing Learning Processing Daniel Shiffman Presentation by Donald W. Smith Graphics from built-in help reference.
University of British Columbia Software Practices Lab Fluid AOP Join Point Models Terry Hon Gregor Kiczales.
University of British Columbia Software Practices Lab 2005 CASCON A Fluid AOP Editor Terry Hon Gregor Kiczales.
University of British Columbia Software Practices Lab Expressive Programs Through Presentation Extension Andrew D. Eisenberg and Gregor Kiczales.
Eclipse Architecture Dwight Deugo Nesa Matic
University of British Columbia Software Practices Lab CAS Seminar 06 Fluid AJ - A Simple Fluid AOP Tool Terry Hon Gregor Kiczales.
Java Programming Working with TextPad. Using TextPad to Work with Java This text editor is designed for working with Java You can download a trial version.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Type my athens login into any search engine, then click on the link. Type in your username and password. The username is your student number preceded.
Lesson One: The Beginning
My Workspace Profile. Using the course menu, click on Profile.
Object Linking and Embedding A tool which allows different software application packages to share data.
Drawing forecast charts. Open NeLant basic map area.
CRSX plug-in development. Prerequisites Software and Libraries Eclipse RCP (3.5 or higher) –Go –Select.
CLEO’s User Centric Data Access System Christopher D. Jones Cornell University.
1 eclipse Tips. 2 What is eclipse? Eclipse is a popular IDE (Integrated Development Environment) that we will use to create, compile, execute, and test.
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.
Introduction to Spreadsheet Software. Spreadsheets and Their Uses Examples of Charts Spreadsheet Basics Spreadsheet Map Types of Spreadsheet Data Navigating.
Inspire students to develop ideas & organize thinking
© 2008 The McGraw-Hill Companies, Inc. All rights reserved. WORD 2007 M I C R O S O F T ® THE PROFESSIONAL APPROACH S E R I E S Lesson 7 Move and Copy.
1 2 Lab 2: Organizing Your Work. 2 Competencies 3 After completing this lab, you will know how to: 1. Use Explorer to manage files. 2. Copy files. 3.
Chapter Three The UNIX Editors. 2 Lesson A The vi Editor.
Microsoft Office Word 2013 Expert Microsoft Office Word 2013 Expert Courseware # 3251 Lesson 3: Customizing Document Elements.
1 The EDIT Program The Edit program is a full screen text editor that allows you to: Create text files Create text files Edit an existing text files Edit.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
Chapter One An Introduction to Visual Basic 2010 Programming with Microsoft Visual Basic th Edition.
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
Prachi Chitnis.  The CSS feel  SDS – Synoptic Display Studio  ADL Converter  PV table, Probe…
GumTree Development Environment Setup Windows Only Compatible with Eclipse 3.2 M3 (Last update: 16/11/05)
Lesson 2: Manipulating Text Courseware #: 3240
Eclipse 24-Apr-17.
Chapter Three The UNIX Editors.
Java Programming, Second Edition Appendix A Working with Java SDK 1.4.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Editing Basics Lesson 8. Skills Matrix SKILL #MATRIX SKILL 2.2.1Cut, copy, and paste text 2.2.2Find and replace text 4.1.1Insert building blocks in documents.
Walking with Wiki Presentation: Cameron Janzen. Overview What is a Wiki? What is the purpose? Example work Getting started – three main steps Creating.
Landscaper 101. Time Code AMC AMCNET HELP!!! Where do you go for help? –Upper right corner has a ? for the online help –This presentation.
Crash ! A serious error in the computers malfunction ! My computer crashes all the time.! A car crash The computer works normally !
Editing Documents Lesson 2. Editing Involves: Adding Deleting Changing Moving Correct errors Refine the appearance of the document.
Chapter 3 Graphs and Charts. Agenda Chart Object linking and embedding.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
Microsoft PowerPoint Prepared by the Academic Faculty Members of IT.
aspectj tools new and noteworthy Mik Kersten University of British Columbia Andy Clement, George Harley IBM Hursley Labs.
WEB DESIGN CONCEPTS Brayden Burr. UNDERSTANDING THE CONTENT.
Java IDE Dwight Deugo Nesa Matic
Eclipse Plug-in for Authoring and Debugging Higher-order Rewriting
Building the Northwind database from a SQL script
Text Editors Vim (Chapter 6) Emacs (Chapter 7)
Control System Studio (CSS)
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
By Rajanikanth B Eclipse IDE Overview By Rajanikanth B
Implementing FOP Framework
Making a non-linear slide show
Review of Previous Lesson
Mu Editor – New User Cheat Sheet – CircuitPython Mode
Mu Editor – New User Cheat Sheet – CircuitPython Mode
Plug-In Architecture Pattern
Presentation transcript:

University of British Columbia Software Practices Lab Experiences Building Research Tools Andrew Eisenberg & Terry Hon

Andrew Eisenberg and Terry Hon University of British Columbia Building Research Tools in Eclipse Linked Editing (Terry) –good and bad Mapping graphical editor to source code (Andrew) –works well Weaving into Eclipse (Andrew) –not ideal Using GEF as a text editor (Andrew) –works, but messy

Andrew Eisenberg and Terry Hon University of British Columbia

Linked Editing Supported –Linking multiple positions in files –Simultaneous changes for all linked positions Not supported –Cursor updates –Linking different code

Andrew Eisenberg and Terry Hon University of British Columbia Good, Bad, and Ugly Graphics Source mapping (good) Weaving into the Eclipse framework (bad) Using GEF as a text editor (ugly)

Andrew Eisenberg and Terry Hon University of British Columbia Editing Equations

Andrew Eisenberg and Terry Hon University of British Columbia public class AcceptCadrString {... char c = 'c'; char a = 'a'; char d = 'd'; char r = 'r'; char x = 'x'; public boolean g() { return length++ < MAX_LENGTH; } Mapping from a non-textual display Display Byte code/ Expanded AST Stored Source... Render Good

Andrew Eisenberg and Terry Hon University of British Columbia Good results Once it worked…it worked Got lots for free: –syntax highlighting –error highlighting –clicks on different views –refactoring

Andrew Eisenberg and Terry Hon University of British Columbia Weaving into JDT core ajc does not work –OSGi classloading issues Ajeer (dynamic weaver for Eclipse) –performance issues Used ant scripts 1.extracted original JDT core jar 2.weaved 3.recreated jar 4.copied to new location Overall, fairly restrictive Bad

Andrew Eisenberg and Terry Hon University of British Columbia Works, with restrictions ITDs Accessible Through Content Assist Advice can be applied internally only Cannot access pointcuts externally

Andrew Eisenberg and Terry Hon University of British Columbia Quirkiness: GEF as Text Editor Arrow keys (Ctrl/Shift behavior) Mouse behavior Tabs not displayed Artifacts with selection Ugly

Andrew Eisenberg and Terry Hon University of British Columbia Artifacts with selection My Editor (ETMOP Editor) JDT Editor

Andrew Eisenberg and Terry Hon University of British Columbia Overall Eclipse is extensible, but only in some limited defined ways If you are willing to get your hands dirty –Lose forward/backward compatibility if internal APIs used