Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 Project Help CSU 670 Fall 2004 Karl Lieberherr

2 New Book on Eclipse @BOOK{gamma-beck:eclipse, AUTHOR = "Erich Gamma and Kent Beck", TITLE = "Contributing to Eclipse", PUBLISHER = "Addison Wesley", YEAR = 2003, SERIES = "Eclipse Series" }

3 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.

4 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.

5 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. –…

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

7 What else can go wrong? ??

8 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

9 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.

10 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.

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

12 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.

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

14 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.

15 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!!!


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

Similar presentations


Ads by Google