TU Darmstadt / ULB / TUbiblio

Dependent Classes

Gasiunas, Vaidas ; Mezini, Mira ; Ostermann, Klaus (2007)
Dependent Classes.
In: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages and Applications
doi: 10.1145/1297027.1297038
Buchkapitel, Bibliographie

Kurzbeschreibung (Abstract)

Virtual classes allow nested classes to be refined in subclasses. In this way nested classes can be seen as dependent abstractions of the objects of the enclosing classes. Expressing dependency via nesting, however, has two limitations: Abstractions that depend on more than one object cannot be modeled and a class must know all classes that depend on its objects. This paper presents dependent classes, a generalization of virtual classes that expresses similar semantics by parameterization rather than by nesting. This increases expressivity of class variations as well as the flexibility of their modularization. Besides, dependent classes complement multimethods in scenarios where multi-dispatched abstractions rather than multi-dispatched methods are needed. They can also be used to express more precise signatures of multimethods and even extend their dispatch semantics. We present a formal semantics of dependent classes and a machine-checked type soundness proof in Isabelle/HOL, the first of this kind for a language with virtual classes and path-dependent types.

Typ des Eintrags: Buchkapitel
Erschienen: 2007
Autor(en): Gasiunas, Vaidas ; Mezini, Mira ; Ostermann, Klaus
Art des Eintrags: Bibliographie
Titel: Dependent Classes
Sprache: Englisch
Publikationsjahr: 2007
Ort: New York, NY, USA
Buchtitel: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages and Applications
Veranstaltungstitel: Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2007)
Veranstaltungsort: Montreal, Quebec, Canada
DOI: 10.1145/1297027.1297038
Kurzbeschreibung (Abstract):

Virtual classes allow nested classes to be refined in subclasses. In this way nested classes can be seen as dependent abstractions of the objects of the enclosing classes. Expressing dependency via nesting, however, has two limitations: Abstractions that depend on more than one object cannot be modeled and a class must know all classes that depend on its objects. This paper presents dependent classes, a generalization of virtual classes that expresses similar semantics by parameterization rather than by nesting. This increases expressivity of class variations as well as the flexibility of their modularization. Besides, dependent classes complement multimethods in scenarios where multi-dispatched abstractions rather than multi-dispatched methods are needed. They can also be used to express more precise signatures of multimethods and even extend their dispatch semantics. We present a formal semantics of dependent classes and a machine-checked type soundness proof in Isabelle/HOL, the first of this kind for a language with virtual classes and path-dependent types.

Freie Schlagworte: dependent classes, virtual classes, dynamic dispatch, multiple dispatch, multimethods, variability
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Softwaretechnik
Hinterlegungsdatum: 14 Sep 2009 07:20
Letzte Änderung: 05 Mär 2013 09:21
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen