skip to main content
10.1145/2724525.2724573acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

AspectMatlab++: annotations, types, and aspects for scientists

Published:16 March 2015Publication History

ABSTRACT

In this paper we present extensions to an aspect oriented compiler developed for MATLAB. These extensions are intended to support important functionality for scientists, and include pattern matching on annotations, and types of variables, as well as new manners of exposing context. We provide use-cases of these features in the form of several general-use aspects which focus on solving issues that arise from use of dynamically-typed languages. We also detail performance enhancements to the ASPECTMATLAB compiler which result in an order of magnitude in performance gains.

References

  1. T. Aslam. AspectMatlab: An Aspect-Oriented Scientific Programming Language. Master’s thesis, McGill University, 2010. URL http: //www.sable.mcgill.ca/mclab/aspectmatlab/index.html.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Aslam, J. Doherty, A. Dubrau, and L. Hendren. AspectMatlab: An Aspect-Oriented Scientific Programming Language. In Proceedings of the 9th International Conference on Aspect-Oriented Software Development, pages 181–192, March 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. a. M. P. Cardoso, J. a. M. Fernandes, M. P. Monteiro, T. Carvalho, and R. Nobre. Enriching MATLAB with aspect-oriented features for developing embedded systems. J. Syst. Archit., 59(7):412–428, Aug. 2013. ISSN 1383-7621.. URL http://dx.doi.org/10.1016/j. sysarc.2013.04.003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Hendren. Typing aspects for MATLAB. In Proceedings of the Sixth Annual Workshop on Domain-specific Aspect Languages, DSAL ’11, pages 13–18, New York, NY, USA, 2011. ACM. ISBN 978-1-4503- 0648-5.. URL http://doi.acm.org.proxy1.library.mcgill. ca/10.1145/1960496.1960501. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Irwin, J.-M. Loingtier, J. Gilbert, G. Kiczales, J. Lamping, A. Mendhekar, and T. Shpeisman. Aspect-oriented programming of sparse matrix code. In Y. Ishikawa, R. Oldehoeft, J. Reynders, and M. Tholburn, editors, Scientific Computing in Object-Oriented Parallel Environments, volume 1343 of Lecture Notes in Computer Science, pages 249–256. Springer Berlin Heidelberg, 1997. ISBN 978-3-540-63827- 8.. URL http://dx.doi.org/10.1007/3-540-63827-X_68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. Jiang and Z. Su. Osprey: A practical type system for validating dimensional unit correctness of C programs. In Proceedings of the 28th International Conference on Software Engineering, ICSE ’06, pages 262–271, New York, NY, USA, 2006. ACM. ISBN 1-59593- 375-1.. URL http://doi.acm.org.proxy1.library.mcgill. ca/10.1145/1134285.1134323. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Kennedy. Types for units-of-measure: Theory and practice. In Proceedings of the Third Summer School Conference on Central European Functional Programming School, CEFP’09, pages 268–305, Berlin, Heidelberg, 2010. Springer-Verlag. ISBN 3-642-17684-4, 978-3-642- 17684-5. URL http://dl.acm.org.proxy2.library.mcgill. ca/citation.cfm?id=1939128.1939136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. MathWorks. MATLAB Programming Fundamentals. The MathWorks, Inc., 2009.Google ScholarGoogle Scholar
  9. C. Moler. The Growth of MATLAB and The MathWorks over Two Decades,. http://www.mathworks.com/company/ newsletters/news_notes/clevescorner/jan06.pdf.Google ScholarGoogle Scholar
  10. C. Moler. The Origins of MATLAB,. http://www.mathworks. com/company/newsletters/news_notes/clevescorner/ dec04.html.Google ScholarGoogle Scholar
  11. C. Noguera, A. Kellens, D. Deridder, and T. D’Hondt. Tackling pointcut fragility with dynamic annotations. In Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution, RAM-SE ’10, pages 1:1–1:6, New York, NY, USA, 2010. ACM. ISBN 978-1-4503-0536-5.. URL http://doi.acm.org.proxy1. library.mcgill.ca/10.1145/1890683.1890684. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. J. Quinn, A. Malishevsky, and N. Seelam. Otter: Bridging the gap between MATLAB and ScaLAPACK. In Proceedings of the 7th IEEE International Symposium on High Performance Distributed Computing, HPDC ’98, pages 114–, Washington, DC, USA, 1998. IEEE Computer Society. ISBN 0-8186- 8579-4. URL http://dl.acm.org.proxy1.library.mcgill. ca/citation.cfm?id=822083.823199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. M. Ren, J. Toman, T. S. Strickland, and J. S. Foster. The Ruby Type Checker. In Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC ’13, pages 1565–1572, New York, NY, USA, 2013. ACM. ISBN 978-1-4503-1656-9.. URL http://doi.acm. org.proxy1.library.mcgill.ca/10.1145/2480362.2480655. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. L. D. Rose and D. Padua. Techniques for the translation of MATLAB programs into Fortran 90. ACM Trans. Program. Lang. Syst., 21(2): 286–323, 1999. ISSN 0164-0925.. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. AspectMatlab++: annotations, types, and aspects for scientists

      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
        MODULARITY 2015: Proceedings of the 14th International Conference on Modularity
        March 2015
        145 pages
        ISBN:9781450332491
        DOI:10.1145/2724525

        Copyright © 2015 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: 16 March 2015

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate41of139submissions,29%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader