Unanticipated
     Integration of
Development Tools using
the Classification Model
    Roel Wuyts - Stéphane Ducasse
    U...
Contents
Integrating Development Tools

Unanticipated Tool Integration

Classification Model

Small Example

Discussion

C...
Integrating Tools
Easy, right?

   command-line tools, Macromedia, MMC, ...

But...

   Anticipated Integration!

How to i...
Unanticipated?
Hard because:

  GUI issues.

  Conceptual models differ.

  Hard to extend for new ‘items’.

Result: Users...
Solution
Use output of one tool as input for another.

Classification Model:

  lightweight grouping model of ‘items’.

  ...
Integration
Customizing the model

  adding extra services.

  support for custom items.

Allows for unanticipated integra...
Adding new Services
Classifications
                               Service

                 doObject:                     ...
Supporting Items
         doMethod: aMethod
            ^self doObject: aMethod



Classifications
                        ...
Example
Integrate SmallBrother & Advance.

‘UML diagrams’ of ‘recently used classes’.

How?

  AdvanceEditor service.

  S...
Discussion
Squeak Port

  Small basis by me

  Finished, extended by Ned Konz

Class extensions are the key!

  Allow pack...
Conclusion
Unanticipated Tool Integration.

Classification Model

  separates items and actions on items

Integrate tools ...
Last but not least...
Main client: StarBrowser

Uses Classifications Model throughout.

Currently integrates around 10 too...
Unanticipated Integration of Development Tools using the Classification Model
Upcoming SlideShare
Loading in …5
×

Unanticipated Integration of Development Tools using the Classification Model

552 views

Published on

Unanticipated Integration of Development Tools using the Classification Model (ESUG 2003, Bled)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
552
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Unanticipated Integration of Development Tools using the Classification Model

  1. 1. Unanticipated Integration of Development Tools using the Classification Model Roel Wuyts - Stéphane Ducasse University of Bern, Switzerland
  2. 2. Contents Integrating Development Tools Unanticipated Tool Integration Classification Model Small Example Discussion Conclusion
  3. 3. Integrating Tools Easy, right? command-line tools, Macromedia, MMC, ... But... Anticipated Integration! How to integrate tools that are NOT meant to be integrated? Unanticipated Integration.
  4. 4. Unanticipated? Hard because: GUI issues. Conceptual models differ. Hard to extend for new ‘items’. Result: Users do the integration manually Export/Import files, Copy/Paste. ...
  5. 5. Solution Use output of one tool as input for another. Classification Model: lightweight grouping model of ‘items’. manipulation of items by ‘services’. services registration mechanism. Implementation Visitor
  6. 6. Integration Customizing the model adding extra services. support for custom items. Allows for unanticipated integration. impose integration architecture... “... from the outside”. original tools do not need to be changed
  7. 7. Adding new Services Classifications Service doObject: doObject: anObject doExtensionalClassification: ^self iconFor: #objectItem doIntentionalClassification: doExtensionalClassification: aClassification ^self iconFor: #extentionalClassification doIntentionalClassification: aClassification ChildrenService IconService ^self iconFor: #intentionalClassification doObject: doObject: iconFor: name doExtensionalClassification: doExtensionalClassification: ^ListIconLibrary visualFor: name doIntentionalClassification: doIntentionalClassification: iconFor: IconSupport
  8. 8. Supporting Items doMethod: aMethod ^self doObject: aMethod Classifications Service MethodDefinition doObject: doExtensionalClassification: acceptService: doIntentionalClassification: MethodSupport doMethod: Smalltalk ChildrenService IconService acceptService: aService ^aService doMethod: self doObject: doObject: doExtensionalClassification: doExtensionalClassification: doIntentionalClassification: doIntentionalClassification: doMethod: doMethod: aMethod IconSupport ^self iconFor: #methodItem
  9. 9. Example Integrate SmallBrother & Advance. ‘UML diagrams’ of ‘recently used classes’. How? AdvanceEditor service. Support Methodhistory item Result: UML diagrams for all kinds of things
  10. 10. Discussion Squeak Port Small basis by me Finished, extended by Ned Konz Class extensions are the key! Allow packaging of extensions Without this: no visitor! Without Visitor: complicated model.
  11. 11. Conclusion Unanticipated Tool Integration. Classification Model separates items and actions on items Integrate tools by: customizing the classification model “from the outside”
  12. 12. Last but not least... Main client: StarBrowser Uses Classifications Model throughout. Currently integrates around 10 tool(sets). http://www.iam.unibe.ch/~wuyts/StarBrowser/ (a new URL at the ULB in the coming weeks...)

×