skip to main content
10.1145/2892664.2892683acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Compatibility layers for interface mediation at run-time

Published: 14 March 2016 Publication History

Abstract

In adaptable systems, one module might require an interface from another module which the second module does not provide. For some cases, the particular provider module and its interface which will be available at run-time can not be anticipated during development time. In such situations with various provider interfaces, current mitigation strategies for interface mismatches struggle as they often rely on advanced knowledge about one particular providing module. Therefore, we propose the concept of compatibility layers which is based on modular interface mappings. These mappings are applied to adapt the provided interface at run-time. Each mapping contains a set of general requirements for the provided interface and a set of derived functions based on the required features. We have implemented the concept of compatibility layers in a Squeak/Smalltalk prototype based on context-oriented programming. Based on this prototype, we discuss the resulting trade-offs and illustrate exemplary interface mismatches in Squeak/Smalltalk which could be mediated by the prototype.

References

[1]
A. Bergel, S. Ducasse, and R. Wuyts. Classboxes: A Minimal Module Model Supporting Local Rebinding. In Proceedings of Joint Modular Languages Conference JMLC03, volume 2789 of Lecture Notes in Computer Science, pages 122–131. Springer Berlin Heidelberg, 2003.
[2]
A. P. Black, O. Nierstrasz, S. Ducasse, and D. Pollet. Pharo by example. Square Bracket Associates, 2010.
[3]
G. Bracha and W. Cook. Mixin-based inheritance. ACM Sigplan Notices, 25(10):303–311, 1990.
[4]
P. Butterworth, A. Otis, and J. Stein. The gemstone object database management system. Communications of the ACM, 34(10):64–77, 1991.
[5]
S. Conder and L. Darcey. Android Wireless Application Development. Addison Wesley, Upper Saddle River, NJ, 2nd revised edition. edition edition, Dec. 2010. ISBN 978-0-321-74301-5.
[6]
M. Dezani-Ciancaglini, D. Mostrous, N. Yoshida, and S. Drossopoulou. Session types for object-oriented languages. In Proceedings of ECOOP 2006, Nantes, France, July 3-7, 2006, Proceedings, pages 328–352, 2006.
[7]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education, 1994.
[8]
S. Herrmann. Object teams: Improving modularity for crosscutting collaborations. In Objects, Components, Architectures, Services, and Applications for a Networked World, pages 248–264. Springer, 2003.
[9]
R. Hirschfeld, P. Costanza, and O. Nierstrasz. Context-Oriented Programming. Journal of Object Technology, 7(3):125–151, 2008.
[10]
K. Honda. Types for dyadic interaction. In CONCUR 1993, pages 509–523. Springer, 1993.
[11]
D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, and A. Kay. Back to the future: The story of Squeak, a practical Smalltalk written in itself. In ACM SIGPLAN Notices, volume 32, pages 318–326. ACM, 1997.
[12]
T. Kaehler. Squeak wiki: Method finder. http://wiki.squeak. org/squeak/1916 (accessed 12 January 2016).
[13]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings of ECOOP 1997, pages 220–242, 1997.
[14]
J. Lincke, M. Appeltauer, B. Steinert, and R. Hirschfeld. An open implementation for context-oriented layer composition in contextjs. Science of Computer Programming, 76(12):1194 – 1209, 2011.
[15]
M. Mezini and K. Ostermann. Conquering aspects with caesar. In Proceedings of the 2nd international conference on Aspect-oriented software development, pages 90–99. ACM, 2003.
[16]
S. Powers. JavaScript Cookbook. O’Reilly Media, Inc., 2015.
[17]
T. Reenskaug. The common sense of object oriented programming. Department of Informatics, University of Oslo, Oslo, Norway, 2009.
[18]
H. Samimi, C. Deaton, Y. Ohshima, A. Warth, and T. D. Millstein. Call by meaning. In Proceedings of Onward! 2014, part of SLASH ’14, Portland, OR, USA, October 20-24, 2014, pages 11–28, 2014.

Cited By

View all
  • (2020)Interfaces for Modular Reasoning in Context-Oriented ProgrammingProceedings of the 12th ACM International Workshop on Context-Oriented Programming and Advanced Modularity10.1145/3422584.3423152(1-7)Online publication date: 21-Jul-2020
  • (2018)The exploration workspace: interleaving the implementation and use of plain objects in smalltalkCompanion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming10.1145/3191697.3214339(113-116)Online publication date: 9-Apr-2018
  • (2017)Group-Based Behavior Adaptation Mechanisms in Object-Oriented SystemsIEEE Software10.1109/MS.2017.412122434:6(78-82)Online publication date: Nov-2017

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
MODULARITY Companion 2016: Companion Proceedings of the 15th International Conference on Modularity
March 2016
217 pages
ISBN:9781450340335
DOI:10.1145/2892664
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 the author(s) 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].

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 March 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. context-oriented programming
  2. dynamic adaptation
  3. interface compatibility
  4. interfaces
  5. modules

Qualifiers

  • Research-article

Conference

Modularity '16

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Interfaces for Modular Reasoning in Context-Oriented ProgrammingProceedings of the 12th ACM International Workshop on Context-Oriented Programming and Advanced Modularity10.1145/3422584.3423152(1-7)Online publication date: 21-Jul-2020
  • (2018)The exploration workspace: interleaving the implementation and use of plain objects in smalltalkCompanion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming10.1145/3191697.3214339(113-116)Online publication date: 9-Apr-2018
  • (2017)Group-Based Behavior Adaptation Mechanisms in Object-Oriented SystemsIEEE Software10.1109/MS.2017.412122434:6(78-82)Online publication date: Nov-2017

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