Computational Error Handling as Aspects: A Case Study and Evaluation
Author:
Affiliation:

  • Article
  • | |
  • Metrics
  • |
  • Reference [24]
  • |
  • Related [20]
  • | | |
  • Comments
    Abstract:

    Traditional approaches tangle the error handling concerns with the primary functional code, which inevitably increase the degree of coupling and decreases the understandability and the maintainability of programs. This paper presents an empirical study of a real-world Satellite Orbit Forecasting system by refactoring error handling policies as methods of classes and aspects, respectively. A set of experiments are constructed to evaluate the original version with the two refactored versions. Based on the results of experiments from the refactoring process, it can be concluded that the modularity and maintainability of the program have been improved without a noticeable compromise in performance by encapsulating computational error handling polices as aspects.

    Reference
    [1] Lopes CIV. D: A language framework for distributed programming [Ph.D. Thesis]. Boston: Northeastern University, 1997.
    [2] Kiczales G, Lamping J, Mendhekar A, Maeda C, Lopes CV, Loingtier JM, Irwin J. Aspect-Oriented programming. In: Aksit M, Matsuoka S, eds. Proc. of the 11th European Conf. on Object-Oriented Programming. Berlin: Springer-Verlag, 1997. 220-242. [doi: 10.1007/BFb0053381]
    [3] Kiczales G, Hilsdale E, Hugunin J, Kersten M, Palm J, Griswold WG. An overview of AspectJ. In: Knudsen JL, ed. Proc. of the 15th European Conf. on Object-Oriented Programming. Berlin: Springer-Verlag, 2001. 327-353. [doi: 10.1007/3-540-45337-7_18]
    [4] Coady Y, Kiczales G, Feeley M, Smolyn G. Using AspectC to improve the modularity of path-specific customization in operating system code. In: Proc. of the 8th European Software Engineering Conf. New York: ACM Press, 2001. 88-98. [doi: 10.1145/503209. 503223]
    [5] Spinczyk O, Lohmann D, Urban M. Advances in AOP with AspectC++. In: Fujita H, Mejri M, eds. Proc of the 4th Int’l Conf. on New Trends in Software Methodologies Tools and Techniques. Amsterdam: IOS Press, 2005. 33-53.
    [6] Li QY, Wang NC, Yi DY. Numerical Analysis. 4th ed., Beijing: Tsinghua University Press, 2001 (in Chinese).
    [7] Liu L. Orbit Dynamics for Artificial Earth’s Satellites. Beijing: Higher Education Press, 1992 (in Chinese).
    [8] Fehlberg E. Classical 5th-, 6th-, 7th-, and 8th-order runge-kutta formulas with stepsize control. Technical Report, NASA-TR-R-287, NASA, 1968.
    [9] Walker RJ, Baniassad ELA, Murphy GC. An initial assessment of aspect-oriented programming. In: Proc. of the 21st Int’l Conf. on Software Engineering. New York: ACM Press, 1999. 120-130. [doi: 10.1145/302405.302458]
    [10] Garcia A, Sant’Anna C, Figueiredo E, Kulesza U, Lucena C, Staa AV. Modularizing design patterns with aspects: A quantitative study. In: Proc. of the Trans. on Aspect-Oriented Software Development I. Berlin: Springer-Verlag, 2006. 36-74. [doi: 10.1007/11687061_2]
    [11] Kästner C, Apel S, Batory D. A case study implementing features using AspectJ. In: Proc. of the 11th Software Product Line Conf. Los Alamitos: IEEE Computer Society Press, 2007. 223-232. [doi: 10.1109/SPLINE.2007.12]
    [12] Fowler M, Brant J, Opdyke W, Roberts D. Refactoring: Improving the Design of Existing Code. Reading: Addison-Wesley Publishing Company, 1999.
    [13] Hannemann J. Aspect-Oriented refactoring: Classification and challenges. In: Proc. of the AOSD Workshop on Linking Aspect Technology and Evolution. 2006.
    [14] Viega J, Bloch JT, Chandra P. Applying aspect-oriented programming to security. Cutter IT Journal, 2001,14(2):31-39.
    [15] Mourad A, Laverdière MA, Debbabi M. An aspect-oriented approach for the systematic security hardening of code. Computers & Security, 2008,27(3-4):101-114. [doi: 10.1016/j.cose.2008.04.003]
    [16] Soares S, Laureano E, Borba P. Implementing distribution and persistence aspects with AspectJ. In: Proc. of the 17th ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications. New York: ACM Press, 2002. 174-190. [doi: 10.1145/582419.582437]
    [17] Bodden E, Havelund K. Aspect-Oriented race detection in Java. IEEE Trans. on Software Engineering, 2010,36(4):509-527. [doi: 10.1109/TSE.2010.25]
    [18] Raje RR, Zhong M, Wang TY. Case study: A distributed concurrent system with AspectJ. ACM SIGAPP Applied Computing Review, 2001,9(2):17-23. [doi: 10.1145/512000.512004]
    [19] Chen XQ, Yang FQ. Research on aspect oriented operating systems. Journal of Software, 2006,17(3):620-627 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/17/620.htm [doi: 10.1360/jos170620]
    [20] Mei H, Cao DG. ABC-S2C: Enabling separation of crosscutting concerns in component-based software development. Chinese Journal of Computers, 2005,28(12):2036-2044 (in Chinese with English abstract). [doi: CNKI:SUN:JSJX.0.2005-12-010]
    [21] Filho FC, Garcia A, Rubira CMF. Error handling as an aspect. In: Proc. of the AOSD Workshop on Best Practices in Applying Aspect-Oriented Software Development. New York: ACM Press, 2007. [doi: 10.1145/1229485.1229486]
    [22] Harbulot B, Gurd JR. Using AspectJ to separate concerns in parallel scientific Java code. In: Proc. of the 3rd Aspect-Oriented Software Development Conf. New York: ACM Press, 2004. 122-131. [doi: 10.1145/976270.976286]
    [23] Xi C, Harbulot B, Gurd JR. Aspect-Oriented support for synchronization in parallel computing. In: Proc. of the AOSD Workshop on Linking Aspect Technology and Evolution. 2009. 1-5. [doi: 10.1145/1509847.1509848]
    [24] Shampine LF. Error estimation and control for ODEs. Journal of Scientific Computing, 2005,25(1):3-16. [doi: 10.1007/BF02728979]
    Cited by
    Comments
    Comments
    分享到微博
    Submit
Get Citation

崔展齐,王林章,刘慧根,李宣东.面向方面的计算误差处理技术:实例研究与评估.软件学报,2011,22(11):2639-2651

Copy
Share
Article Metrics
  • Abstract:4299
  • PDF: 6229
  • HTML: 0
  • Cited by: 0
History
  • Received:December 08,2009
  • Revised:May 14,2010
You are the first2033271Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063