1 / 17

Project Help

Project Help. CSU 670 Fall 2003 Karl Lieberherr. 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" }. Project (Model View). Inputs:

acacia
Download Presentation

Project Help

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Project Help CSU 670 Fall 2003 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 Nov. 12 !! • N not in SELECTORS. • SELECTORS is syntactically incorrect • SELECTORS is semantically incorrect

  7. Semantically incorrect strategies ( // there must be at least one strategy s1 = from A via B to C; s2 = { A -> B B -> C}; s2 = { X.A -> X.B X.B -> X.C}; ) node sets ( // zero or more node sets ns1 = (nodes s7); )

  8. Semantically correct strategies ( // there must be at least one strategy s1 = from A via B to C; s2 = { A -> B B -> C}; s2 = { X.A -> X.B X.B -> X.C}; ) node sets ( // zero or more node sets ns0 = (nodes s2); ns1 = {A, B, C}; )

  9. What else can go wrong? • ??

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

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

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

  13. Our models and views • Model: class dictionary STANDARD-SELF-DESCRIBING. • View: Eclipse based view based on GEF plugin. • Controller: GEF-based control of view updating the Model.

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

  15. Eclipse stages • In this course • Users you • Configurers you • Extenders you • Publishers some of you • Enablers few of you • Committers

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

  17. 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!!!

More Related