skip to main content
10.1145/2162110.2162130acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
demonstration

PHANtom: an aspect language for pharo smalltalk

Published:25 March 2012Publication History

ABSTRACT

Aspect languages for Smalltalk have not kept up with advances in aspect language research. Arguably the only well-known aspect language for Smalltalk is AspectS. It is a ground-breaking contribution, especially regarding dynamic aspects, yet it lacks amenities which aspect language users have come to rely on, e.g. the use of patterns in pointcuts and the ability to declare aspect precedence. Alternative aspect languages for Smalltalk are effectively absent. As a result, currently Smalltalk lacks a modern and powerful aspect language.To address this deficit, we elected to design and build PHANtom: a modern aspect language for Pharo Smalltalk. PHANtom is designed to be an aspect language in the spirit of Smalltalk: dynamic, simple and powerful. PHANtom is a modern aspect language because it incorporates what we consider to be the best features of languages that precede it, includes recent research results in aspect interactions and reentrancy control, and is designed from the onset to be optimized and compiled where possible. This demo presents PHANtom by first providing an introduction to the language, detailing its philosophy and fundamental features. It second discusses the salient features of the language by demonstrating the use of PHANtom in an example application.

References

  1. Ali Assaf and Jacques Noyé. Dynamic aspectj. In Proceedings of the 2008 symposium on Dynamic languages, DLS '08, pages 8:1--8:12, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. John Brant, Brian Foote, Ralph Johnson, and Donald Roberts. Wrappers to the rescue. In Eric Jul, editor, ECOOP'98 - Object-Oriented Programming, volume 1445 of Lecture Notes in Computer Science, pages 396--417. Springer Berlin / Heidelberg, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Christopher Dutchyn, David B. Tucker, and Shriram Krishnamurthi. Semantics and scoping of aspects in higher-order languages. Science of Computer Programming, 63(3):207 -- 239, 2006. Special issue on foundations of aspect-oriented programming. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Johan Fabry and Daniel Galdames. PHANtom: a modern aspect language for Pharo Smalltalk. In Proceedings of 2011 International Workshop on Smalltalk Technologies (IWST'11). ACM Press, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Robert Hirschfeld. AspectS - Aspect-Oriented Programming with Squeak. In Mehmet Aksit, Mira Mezini, and Rainer Unland, editors, Objects, Components, Architectures, Services, and Applications for a Networked World, volume 2591 of Lecture Notes in Computer Science, pages 216--232. Springer Berlin / Heidelberg, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William Griswold. An overview of aspectj. In Jorgen Knudsen, editor, ECOOP 2001 - Object-Oriented Programming, volume 2072 of Lecture Notes in Computer Science, pages 327--354. Springer Berlin / Heidelberg, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Antoine Marot. Preserving the Separation of Concerns while Composing Aspects with Reflective AOP. PhD thesis, Université Libre de Bruxelles, 2011.Google ScholarGoogle Scholar
  8. H. Rajan and K.J. Sullivan. Classpects: unifying aspect- and object-oriented language design. In Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on, pages 59 -- 68, may 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Lukas Renggli, Stéphane Ducasse, Tudor Gîrba, and Oscar Nierstrasz. Practical dynamic grammars for dynamic languages. In 4th Workshop on Dynamic Languages and Applications (DYLA 2010), Malaga, Spain, June 2010.Google ScholarGoogle Scholar
  10. Éric Tanter, Nicolas Tabareau, and Rémi Douence. Taming aspects with membranes. In Proceedings of the 11th Workshop on Foundations of Aspect-Oriented Languages (FOAL 2012), Potsdam, Germany, March 2012. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. PHANtom: an aspect language for pharo smalltalk

    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 Conferences
      AOSD Companion '12: Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion
      March 2012
      44 pages
      ISBN:9781450312226
      DOI:10.1145/2162110

      Copyright © 2012 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: 25 March 2012

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • demonstration

      Acceptance Rates

      Overall Acceptance Rate41of139submissions,29%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader