Presentation is loading. Please wait.

Presentation is loading. Please wait.

Exploiting Classification for Software Evolution Koen De Hondt and Patrick Steyaert Patrick

Similar presentations


Presentation on theme: "Exploiting Classification for Software Evolution Koen De Hondt and Patrick Steyaert Patrick"— Presentation transcript:

1 Exploiting Classification for Software Evolution Koen De Hondt and Patrick Steyaert Koen.DeHondt@mediagenix.com Patrick Steyaert@mediagenix.com www.mediagenix.com

2 ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence 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

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

4 ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence 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

5 ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Model: Classifications 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

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

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

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

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

10 ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence Method Tagging 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

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

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

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

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

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

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

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

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

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

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

21 ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence 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

22 ECOOP 2000 Workshop on Objects and Classification: a Natural Convergence 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


Download ppt "Exploiting Classification for Software Evolution Koen De Hondt and Patrick Steyaert Patrick"

Similar presentations


Ads by Google