Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Interaction-based programming with classages

Published: 12 October 2005 Publication History

Abstract

This paper presents Classages, a novel interaction-centric object-oriented language. Classes and objects in Classages are fully encapsulated, with explicit interfaces for all interactions they might be involved in. The design of Classages touches upon a wide range of language design topics, including encapsulation, object relationship representation, and object confinement. An encoding of Java's OO model in Classages is provided, showing how standard paradigms are supported. A prototype Classages compiler is described.

References

[1]
Abadi, M., and Cardelli, L. A Theory of Objects. Springer, 1996.
[2]
Aldrich, J., and Chambers, C. Ownership domains: Separating aliasing policy from mechanism. In Proceedings of the 18th ECOOP (2004), pp. 1--25.
[3]
Aldrich, J., Kostadinov, V., and Chambers, C. Alias annotations for program understanding. In OOPSLA '02, pp. 311--330.
[4]
Aldrich, J., Sazawal, V., Chambers, C., and Notkin, D. Language support for connector abstractions. In Proceedings of the 17th ECOOP (2003), pp. 74--102.
[5]
Allen, R., and Garlan, D. A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6, 3 (1997), 213--249.
[6]
Bierman, G., and Wren, A. First-class relationships in an object-oriented language. In FOOL '05: Proceedings of the 12th International Workshop on Foundations of Object-oriented Languages.
[7]
Black, A. P., Schärli, N., and Ducasse, S. Applying traits to the smalltalk collection classes. In OOPSLA '03, pp. 47--64.
[8]
Boyapati, C., Liskov, B., and Shrira, L. Ownership types for object encapsulation. In POPL'03, pp. 213--223.
[9]
Bracha, G., and Cook, W. Mixin-based inheritance. In Proceedings of OOPSLA/ECOOP'90 (1990), pp. 303--311.
[10]
Clarke, D. Object Ownership and Containment. PhD thesis, University of New South Wales, July 2001.
[11]
Clarke, D., and Wrigstad, T. External uniqueness is unique enough. In Proceedings of the 17th ECOOP (2003), pp. 176--200.
[12]
Cobbe, R., and Felleisen, M. Environmental acquisition revisited. In POPL'05, pp. 14--25.
[13]
Ducasse, S., Blay-Fornarino, M., and Pinna, A.-M. A reflective model for first class dependencies. In OOPSLA'95, pp. 265--280.
[14]
Flatt, M., and Felleisen, M. Units: Cool modules for HOT languages. In PLDI'98, pp. 236--248.
[15]
Flatt, M., Krishnamurthi, S., and Felleisen, M. Classes and mixins. In POPL'98, pp. 171--183.
[16]
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[17]
Guéhéneuc, Y.-G., and Albin-Amiot, H. Recovering binary class relationships: Putting icing on the uml cake. In OOPSLA'04, pp. 301--314.
[18]
Kristensen, B. Complex Associations: Abstractions in Object-Oriented Modeling. In OOPSLA'94, pp. 272--283.
[19]
Liu, Y. D., and Smith, S. F. Modules with interfaces for dynamic linking and communication. In Proceedings of the 18th ECOOP (2004), pp. 414--439.
[20]
Madsen, O. L., Moller-Pedersen, B., and Nygaard, K. Object-oriented programming in the BETA programming language. ACM Press/Addison-Wesley Publishing Co., 1993.
[21]
Medvidovic, N., Rosenblum, D. S., and Taylor, R. N. A language and environment for architecture-based software development and evolution. In Proceedings of the 1999 International Conference on Software Engineering, pp. 44--53.
[22]
Nystrom, N., Clarkson, M. R., and Myers, A. C. Polyglot: An extensible compiler framework for java. In Proceedings of the 12th International Conference on Compiler Construction (2003), pp. 138--152.
[23]
Object Management Group. The Object Management Group. URL: http://www.omg.org.
[24]
Rinat, R., and Smith, S. F. Modular internet programming with cells. In Proceedings of the 16th ECOOP (2002), pp. 257--280.
[25]
Rumbaugh, J. Relations as semantic constructs in an object-oriented language. In OOPSLA'87, pp. 466--481.
[26]
Schärli, N., Black, A. P., and Ducasse, S. Object-oriented encapsulation for dynamically typed languages. In OOPSLA'04, pp. 130--149.
[27]
Schärli, N., Ducasse, S., Nierstrasz, O., and Black, A. P. Traits: Composable units of behaviour. In Proceedings of the 17th ECOOP (2003), pp. 248--274.
[28]
Schärli, N., Ducasse, S., Nierstrasz, O., and Wuyts, R. Composable encapsulation policies. In Proceedings of the 18th ECOOP (2004), pp. 26--50.
[29]
Srinivasan, R., and Rose, G. Linus: A hierarchic procedure to predict the fold of a protein. PROTEINS: Structure, Function, and Genetics 22 (1995), 81--99.
[30]
Steyaert, P., Lucas, C., Mens, K., and D'Hondt, T. Reuse contracts: managing the evolution of reusable assets. In OOPSLA'96, pp. 268--285.
[31]
Tofte, M., and Talpin, J.-P. Region-based memory management. Information and Computation 132, 2 (1997), 109--176.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 40, Issue 10
Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applications
October 2005
531 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1103845
Issue’s Table of Contents
  • cover image ACM Conferences
    OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
    October 2005
    562 pages
    ISBN:1595930310
    DOI:10.1145/1094811
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: 12 October 2005
Published in SIGPLAN Volume 40, Issue 10

Check for updates

Author Tags

  1. classages
  2. confinement
  3. encapsulation
  4. interaction
  5. interface
  6. relationship

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2013)Ownership Types: A SurveyAliasing in Object-Oriented Programming. Types, Analysis and Verification10.1007/978-3-642-36946-9_3(15-58)Online publication date: 2013
  • (2014)Unifying and Generalizing Relations in Role-Based Data Modeling and NavigationSoftware Language Engineering10.1007/978-3-319-11245-9_14(241-260)Online publication date: 2014
  • (2013)Ownership typesAliasing in Object-Oriented Programming10.5555/2554511.2554516(15-58)Online publication date: 1-Jan-2013
  • (2013)A goal-oriented programming framework for grid sensor networks with reconfigurable embedded nodesACM Transactions on Embedded Computing Systems10.1145/2362336.236234611:4(1-30)Online publication date: 1-Jan-2013
  • (2010)Modules as objects in newspeakProceedings of the 24th European conference on Object-oriented programming10.5555/1883978.1884007(405-428)Online publication date: 21-Jun-2010
  • (2010)Interaction-based programming towards translucent cloudsProceedings of the 2010 Workshop on Analysis and Programming Languages for Web Applications and Cloud Applications10.1145/1810139.1810142(15-19)Online publication date: 6-Jun-2010
  • (2010)Modules as Objects in NewspeakECOOP 2010 – Object-Oriented Programming10.1007/978-3-642-14107-2_20(405-428)Online publication date: 2010
  • (2007)A high-performance operating system for structured concurrent programsProceedings of the 4th workshop on Programming languages and operating systems10.1145/1376789.1376800(1-5)Online publication date: 18-Oct-2007
  • (2007)Oz/KProceedings of the 6th international conference on Generative programming and component engineering10.1145/1289971.1289980(43-52)Online publication date: 1-Oct-2007
  • (2006)A formal framework for component deploymentACM SIGPLAN Notices10.1145/1167515.116750241:10(325-344)Online publication date: 16-Oct-2006
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media