Project Help CSU 670 Fall 2004 Karl Lieberherr. New Book on AUTHOR = "Erich Gamma and Kent Beck", TITLE = "Contributing.

Slides:



Advertisements
Similar presentations
Design Issues for General-Purpose Adaptive Hypermedia Systems Hongjing Wu, Erik de Kort, Paul De Bra Eindhoven University of Technology The Netherlands.
Advertisements

JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Foundational Certified Code in a Metalogical Framework Karl Crary and Susmit Sarkar Carnegie Mellon University.
Introduction to Eclipse plugin development for CSU 670 course project, Selector language (Xaspect) editor plugin implementation.
Semantic Mutation Testing John A. Clark, Haitao Dan, Robert M Hierons.
Computer Software & Software Development H&K Chapter 1 Instructor – Gokcen Cilingir Cpt S 121 (June 20, 2011) Washington State University.
Slides prepared by Rose Williams, Binghamton University Chapter 1 Getting Started 1.1 Introduction to Java.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Chapter 6 In introduction to System Software and Virtual Machine ***Assembly Language.
Program Flow Charting How to tackle the beginning stage a program design.
Getting Ready for Java. What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made to understand.
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
15-Jul-15 Getting Ready for Java. What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made to.
An Overview of Computers and Programming
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
An ide for teaching and learning prolog
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
Introducing Java.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
O BJECT O RIENTATION F UNDAMENTALS Prepared by: Gunjan Chhabra.
1 Test Automation For Web-Based Applications Selenium HP Web Test Tool Training Portnov Computer School.
Chapter 1.4 Programming languages Homework Due: Monday, August 11, 2014.
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
ICAPRG301A Week 4Buggy Programming ICAPRG301A Apply introductory programming techniques Program Bugs US Navy Admiral Grace Hopper is often credited with.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
ECE 452 / CS 446 / SE464 Design Patterns: Part 2 - Answers A Tutorial By Peter Kim Partially based on the tutorial by Michał Antkiewicz.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
© 2006 Pearson Education 1 Obj: cont 1.3 and 1.4, to become familiar with identifiers and to understand how programming languages work HW: p.51 #1.8 –
Graph Visualization Plug-in for Eclipse Gong Jun CCIS Northeastern Univ 10/2003 How To Finish your Project within Four Weeks.
Chapter 14 Asynchronous Network Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
Mrs. Ulshafer August, 2013 Java Programming Chapter 1.
ECE 452 / CS 446 / SE464 Design Patterns: Part 2 - Questions A Tutorial By Peter Kim Partially based on the tutorial by Michał Antkiewicz.
5-Jun-16 Getting Ready for Java. 2 What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made.
What is Matlab Course Goals Precedence Accounts & Login Variables Error Types Course Logistics Vince Bertsch Office:
© 2004 Pearson Addison-Wesley. All rights reserved ComS 207: Programming I Instructor: Alexander Stoytchev
Topic #1: Introduction EE 456 – Compiling Techniques Prof. Carl Sable Fall 2003.
Computing System Fundamentals 3.1 Language Translators.
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
29-Nov-15 Getting Ready for Java. 2 What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Project Help CSU 670 Fall 2003 Karl Lieberherr. New Book on AUTHOR = "Erich Gamma and Kent Beck", TITLE = "Contributing.
TCU CoSc Introduction to Programming (with Java) Java Language Overview.
Advanced Software Development Karl Lieberherr CSG 260 Fall Semester
Software Development Introduction
CompSci Inheritance and Interfaces  Inheritance models an "is-a" relationship  A dog is a mammal, an ArrayList is a List, a square is a shape,
NetChat Communications Systems Steven Fuqua Barnett Trzcinski Andy Street.
1 Overview of Programming Principles of Computers.
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
Linux Administration Working with the BASH Shell.
111 State Management Beginning ASP.NET in C# and VB Chapter 4 Pages
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Textual Visualization Plug-in for Eclipse Gong Jun CCIS Northeastern Univ 02/2004.
FOP: Multi-Screen Apps
Compiler Design (40-414) Main Text Book:
Working with Java.
University Of Karachi Department Of Computer Science
Deadlock Freedom by Construction
Java programming lecture one
TASK 4 Guideline.
EE 422C Java FX.
Unit 1: Introduction Lesson 1: PArts of a java program
CSE 1030: Implementing GUI Mark Shtern.
BugHint: A Visual Debugger Based on Graph Mining
Tutorial 10: Programming with javascript
Event loops.
Instructor: Alexander Stoytchev
Presentation transcript:

Project Help CSU 670 Fall 2004 Karl Lieberherr

New Book on AUTHOR = "Erich Gamma and Kent Beck", TITLE = "Contributing to Eclipse", PUBLISHER = "Addison Wesley", YEAR = 2003, SERIES = "Eclipse Series" }

Project (Model View) Inputs: –MY-CLASS-DICTIONARY satisfying the class dictionary for class dictionaries called STANDARD-SELF-DESCRIBING. –SELECTORS satisfying class dictionary SELECTORS-CD –Selector name N defined in SELECTORS.

Project (Model View) Output: –Show effect of selection (SELECTORS, N): Effect 1: if the selector name N is a node set name: The list of nodes selected in MY-CLASS-DICTIONARY. Effect 2: if the selector name N is a strategy name: The class graph computed by the constructor. ClassGraph(Traversal tg) where tg is the traversal graph constructed from the strategy with name N and MY-CLASS-DICTIONARY. –Users of the tool expect to get good error messages if they make mistakes in SELECTORS or N.

Analysis (Derive Growth Plan) Good cases: –Effect 1: Select one node with N. Colored node list should contain only that node. –Effect 1: Select several nodes using (nodes s1) where s1 is a strategy. Colored node list should contain nodes in “scope” of s1. –Effect 2: Select several nodes and edges using a strategy s1. –…

Analysis (Derive Growth Plan) Error cases: Due Oct. 29 –N not in SELECTORS. –SELECTORS is syntactically incorrect –SELECTORS is semantically incorrect

What else can go wrong? ??

Section 29: It’s Just a View Tip 42: Separate Views from Models Communication between objects through events Event: a special message: something interesting happened Sender of event does not have to know receiver

Publish/Subscribe Objects register to receive only events they need. View registers for certain events that happen in model. Can have multiple views of the same model.

Useful beyond GUIs Model: The abstract data model representing the target object. The model has no direct knowledge of any views or controllers. View: A way to interpret the model. It subscribes to changes in the model and logical events from the controller. Controller: A way to control the view and provide the model with new data. It publishes events to both the Model and View.

Our models and views Model: class dictionary STANDARD- SELF-DESCRIBING. View: Eclipse based view in text editor. Controller: control of view updating the Model.

Our models and views Model: SELECTORS-CD View: Syntax sensitive editor for SELECTORS- CD language Controller: Editor commands to update the objects defined by SELECTORS-CD.

Eclipse stages In this course Usersyou Configurersyou Extendersyou Publisherssome of you Enablersfew of you Committers

Eclipse House Rules (Extender) Monkey see / Monkey do rule: Always start by copying the structure of a similar plug- in. User Continuity Rule: Preserve the user interface state across sessions. Responsibility Rule: Clearly identify your plug-ins as the source of problems.

Plug-ins Eclipse base plus Java Environment: more than 60 large plug-ins Websphere Application Development environment: adds another 500 plug-ins Plug-ins loaded lazily Lotus Notes is put onto Eclipse: Eclipse is much more that an IDE!!!