• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Unanticipated Integration of Development Tools using the Classification Model
 

Unanticipated Integration of Development Tools using the Classification Model

on

  • 476 views

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

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

Statistics

Views

Total Views
476
Views on SlideShare
476
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Unanticipated Integration of Development Tools using the Classification Model Unanticipated Integration of Development Tools using the Classification Model Presentation Transcript

    • Unanticipated Integration of Development Tools using the Classification Model Roel Wuyts - Stéphane Ducasse University of Bern, Switzerland
    • Contents Integrating Development Tools Unanticipated Tool Integration Classification Model Small Example Discussion Conclusion
    • 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.
    • 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. ...
    • 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
    • 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
    • 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
    • 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
    • Example Integrate SmallBrother & Advance. ‘UML diagrams’ of ‘recently used classes’. How? AdvanceEditor service. Support Methodhistory item Result: UML diagrams for all kinds of things
    • 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.
    • Conclusion Unanticipated Tool Integration. Classification Model separates items and actions on items Integrate tools by: customizing the classification model “from the outside”
    • 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...)