TY - JOUR
T1 - Exploring implicit parallelism in class diagrams
AU - Ovatman, Tolga
AU - Weigert, Thomas
AU - Buzluca, Feza
PY - 2011/5/1
Y1 - 2011/5/1
N2 - Abstract: As multicore processors are becoming more wide-spread, leveraging of parallelism is once again becoming an important concern during the software development process. Substantial refactoring is required to parallelize legacy sequential software in order to exploit the advantages offered by parallel processing. In this study, guidelines are offered to aid in parallelizing object-oriented programs by analyzing their designs as represented in UML class diagrams. We define often occurring patterns of class-dependencies and demonstrate their characteristics in class diagrams by investigating their properties. We present example instances exhibiting the usage of these patterns in class diagrams. Through analyzing the runtime aspects of these instances, we have identified how they impact the parallelization of object oriented software. Taking these lessons into account when refactoring existing object-oriented software can significantly reduce time and effort required. We have evaluated our method by applying it to three popular design patterns and a real-world case study.
AB - Abstract: As multicore processors are becoming more wide-spread, leveraging of parallelism is once again becoming an important concern during the software development process. Substantial refactoring is required to parallelize legacy sequential software in order to exploit the advantages offered by parallel processing. In this study, guidelines are offered to aid in parallelizing object-oriented programs by analyzing their designs as represented in UML class diagrams. We define often occurring patterns of class-dependencies and demonstrate their characteristics in class diagrams by investigating their properties. We present example instances exhibiting the usage of these patterns in class diagrams. Through analyzing the runtime aspects of these instances, we have identified how they impact the parallelization of object oriented software. Taking these lessons into account when refactoring existing object-oriented software can significantly reduce time and effort required. We have evaluated our method by applying it to three popular design patterns and a real-world case study.
KW - Class diagram analysis
KW - Object oriented software refactoring
KW - Parallel software design
UR - http://www.scopus.com/inward/record.url?scp=79952445992&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2011.01.005
DO - 10.1016/j.jss.2011.01.005
M3 - Article
AN - SCOPUS:79952445992
SN - 0164-1212
VL - 84
SP - 821
EP - 834
JO - Journal of Systems and Software
JF - Journal of Systems and Software
IS - 5
ER -