skip to main content
10.1145/1052898.1052907acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

What does aspect-oriented programming mean to Cobol?

Published:14 March 2005Publication History

ABSTRACT

We study AOP in the context of business programming with Cobol. We face the following questions: What are join points in Cobol programs? What is advice? Does classic Cobol provide any constructs that hint at AOP? (Yes!) What are typical crosscutting concerns in the Cobol world? How do otherwise typical crosscutting concerns make sense for Cobol? How does AOP for Cobol align with classic re-engineering transformations for Cobol? We deliver an AOP language design for Cobol. Codename: AspectCobol. While we adopt several ideas from AspectJ and friends, we also devise original techniques for joint-point identification and context capture. We briefly discuss a prototypical implementation of AspectCobol.

References

  1. ANSI. American National Standard Programming Language Cobol X3.23-1974. American National Standards Institute, 1430 Broadway, New York, New York 10018 (Price $17).]]Google ScholarGoogle Scholar
  2. G. J. Badros. JavaML: a markup language for Java source code. Computer Networks, 33(1-6):159--177, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. I. D. Baxter. Using transformation systems for software maintenance and reengineering. In ICSE 2001: Proc. of the 23rd International Conf. on Software Engineering, pages 739--740. IEEE Computer Society, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Boban. The Difference Between Logging and Tracing, 18 August 2004. SAP Developer Network; http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/The%20Difference%20Between%20Logging%20and%20Tracing.article.]]Google ScholarGoogle Scholar
  5. B. Burke and M. Fleury. A Killer App for AOP. Linux Magazine, June 2004.]]Google ScholarGoogle Scholar
  6. T. Cohen and J. Gil. AspectJ2EE = AOP + J2EE. In M. Odersky, editor, ECOOP 2004 - Object-Oriented Programming, 18th European Conf., Proc., volume 3086 of LNCS. Springer, 2004.]]Google ScholarGoogle Scholar
  7. A. Colyer and A. Clement. Large-scale AOSD for middleware. In AOSD 2004: Proc. of the 3rd International Conf. on Aspect-Oriented Software Development, pages 56--65. ACM Press, 2004.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. De Volder and T. D'Hondt. Aspect-Orientated Logic Meta Programming. In P. Cointe, editor, Meta-Level Architectures and Reflection, 2md International Conf., Reflection 1999, Proc., volume 1616 of LNCS, pages 250--272. Springer, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In M. Akşit, S. Clarke, T. Elrad, and R. E. Filman, editors, Aspect-Oriented Software Development. Addison-Wesley, Reading, MA, September 2004.]]Google ScholarGoogle Scholar
  10. J. Gray, T. Bapty, S. Neema, and J. Tuck. Handling crosscutting constraints in domain-specific modeling. CACM, 44(10):87--93, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Gray and S. Roychoudhury. A technique for constructing aspect weavers using a program transformation engine. In AOSD 2004: Proc. of the 3rd International Conf. on Aspect-Oriented Software Development, pages 36--45. ACM Press, 2004.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. E. Hilsdale and J. Hugunin. Advice weaving in AspectJ. In AOSD 2004: Proc. of the 3rd International Conf. on Aspect-Oriented Software Development, pages 26--35. ACM Press, 2004.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. ISO/IEC. Information technology --- Programming languages --- COBOL, 2002. Reference number ISO/IEC 1989:2002(E).]]Google ScholarGoogle Scholar
  14. ISO/IEC JTC 1/SC 22/WG 4. Information Technology --- Programming languages, their environments and system software interfaces --- COBOL Collection Classes, 22 November 2004. Technical Report, ISO/WDTR 24717, Working Draft Under Consideration.]]Google ScholarGoogle Scholar
  15. A. Jackson and S. Clarke. SourceWeave.NET: Source-level cross-language aspect-oriented programming. In G. Karsai and E. Visser, editors, Proc. of the 3rd International Conf. on Generative Programming and Component Engineering (GPCE 2004), volume 3286 of LNCS, pages 115--134. Springer, 24-28 October 2004.]]Google ScholarGoogle Scholar
  16. M. Karaorman, U. Holzle, and J. Bruno. jContractor: A reflective Java library to support design by contract. In P. Cointe, editor, Meta-Level Architectures and Reflection, 2nd International Conf. on Reflection 1999, Proc., volume 1616 of LNCS, pages 175--196. Springer, July 1999.]] Google ScholarGoogle Scholar
  17. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W.G. Griswold. An Overview of AspectJ. In Proc. of the 15th European Conf. on Object-Oriented Programming (ECOOP 2001), volume 2072 of LNCS, pages 327--353. Springer, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. H. Kim and S. Clarke. The Relevance of AOP to an Applications Programmer in an EJB Environment, April 2002. Paper presented at Workshop on Aspects, Components and Patterns for Infrastructure Software (affiliated with AOSD 2002).]]Google ScholarGoogle Scholar
  19. S. Klusener, R. Lämmel, and C. Verhoef. Architectural Modifications to Deployed Software. Science of Computer Programming, 54:143--211, 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Lafferty and V. Cahill. Language-independent aspect-oriented programming. In OOPSLA 2003: Proc. of the 18th Annual ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications, pages 1--12. ACM Press, 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Lämmel. Object-Oriented COBOL: Concepts & Implementation. In J. Wessler et al., editors, COBOL Unleashed. Macmillan Computer Publishing, September 1998. 44 pages, 2 chapters.]]Google ScholarGoogle Scholar
  22. R. Lämmel and C. Verhoef. Semi-automatic Grammar Recovery. Software---Practice & Experience, 31(15):1395--1438, December 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. V. Lopes. D: A language framework for distributed programming. PhD thesis, College of Computer Science, Northeastern University, November 1997.]]Google ScholarGoogle Scholar
  24. A. C. Lorents. Mining Legacy Assets with AssetMiner. CobolReport.com, May 2001. http://objectz.com/columnists/alden/05212001.asp.]]Google ScholarGoogle Scholar
  25. I. Michiels, K. De Schutter, T. D'Hondt, and G. Hoffman. Using Dynamic Aspect to Extract Business Rules from Legacy Code. In Online proceedings of Dynamic Aspects Workshop at AOSD, 2004.]]Google ScholarGoogle Scholar
  26. J. Piggot. Variable-Size (Dynamic) Tables, 30 April 2003. J4 Technical Report 03-0107.]]Google ScholarGoogle Scholar
  27. A. Rashid and R. Chitchyan. Persistence as an aspect. In Proc. of the 2nd international Conf. on Aspect-oriented software development, pages 120--129. ACM Press, 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. D. Sabbah. Aspects: from promise to reality. In AOSD 2004: Proc. of the 3rd International Conf. on Aspect-Oriented Software Development, pages 1--2. ACM Press, 2004.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. E. Sammet. The early history of COBOL. In The first ACM SIGPLAN Conf. on History of programming languages, pages 121--161. ACM Press, 1978.]] Google ScholarGoogle Scholar
  30. S. Schonger, E. Pulvermüller, and S. Sarstedt. Aspect-Oriented Programming and Component Weaving: Using XML Representations of Abstract Syntax Trees. In Proc. of the 2nd German GI Workshop on Aspect-Oriented Software Development, pages 59--64, February 2002. Technical Report No. IAI-TR-2002-1, University of Bonn, Computer Science Dept.]]Google ScholarGoogle Scholar
  31. D. Sereni and O. de Moor. Static analysis of aspects. In Proc. of the 2nd International Conf. on Aspect-oriented Software Development, pages 30--39. ACM Press, 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. S. E. Sim. Next generation data interchange: Tool-to-tool application program interfaces. In Proc. of Working Conf. on Reverse Engineering (WCRE'00), pages 278--283. IEEE Computer Society, November 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. T. Skotiniotis and D. H. Lorenz. Cona: aspects for contracts and contracts for aspects. In OOPSLA 2004: Companion to the 19th annual ACM SIGPLAN Conf. on Object-oriented programming systems, languages, and applications, pages 196--197. ACM Press, 2004.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. S. Soares, E. Laureano, and P. Borba. Implementing distribution and persistence aspects with AspectJ. In OOPSLA 2002: Proc. of the 17th ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications, pages 174--190. ACM Press, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. N. P. Veerman. Revitalizing modifiability of legacy assets. Journal of Software Maintenance and Evolution, 16(4-5):219--254, July-Oct 2004. Special issue on CSMR 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Y. Zou and K. Kontogiannis. A framework for migrating procedural code to object-oriented platforms. In 8th Asia-Pacific Software Engineering Conf. (APSEC 2001), 4-7 December 2001, Macau, China, pages 390--499. IEEE Computer Society, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. What does aspect-oriented programming mean to Cobol?

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Other conferences
            AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development
            March 2005
            210 pages
            ISBN:1595930426
            DOI:10.1145/1052898
            • General Chair:
            • Mira Mezini,
            • Program Chair:
            • Peri Tarr

            Copyright © 2005 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 14 March 2005

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate41of139submissions,29%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader