Design and validation of computer protocols
Design and validation of computer protocols
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Evolution of Object Behavior Using Context Relations
IEEE Transactions on Software Engineering
A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs
SIAM Journal on Scientific Computing
JOMP—an OpenMP-like interface for Java
Proceedings of the ACM 2000 conference on Java Grande
Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM)
Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM)
OpenMP: An Industry-Standard API for Shared-Memory Programming
IEEE Computational Science & Engineering
Reflective Analysis and Design for Adapting Object Run-Time Behavior
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
JAPS-II: A Source to Source Parallelizing Compiler for Java
PDPTA '02 Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications - Volume 1
Timing Analysis of UML Activity Diagrams
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Using Model Checking to Detect Deadlocks in Distributed Object Systems
EDO '00 Revised Papers from the Second International Workshop on Engineering Distributed Objects
Visualizing the Synchronization of Java-Threads with UML
VL '00 Proceedings of the 2000 IEEE International Symposium on Visual Languages (VL'00)
Application/Kernel Cooperation Towards the Efficient Execution of Shared-Memory Parallel Java Codes
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Run-Time Support for the Automatic Parallelization of Java Programs
The Journal of Supercomputing
Automated Analysis of Timing Information in UML Diagrams
Proceedings of the 19th IEEE international conference on Automated software engineering
Fair Cache Sharing and Partitioning in a Chip Multiprocessor Architecture
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
Symbolic model checking of UML activity diagrams
ACM Transactions on Software Engineering and Methodology (TOSEM)
Application of graph theory to OO software engineering
Proceedings of the 2006 international workshop on Workshop on interdisciplinary software engineering research
Consistent Interaction Of Software Components
Journal of Integrated Design & Process Science - Component-Based System Development
Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Getting 'Whole Picture' Behavior In A Use Case Model
Journal of Integrated Design & Process Science
Functional verification of task partitioning for multiprocessor embedded systems
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Characterizing Communication Channel Deadlocks in Sequence Diagrams
IEEE Transactions on Software Engineering
COMPASS: A Community-driven Parallelization Advisor for Sequential Software
IWMSE '09 Proceedings of the 2009 ICSE Workshop on Multicore Software Engineering
A concurrent dynamic analysis framework for multicore hardware
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Time exceptions in sequence diagrams
MoDELS'06 Proceedings of the 2006 international conference on Models in software engineering
Timing analysis of UML sequence diagrams
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
Memory-aware scheduling for energy efficiency on multicore processors
HotPower'08 Proceedings of the 2008 conference on Power aware computing and systems
Model-based cache-aware dispatching of object-oriented software for multicore systems
Journal of Systems and Software
Hi-index | 0.00 |
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.