Design, Semantics and Implementation of the Ptolemy Programming Language: A Language with Quantified Typed Events

By: Hridesh Rajan and Gary T. Leavens

PDF Download Download Paper

Abstract

Implicit invocation (II) and aspect-oriented (AO) languages provide software designers with related but distinct mechanisms and strategies for decomposing programs into modules and composing modules into systems. II languages have explicitly announced events that run registered observer methods. AO languages have implicitly announced events that run method-like but more powerful advice. A limitation of II languages is their inability to refer to a large set of events succinctly. They also lack the expressive power of AO advice. Limitations of AO languages include potentially fragile dependence on syntactic structure that may hurt maintainability, and limits on the available set of implicit events and the reflective contextual information available. Quantified, typed events, as implemented in our language Ptolemy, solve all these problems. This paper describes Ptolemy and explores its advantages relative to both II and AO languages.

ACM Reference

Rajan, H. and Leavens, G.T. 2015. Design, Semantics and Implementation of the Ptolemy Programming Language: A Language with Quantified Typed Events. Technical Report #N.

BibTeX Reference

@techreport{rajan2015design,
  title = {Design, Semantics and Implementation of the Ptolemy Programming Language: A Language with Quantified Typed Events},
  author = {Rajan, Hridesh and Leavens, Gary T},
  year = {2015},
  month = {July},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {V},
  number = {N},
  abstract = {
    Implicit invocation (II) and aspect-oriented (AO) languages provide software
    designers with related but distinct mechanisms and strategies for decomposing
    programs into modules and composing modules into systems. II languages have
    explicitly announced events that run registered observer methods. AO languages
    have implicitly announced events that run method-like but more powerful
    advice. A limitation of II languages is their inability to refer to a large
    set of events succinctly. They also lack the expressive power of AO advice.
    Limitations of AO languages include potentially fragile dependence on
    syntactic structure that may hurt maintainability, and limits on the available
    set of implicit events and the reflective contextual information available.
    Quantified, typed events, as implemented in our language Ptolemy, solve all
    these problems. This paper describes Ptolemy and explores its advantages
    relative to both II and AO languages.
  }
}