Phân chia chương trình tự động dựa trên diễn viên

Journal of Zhejiang University SCIENCE C - Tập 11 - Trang 45-55 - 2009
Omid Bushehrian1
1Department of Information Technology, Shiraz University of Technology, Shiraz, Iran

Tóm tắt

Kỹ thuật tái kỹ thuật phần mềm thường được áp dụng để tái tạo kiến trúc của một chương trình với các ràng buộc về chất lượng, hoặc các yêu cầu phi chức năng như khả năng bảo trì hoặc tái sử dụng. Bài báo này đề xuất AOPR, một phương pháp tái kỹ thuật chương trình mới theo hướng diễn viên, nhằm tái tạo kiến trúc chương trình hướng đối tượng dựa trên một mô hình hiệu suất cao như mô hình diễn viên. Việc tái tạo kiến trúc chương trình dựa trên mô hình này dẫn đến việc thực thi đồng thời các lời gọi chương trình và do đó tăng cường hiệu suất tổng thể của chương trình, miễn là có đủ bộ xử lý sẵn có. Phương pháp tái kỹ thuật phần mềm được đề xuất áp dụng một thuật toán phân cụm leo đồi để tìm các diễn viên.

Từ khóa

#tái kỹ thuật phần mềm #kiến trúc chương trình #mô hình diễn viên #hiệu suất chương trình #thuật toán phân cụm

Tài liệu tham khảo

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. [doi:10.1007/b96089] 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. 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. Chan, B., Abdelrahman, T.S., 2004. Runtime support for the automatic parallelization of Java programs. J. Supercomput., 28(1):91–117. [doi:10.1023/B:SUPE.0000014804.20789.21] 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. [doi:10.1109/ICAS.2006.61] 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. [doi:10.1145/583810.583812] 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. Grimshaw, A.S., 1993. Easy-to-use object-oriented parallel processing with Mentat. IEEE Trans. Parall. Distr. Technol., 26:39–51. 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. 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. 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. 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. Mitchell, S., 2002. A Heuristic Search Approach to Solving the Software Clustering Problem. PhD Thesis, Drexel University, Philadelphia, USA. Parsa, S., Bushehrian, O., 2005. The design and implementation of a tool for automatic software modularization. J. Supercomput., 32(1):71–94. [doi:10.1007/s11227-005-0159-5] Philippsen, M., Zenger, M., 1997. JavaParty transparent remote objects in Java. Concurr.: Pract. & Exper., 9(11):1225–1242. [doi:10.1002/(SICI)1096-9128(199711)9:11<1225::AID-CPE332>3.0.CO;2-F] 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. Schoeberl, M., 2006. A Time Predictable Java Processor. Proc. Conf. on Design, Automation and Test in Europe, p.800–805. 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. Tahvildari, L., Kontoglannis, K., Mylopoulos, J., 2003. Quality-driven software re-engineering. J. Syst. Software, 66(3):225–239. [doi:10.1016/S0164-1212(02)00082-1] Zima, H., Chapman, B., 1991. Supercompilers for Parallel and Vector Computers (1st Ed.). Addison Wesley, MA, USA.