Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 An Architecture for Distributing the Computation of Software Clustering Algorithms 2001 Working Conference on Software Architecture (WICSA'01). Brian.

Similar presentations


Presentation on theme: "1 An Architecture for Distributing the Computation of Software Clustering Algorithms 2001 Working Conference on Software Architecture (WICSA'01). Brian."— Presentation transcript:

1 1 An Architecture for Distributing the Computation of Software Clustering Algorithms 2001 Working Conference on Software Architecture (WICSA'01). Brian S. Mitchell, Martin Traverso & Spiros Mancoridis Math & Computer Science, Drexel University

2 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 2 Software Architecture Software Architecture describes the: System elements Interaction between the system elements Patterns that guide the composition of the elements Constraints on the patterns [Shaw & Garlan 1996]

3 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 3 Reverse Engineering Environment Source Code Analysis Tools MDG File Clustering Tool Partitioned MDG File Visualization Tool M1 M2 M3 M5M4 M6 M8M7 MQ = 1.75 M1 M2 M3 M5M4 M6 M8M7 MQ = 1.60 Source Code void main() { printf(“hello”); } AcaciaChava M1 M2 M3 M5M4 M6 M7M8 M1 M2 M3 M5M4 M6 M7M8

4 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 4 Software Architecture Challenges Determining the software architecture Designer knowledge, and/or Up to date documentation, and/or Automated tooling Source Code Analysis Clustering Visualization Evaluation Design Constraint Validation

5 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 5 Bunch Clustering Tool Evolution Semi- Automatic User Tooling Bunch V 1.x 1998 Bunch V 2.x 1999-2000 Bunch V 3.x 2000-2001 Bunch is the clustering tool produced by the Drexel University Software Engineering Research Group. Distributed Clustering Added in Bunch Version 2.x

6 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 6 Clustering Tool Requirements Pluggable Algorithms User Knowledge Integration Programming Language Independence Tool Integration Source Code Analysis Visualization Evaluation API P ERFORMANCE to handle large and complex systems

7 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 7 Bunch Challenges Performance well-suited to small and intermediate sized systems (< 250 modules) Design/Architecture changes were required to improve performance Clustering Algorithm and Implementation Enhancements Distributed Processing Capabilities

8 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 8 Bunch Clustering Tool Bunch Environment Source Code Source Code Analysis MDG File Exhaustive Clustering Algorithm Hill-Climbing Clustering Algorithm(s) Genetic Clustering Algorithm BUNCH Clustering AlgorithmsPartitioned MDG Partitioned MDG File Visualization Tool

9 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 9 Bunch Hill Climbing Clustering Algorithm Generate a Random Decomposition of MDG Best Neighboring Partition Iteration Step Measure MQ Generate Next Neighbor Measure MQ Best Neighboring Partition for Iteration Compare to Best Neighboring Partition Better Current Partition New Best Neighboring Partition Convergence

10 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 10 Bunch’s MVC Architecture and Algorithms Support Distribution Bunch User Interface Bunch Coordinator MDG & Partitioned MDG View Controller Model Bunch Clustering Algorithms Clustering Activity Messages: Producer/Consumer Pattern Status & Management Messages: Publish/Subscribe Pattern Bunch Client Queue Bunch Server

11 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 11 Bunch Distributed Hill Climbing Clustering Algorithm CLUSTERING MANAGER Inbound Queue Outbound Queue … … Init_Neighbor Init_Iteration Put_Result Get_Work NEIGHBORING SERVER Work Queue Move Next Neighbor Measure MQ Best Neighboring Partition for Iteration Compare to Best Neighboring Partition Better Convergence Message Manager Next Best Neighboring Partition

12 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 12 Case Study Results Compiler ISpellBisonGrappaInclPerspec- tives Proprietary Compiler 1 2 3 4 5 6 13 24 37 86 174 392939 System Name (Number of Modules) Speedup (12 CPUs)

13 Drexel University Software Engineering Research Group (SERG) http://serg.mcs.drexel.edu 13 Concluding Remarks Distribution approach based on: Optimization of clustering approach Bunch’s MVC Architecture Performance improved for large systems, further improvement still possible Future improvement based on additional implementation optimizations Bunch written in 100% Java, DBunch uses RMI/IIOP Infrastructure Visit Bunch Online: http://serg.mcs.drexel.edu/bunch


Download ppt "1 An Architecture for Distributing the Computation of Software Clustering Algorithms 2001 Working Conference on Software Architecture (WICSA'01). Brian."

Similar presentations


Ads by Google