skip to main content
10.1145/1960314.1960332acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
tutorial

Modularizing crosscutting concerns with Ptolemy

Published: 21 March 2011 Publication History

Abstract

This tutorial will provide an introduction to Ptolemy. Ptolemy is a programming language whose goals are to improve a software engineer's ability to separate conceptual concerns, while preserving encapsulation of object-oriented code and the ability of programmers to modularly reason about their code. In particular, Ptolemy's features are useful towards modularization of cross-cutting concerns. A cross-cutting concern is a requirement whose implementation is spread across and mixed with the code of other requirements. There has been attempts to improve separation of cross-cutting concerns, e.g. by aspect oriented and implicit-invocation languages, but none give software developers textual separation of concerns and modular reasoning at the same time. Ptolemy has both these properties important for scalable software engineering. Ptolemy's event types provide a well-defined interface between object-oriented code and cross-cutting code. This in turn enables separate type-checking and compilation. Ptolemy also provides a novel and practical specification mechanism that we call translucid contracts. A translucid contracts allows developers to reason about the control effects of the object-oriented code and cross-cutting code modularly.
This tutorial will proceed by discussing the goals of the Ptolemy programming language. We will then discuss Ptolemy's programming features and its specification features by way of several hands-on exercises. We will conclude with pointers to ongoing work on design, implementation and verification of Ptolemy programs.

References

[1]
M. Bagherzadeh, H. Rajan, and G. T. Leavens. Translucid contracts for aspect-oriented interfaces. In the Foundations of Aspect-Oriented Languages workshop (FOAL 2010), March 2010.
[2]
M. Bagherzadeh, H. Rajan, G. T. Leavens, and S. Mooney. Translucid contracts: Expressive specification and modular verification for aspect-oriented interfaces. In AOSD '11: 10th International Conference on Aspect-Oriented Software Development, March 2011.
[3]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold. Getting started with AspectJ. Commun. ACM, 44(10):59--65, 2001.
[4]
H. Rajan and G. T. Leavens. Ptolemy: A language with quantified, typed events. In 22nd European Conference on Object-Oriented Programming (ECOOP), July 2008.
[5]
H. Rajan and K. Sullivan. Eos: instance-level aspects for integrated system design. In the 2003 Joint European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2003), Sep 2003.
[6]
H. Rajan and K. J. Sullivan. Classpects: unifying aspect- and object-oriented language design. In 27th International Conference on Software Engineering (ICSE 2005), May 2005.
[7]
H. Rajan and K. J. Sullivan. Unifying aspect- and object-oriented design. ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 19 (1), August 2009, ACM Press.
[8]
K. J. Sullivan, W. G. Griswold, H. Rajan, Y. Song, Y. Cai, M. Shonle, and N. Tewari. Modular aspect-oriented design with XPIs. ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 20 (2), August 2010, ACM Press.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
AOSD '11: Proceedings of the tenth international conference on Aspect-oriented software development companion
March 2011
102 pages
ISBN:9781450306065
DOI:10.1145/1960314
  • General Chair:
  • Paulo Borba,
  • Program Chair:
  • Shigeru Chiba

Sponsors

In-Cooperation

  • Centro de Informatica - UFPE: Centro de Informatica - UFPE
  • CAPES: Coordençãao de Aperfeiçoamento de Pessoal de Nível Superior
  • CNPq: Conselho Nacional de Desenvolvimento Cientifico e Tecn
  • FINEP: Financiadora de Estudos e Projetos
  • PUC-Rio
  • FACEPE: Fundacao de Amparo a Ciencia e Tecnologia do Estado de Pernambuco

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 March 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Ptolemy
  2. aspect-oriented interfaces
  3. aspect-oriented programming languages
  4. implicit invocation translucid contracts
  5. modular reasoning

Qualifiers

  • Tutorial

Conference

AOSD'11

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 164
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media