skip to main content
10.1145/1040305.1040307acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

Environmental acquisition revisited

Published: 12 January 2005 Publication History

Abstract

In 1996, Gil and Lorenz proposed programming language constructs for specifying environmental acquisition in addition to inheritance acquisition for objects. They noticed that in many programs, objects are arranged in containment hierarchies and need to obtain information from their container objects. Therefore, if languages allowed programmers to specify such relationships directly, type systems and run-time environments could enforce the invariants that make these programming patterns work.In this paper, we present a formal version of environmental acquisition for class-based languages. Specifically, we introduce an extension of the ClassicJava model with constructs for environmental acquisition of fields and methods, a type system for the model, a reduction semantics, and a type soundness proof. We also discuss how to scale the model to a full-scale Java-like programming language.

References

[1]
Dave Clarke and Sophia Drossopoulou. Ownership, encapsulation and the disjointness of type and effect. In Proceedings of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 292--310. ACM Press, 2002.]]
[2]
David G. Clarke, John M. Potter, and James Noble. Ownership types for flexible alias protection. In Proceedings of the 13th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 48--64. ACM Press, 1998.]]
[3]
Microsoft Corporation. Microsoft C# Language Specifications. Microsoft Press, 2001.]]
[4]
Robert Bruce Findler, John Clements, Cormac Flanagan, Matthew Flatt, Shriram Krishnamurthi, Paul Steckler, and Matthias Felleisen. DrScheme: A programming environment for Scheme. Journal of Functional Programming, 12(2):159--182, March 2002. A preliminary version of this paper appeared in PLILP 1997, LNCS volume 1292, pp. 369--388.]]
[5]
Matthew Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997. http://www.plt-scheme.org/software/mzscheme/.]]
[6]
Matthew Flatt and Robert~Bruce Findler. PLT MrEd: Graphical toolbox manual. Technical Report TR97-279, Rice University, 1997. http://www.plt-scheme.org/software/mred/.]]
[7]
Matthew Flatt, Shriram Krishnamurthi, and Matthias Felleisen. A programmer's reduction semantics for classes and mixins. In Formal Syntax and Semantics of Java, volume 1523 of Springer Lecture Notes in Computer Science, pages 241--269. Springer-Verlag, 1999. Preliminary version appeared in proceedings of Principles of Programming Languages, 1998. Revised version is Rice University technical report TR 97-293, June 1999.]]
[8]
Martin Fowler and Kendall Scott. UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley, Reading, MA, 1997.]]
[9]
Jim Fulton. Extension classes, Python extension types become classes. http://debian.acm.ndsu.nodak.edu/doc/python-extclassExtensionClass.html.]]
[10]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.]]
[11]
Joseph Gil and David H. Lorenz. Environmental acquisition: a new inheritance-like abstraction mechanism. In Proceedings of the Eleventh Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 214--231. ACM Press, 1996.]]
[12]
Joseph (Yossi) Gil and David H. Lorenz. Object technology: Design patterns and language design. IEEE Computer, 31(3):118--120, March 1998.]]
[13]
James Gosling, Bill Joy, and Guy Steele, Jr. The Java Language Specification. Addison-Wesley, 1996.]]
[14]
Alan C. Kay. The early history of Smalltalk. In The Second ACM SIGPLAN Conference on History of Programming Languages, pages 69--95. ACM Press, 1993.]]
[15]
Shriram Krishnamurthi, Yan-David Erlich, and Matthias Felleisen. Expressing structural properties as language constructs. In European Symposium on Programming, volume 1576 of Springer Lecture Notes in Computer Science, pages 258--272, March 1999.]]
[16]
Amos Latteier, Michel Pelletier, Chris McDonough, and Peter Sabaini. The Zope Book. SAMS, 2001. Also available on-line at http://zope.org/Documentation/Books/ZopeBook.]]
[17]
Mark Logan, Matthias Felleisen, and David Blank-Edelman. Environmental acquisition in network management. In Proceedings of LISA 2002: Sixteenth Systems Administration Conference, pages 175--184. USENIX Association, 2002.]]
[18]
Jacob Matthews, Robert Bruce Findler, Matthew Flatt, and Matthias Felleisen. A visual environment for developing context-sensitive term rewriting systems. In International Conference on Rewriting Techniques and Applications, 2004.]]
[19]
Bertrand Meyer. Eiffel: The Language. Prentice Hall, 1992.]]
[20]
Sun Microsystems. Java 2 standard edition SDK, v1.4.2. http://wwws.sun.com/software/communitysource/j2se/java2/download.html.]]
[21]
Sun Microsystems. Java foundation classes (JFC/Swing). http://java.sun.com/products/jfc/index.jsp.]]
[22]
Python. http://www.python.org/.]]
[23]
Andrew K. Wright and Matthias Felleisen. A syntactic approach to type soundness. Information and Computation, 115(1):38--94, 1994. First appeared as Technical Report TR160, Rice University, 1991.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2005
402 pages
ISBN:158113830X
DOI:10.1145/1040305
  • General Chair:
  • Jens Palsberg,
  • Program Chair:
  • Martín Abadi
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 40, Issue 1
    Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2005
    391 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1047659
    Issue’s Table of Contents
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 January 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. environmental acquisition
  2. object composition
  3. object containment
  4. object-oriented languages

Qualifiers

  • Article

Conference

POPL05

Acceptance Rates

Overall Acceptance Rate 860 of 4,328 submissions, 20%

Upcoming Conference

POPL '26

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)2
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2006)Delimited dynamic bindingACM SIGPLAN Notices10.1145/1160074.115980841:9(26-37)Online publication date: 16-Sep-2006
  • (2006)Delimited dynamic bindingProceedings of the eleventh ACM SIGPLAN international conference on Functional programming10.1145/1159803.1159808(26-37)Online publication date: 17-Sep-2006
  • (2005)Interaction-based programming with classagesACM SIGPLAN Notices10.1145/1103845.109482740:10(191-209)Online publication date: 12-Oct-2005
  • (2005)Interaction-based programming with classagesProceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications10.1145/1094811.1094827(191-209)Online publication date: 17-Oct-2005

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