Paper Status Tracking
Contact us
[email protected]
Click here to send a message to me 3275638434
Paper Publishing WeChat

Article
Affiliation(s)

1. Department of Computer Information Systems, Yarmouk University, Irbid, Jordan 2. Department of Computer Science, Utah State University, Logan, UT 84322, USA

ABSTRACT

Implementing crosscutting concerns for transactions is difficult, even using aspect-oriented programming languages such as AspectJ. Many of these challenges arise because the context of a transaction-related crosscutting concern consists of loosely-coupled abstractions like dynamically-generated identifiers, timestamps, and tentative value sets of distributed resources. Current aspect-oriented programming languages do not provide joinpoints and pointcuts for weaving advice into high-level abstractions or contexts, like transaction contexts. To address these problems, we propose an extension to AspectJ framework, called TransJ, that allows developers to define pointcuts in terms of transaction abstractions and that automatically keeps track of context information for transactions. This paper describes TransJ as an abstract independent framework for weaving crosscutting concerns into high-level runtime abstractions, with which developers can implement transaction-related crosscutting concerns in modular, cohesive and loosely coupled transaction-aware aspects. Finally, this paper presents eight different ways in which TransJ can improve the reuse with preserving the performance of applications requiring transactions. Informally, these hypotheses are that TransJ yields (1) better encapsulation and separation of concern; (2) looser coupling and less scattering; (3) higher cohesion and less tangling; (4) reduces complexity; (5) improves obliviousness; (6) preserves efficiency; (7) improves extensibility; and (8) hastens the productivity. A brief discussion of experiment to test the hypotheses is provided, but the details of the experiment are left for another paper.

KEYWORDS

AOP, AspectJ, transaction, joinpoint model, context, crosscutting concern, encapsulation, high-level abstractions, modularity, reuse

Cite this paper

References
[1] Brooks, F. P. Jr. 1987. “No Silver Bullet, Essence and Accidents of Software Engineering.” IEEE Computer 20 (4): 10-9. 
[2] Booch, G., and Maksimchu, R. M. 2007. “Object-Oriented Analysis and Design with Applications.” Addison-Wesley Professional, third edition. Boston: Published April 1st. 
[3] Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J. M., and Irwin, J. 1997. “Aspect-Oriented Programming.” In Proceedings of ECOOP '97, Springer Verlag, 220-42. 
[4] Gradecki, J., and Lesiecki, N. 2003. “Mastering AspectJ.” Wiley Publishing Inc., 456. ISBN: 978-0-471-43104-6.
[5] Rosenhainer, L. 2004. “Identifying Crosscutting Concerns in Requirements Specifications.” In Proceedings of OOPSLA Early Aspects. October 2004, Vancouver, Canada. http:// trese.cs.utwente.nl/Docs/workshops/oopsla-early-aspects-2004/.
[6] Clifton, C., and Leavens, G. T. 2003. “Obliviousness, Modular Reasoning, and the Behavior Subtyping Analogy.” In Proceedings of the Workshop on Software Engineering Properties of Languages for Aspect Technologies (SPLAT), Workshop at AOSD, 1-6.
[7] Kiczales, G., and Mezini, M. 2005. “Aspect-Oriented Programming and Modular Reasoning.” In Proc. 27th Int. Conf. Software Engineering, St. Louis, MO, 49-58.
[8] Eclipse. 2015. AspectJ. [Online]. Available http://www.eclipse.org/aspectJ/.
[9] Aspectwerkz2. 2015. Plain Java AOP. [Online]. Available http://aspectwerkz.codehaus.org/.
[10] Jboss. 2015. JBoss AOP. [Online]. Available http://www.jboss.org/jbossaop.
[11] Spring. 2015. Spring AOP. [Online]. Available http://www.springframework.org.
[12] Gray, J. 1981. “The Transaction Concept: Virtues and limitations.” In Proceedings of the 7th International Conference on VLDB Systems, ACM, New York, 144-54.
[13] Gray, J., and Reuter, A. 1993. “Transaction Processing: Concepts and Techniques.” The Morgan Kaufmann Series in Data Management Systems. Morgan Kaufmann, San Mateo, CA, 1993. ISBN-13: 978-1558601901, ISBN-10: 1558601902.
[14] Kohad, G., Gupta, S., Gangakhedkar, T., Ahirwar, U., and Kumar, A. 2013. “Concept and Techniques of Transaction Processing of Distributed Database Management System.” International Journal of Computer Architecture and Mobility 1 (8). ISSN 2319-9229.
[15] AlSobeh, A., and Clyde, S. 2014. “Unified Conceptual Model for Joinpoints in Distributed Transactions.” ICSE’14. The Ninth International Conference on Software Engineering Advances. Nice, France. ISBN: 978-1-61208-367-4.
[16] Wikipedia. 2015. Block Diagram. [Online]. Available http://en.wikipedia.org/wiki/Block_diagram.
[17] Shaw, M., and Garlan, D. 1996. “Software Architecture: Perspectives on an Emerging Discipline.” Upper Saddle River. NJ: Prentice-Hall. 
[18] Sun Microsystems Inc. 1999. Java Transaction API (JTA) [Online]. 901 San Antonio Road, Palo Alto, CA 94303. Available https://www.progress.com/jdbc/resources/tutorials/understanding-jta.
[19] Douence, R., Le Botlan, D., Noyé, J., and Südholt, M. 2006. “Concurrent Aspects.” In Proc. 5th Int. Conf. GPCE, Portland, OR, 79-88.
[20] Gamma, E., Helm, R., Johnson, R., Vlissides, J., and Booch, G. 1995. Design Patterns-Elements of Reusable Object Oriented Software, 3rd edition. Addison-Wesley. 
[21] Raza, A., and Clyde, S. 2013. “Weaving Crosscutting Concerns into Inter-process Communications (IPC) in AspectJ.” ICSEA 2013, Venice, Italy, 234-40. ISBN: 978-1-61208-304-9.
[22] Redhat. 2007. Jboss Transaction Manager. [Online]. Available http://docs.jboss.org/jbosstm/docs/4.2.3/manuals/pdf/jta/ProgrammersGuide.pdf. 
[23] Rashid, A., and Chitchyan, R. 2003. “Persistence as an Aspect.” In Proceedings of the 2nd International Conference on Aspect-Oriented Software Development-Development (AOSD), Boston, MA, USA, 120-9. ACM, New York, NY, USA. 
[24] Kienzle, J., and G´elineau, S. 2006. “Ao Challenge-Implementing the Acid Properties for Transactional Objects.” In AOSD ’06: Proceedings of the 5th International Conference on Aspect-Oriented Software Development, 202-13, New York, NY, USA. ACM Press.
[25] Sadat-Mohtasham, H., and Hoover, H. S. 2009. “Transactional Pointcuts: Designation Reification and Advice of Interrelated Join Points.” In Proceedings of the 8th International Conference on Generative Programming and Component Engineering, 35-44. ACM.
[26] Rausch, A., Rumpe, B., Klein, C., and Hoogendoom, L. 2003. “Aspect-Oriented Framework Modeling.” 4th AOM Workshop at UML’03, San Francisco, CA.
[27] Kienzle, J., and Guerraoui, R. 2002. “AOP: Does it Make Sense? The Case of Concurrency and Failures.” Proc. ECOOP'02, 37-61.
[28] Kamble, G. 2009. “Aop-Introduced Crosscutting Concerns.” Proceedings of 2009 International Symposium on Computing, Communication, and Control. Singapore, 140-4. ISBN 978-9-8108-3815-7.
[29] Raza, A., and Clyde, S. 2014. “Communication Aspects with CommJ: Initial Experiment Show Promising Improvements in Reusability and Maintainability.” ICSEA 2014. Nice, France.
[30] Akai, S., and Chiba, S. 2009. “Extending AspectJ for Separating Regions.” In GPCE, 45-54. ACM. 
[31] Alkhatib, G., and Labban, R. S. 1995. “Transaction Management in Distributed Database Systems: The Case of Oracle’s Two-Phase Commit.” The Journal of Information Systems Education 13 (2): 95-103.
[32] Härder, T., and Rothermel, K. 1993. “Concurrency Control Issues in Nested Transactions.” Journal of VLDB 2 (1): 39-74.
[33] Kienzle, J., Duala-Ekoko, E., and Gelineau, S. 2009. “Aspect Optima: A Case Study on Aspect Dependencies and Interactions.” Trans Aspect-Oriented Softw Dev 5: 187-234. Berlin, Heidelberg: Springer-Verlag. doi:10.1007/978-3-642-02059-9_6.
[34] Sirbi, K., and Kulkarni, P. J. 2010. “Enhancing Modularity in Aspect-Oriented Software Systems—An Assessment Study.” (IJCSE) International Journal on Computer Science and Engineering 2 (6).
[35] Sant’Anna, C., Lobato, C., Kulesza, U., and Lucena, C. 2008. “On the Modularity Assessment of Aspect-Oriented Multiagent Architectures: A Quantitative Study.” International Journal of Agent-Oriented Software Engineering 2: 34-61.
[36] Lopes, C. V., and Bajracharya, S. K. “Assessing Aspect Modularizations Using Design Structure Matrix and Net Option Value.” Transactions on Aspect-Oriented Software Development I. Berlin, Heidelberg: Springer-Verlag.
[37] Rashid, A., and Aksit, M., eds. 2006. “Transactions on Aspect-Oriented Software Development (TAOSD).” In LNCS 3880, 1-35.
[38] Shaw, M., and Garlan, D. 1996. “Software Architecture: Perspectives on an Emerging Discipline.” Upper Saddle River, NJ: Prentice-Hall. 
[39] Douence, R., Fradet, P., and Sudholt, M. 2004. “Trace-based Aspects. Aspect-Oriented Software Development.” Addison Wesley, 201-17. 
[40] Atomikos. 2015. Extreme Transactions Atomikos Transactions. [Online]. Available http://www.atomikos.com. 

About | Terms & Conditions | Issue | Privacy | Contact us
Copyright © 2001 - David Publishing Company All rights reserved, www.davidpublisher.com
3 Germay Dr., Unit 4 #4651, Wilmington DE 19804; Tel: 001-302-3943358 Email: [email protected]