1 / 22

Exploiting Classification for Software Evolution

Exploiting Classification for Software Evolution. Koen De Hondt and Patrick Steyaert. Koen.DeHondt@mediagenix.com Patrick Steyaert@mediagenix.com. www.mediagenix.com. Context. Large software system for broadcast management More than 2000 classes Object-oriented framework

chelsi
Download Presentation

Exploiting Classification for Software Evolution

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. Exploiting Classificationfor Software Evolution Koen De Hondt and Patrick Steyaert Koen.DeHondt@mediagenix.com Patrick Steyaert@mediagenix.com www.mediagenix.com

  2. Context • Large software system for broadcast management • More than 2000 classes • Object-oriented framework • Customizations for several customers • Continuous evolution • Smalltalk, Envy/Developer • > 10 developers ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  3. Statement • Software classification provides two crucial ingredients in managing software evolution: • Ability to trace past activities • Ability to capture emergent patterns ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  4. Software Classification Model • Classification • Container for items • Has a structure that expresses the relationships among the items • Some classifications are restricted to one kind of item; other classifications have no restrictions • Item • An entity that is tangible in the SDE • Can reside in multiple classifications ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  5. Virtual classification All classes Smalltalk category Envy application All Envy applications All Envy application editions Envy configuration map Protocol … (extensible) Computed classification Senders/implementers Tag classification SOUL classification Smalllint classification Rewrite Tool classification … (extensible) Collaboration contract User-defined classification Model: Classifications ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  6. Model: Items • Class • Envy class extension • Envy shadow class • Class view (or participant) • Method • Classification (wrapped as an item) • … (extensible) ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  7. Classification Browser ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  8. Items in Classification Browser Class extension Method All application editions Application edition All loaded applications Configuration maps Protocol Senders User-defined classification ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  9. Classification Strategies • Manual classification • Virtual classification • Classification with advanced navigation tools • Classification through software tagging ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  10. All methods are tagged with information about the development task that is being performed The tagging information is provided once per development task Tags are processed later For change management For statistical purposes Method Tagging ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  11. Method Tagging Dialog Site (customer) Developer Framework Module Development task Development task specifics Free text field Time stamp ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  12. Video: Method Tagging ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  13. Tag Classifications in Browser ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  14. Video: Tag Classifications in Browser ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  15. Applications of Software Classification • Multiple views on software • User-defined software organization • Discovery of object collaborations • Discovery of components • Management of changes ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  16. Discovery of ObjectCollaborations m [x] Participant A Participant B x [p] m p x a b 4 • Browsing restricted to a classification • Browsing senders and implementers • Browsing acquaintances • Classification of classes as participants, methods, acquaintances, acquaintance classes • Conversion of classification to collaboration contract Participant A Participant B m p x a b 3 Participant A Participant B m p x 2 Class A Class B 1 A B ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  17. Results of Discovery • Classification Browser acts as collaboration contract browser • Translation to UML ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  18. Discovery of Components ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  19. Management of Changes ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  20. Classifications in a Spreadsheet ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  21. Conclusion • Software classification provides the two crucial ingredients in managing software evolution: • Ability to trace past activities • Ability to capture emergent patterns • How? • Classification model • Classification strategies, in particular classification through software tagging • Classification Browser ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

  22. More Information • Send mail to • Software.Classification@advalvas.be • Consult the Software Classification Pages • http://www.classification.yucom.be/ • Read my Ph.D. thesis • “A Novel Approach to Architectural Recovery in Evolving Object-Oriented Systems”, VUB 1998 • See the download section of the Software Classification Pages ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence

More Related