CLC number: TP31
On-line Access: 2024-08-27
Received: 2023-10-17
Revision Accepted: 2024-05-08
Crosschecked: 2009-09-29
Cited: 1
Clicked: 8256
Omid BUSHEHRIAN. Automatic actor-based program partitioning[J]. Journal of Zhejiang University Science C, 2010, 11(1): 45-55.
@article{title="Automatic actor-based program partitioning",
author="Omid BUSHEHRIAN",
journal="Journal of Zhejiang University Science C",
volume="11",
number="1",
pages="45-55",
year="2010",
publisher="Zhejiang University Press & Springer",
doi="10.1631/jzus.C0910096"
}
%0 Journal Article
%T Automatic actor-based program partitioning
%A Omid BUSHEHRIAN
%J Journal of Zhejiang University SCIENCE C
%V 11
%N 1
%P 45-55
%@ 1869-1951
%D 2010
%I Zhejiang University Press & Springer
%DOI 10.1631/jzus.C0910096
TY - JOUR
T1 - Automatic actor-based program partitioning
A1 - Omid BUSHEHRIAN
J0 - Journal of Zhejiang University Science C
VL - 11
IS - 1
SP - 45
EP - 55
%@ 1869-1951
Y1 - 2010
PB - Zhejiang University Press & Springer
ER -
DOI - 10.1631/jzus.C0910096
Abstract: software reverse engineering techniques are applied most often to reconstruct the architecture of a program with respect to quality constraints, or non-functional requirements such as maintainability or reusability. In this paper, AOPR, a novel actor-oriented program reverse engineering approach, is proposed to reconstruct an object-oriented program architecture based on a high performance model such as an actor model. Reconstructing the program architecture based on this model results in the concurrent execution of the program invocations and consequently increases the overall performance of the program provided enough processors are available. The proposed reverse engineering approach applies a hill climbing clustering algorithm to find actors.
[1] Agha, G., Thati, P., 2004. An algebraic theory of actors and its application to a simple object-based language from object-orientation to formal methods. LNCS, 2635:26-57.
[2] Andolfi, F., Aquilani, F., Balsamo, S., Inverardi, P., 2000. Deriving Performance Models of Software Architectures from Message Sequence Charts. Proc. 2nd Int. Workshop on Software and Performance, p.47-57.
[3] Bal, H.E., Kaashoek, M.F., 1993. Object Distribution in ORCA Using Compile-Time and Run-Time Techniques. ACM Conf. on Object-Oriented Programming Systems, Languages and Applications, p.162-177.
[4] Chan, B., Abdelrahman, T.S., 2004. Runtime support for the automatic parallelization of Java programs. J. Supercomput., 28(1):91-117.
[5] Deb, D., Fuad, M., Oudshoom, M.J., 2006. Towards Autonomic Distribution of Existing Object Oriented Programs. IEEE Int. Conf. on Autonomic and Autonomous System, p.17-17.
[6] Fahringer, T., Jugravu, A., 2002. JavaSymphony: New Directives to Control and Synchronize Locality, Parallelism, and Load Balancing for Cluster and GRID-Computing. Proc. joint ACM-ISCOPE conf. on Java Grande, p.8-17.
[7] Gourhant, Y., Louboutin, S., Cahill, V., Condon, A., Starovic, G., Tangney, B., 1992. Dynamic Clustering in an Object-Oriented Distributed System. Proc. OLDA-II (Objects in Large Distributed Applications), p.17-27.
[8] Grimshaw, A.S., 1993. Easy-to-use object-oriented parallel processing with Mentat. IEEE Trans. Parall. Distr. Technol., 26:39-51.
[9] Hyunsang, Y., Suhyeon, J., Eunseok, L., 2007. Deriving Queuing Network Model for UML for Software Performance Prediction. 5th Int. IEEE Conf. on Software Engineering Research, Management and Application, p.125-131.
[10] Joao, M., Simon, T., Jense, B.J., Oscar, R., 2007. Designing Tool Support for Translating Use Cases and UML 2.0 Sequence Diagrams into a Colored Petri Net. IEEE Proc. 16th Int. Workshop on Scenarios and State Machines.
[11] Maani, R., Parsa, S., 2007. An Algorithm to Improve Parallelism in Distributes Systems Using Asynchronous Calls. 7th Int. Conf. on Parallel Processing and Applied Math, p.312-317.
[12] Mitchell, B.S., Spiros, M., 1999. Bunch: a Clustering Tool for the Recovery and Maintenance of Software System Structure. Proc. IEEE Int. Conf. on Software Maintenance, p.50-59.
[13] Mitchell, S., 2002. A Heuristic Search Approach to Solving the Software Clustering Problem. PhD Thesis, Drexel University, Philadelphia, USA.
[14] Parsa, S., Bushehrian, O., 2005. The design and implementation of a tool for automatic software modularization. J. Supercomput., 32(1):71-94.
[15] Philippsen, M., Zenger, M., 1997. JavaParty transparent remote objects in Java. Concurr.: Pract. & Exper., 9(11):1225-1242.
[16] Robert, G., Hassan, G., 2007. Analyzing Behavior of Concurrent Software Designs for Embedded Systems. IEEE Proc. 10th Int. Symp. on Object and Component-Oriented Real-Time Distributed Computing.
[17] Schoeberl, M., 2006. A Time Predictable Java Processor. Proc. Conf. on Design, Automation and Test in Europe, p.800-805.
[18] Sobral, J.L., Proenca, A.J., 1999. Dynamic Grain-Size Adaptation on Object-Oriented Parallel Programming the SCOOP Approach. Proc. 13th IEEE Int. Symp. on Parallel Processing, p.728-732.
[19] Tahvildari, L., Kontoglannis, K., Mylopoulos, J., 2003. Quality-driven software re-engineering. J. Syst. Software, 66(3):225-239.
[20] Zima, H., Chapman, B., 1991. Supercompilers for Parallel and Vector Computers (1st Ed.). Addison Wesley, MA, USA.
Open peer comments: Debate/Discuss/Question/Opinion
<1>