کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
435534 1441724 2011 32 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Metamodeling semantics of multiple inheritance
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
Metamodeling semantics of multiple inheritance
چکیده انگلیسی

Inheritance provides object-oriented programming with much of its great reusability power. When inheritance is single, its specifications are simple and everybody roughly agrees on them. In contrast, multiple inheritance yields ambiguities that have prompted long-standing debates, and no two languages agree on its specifications. In this paper, we present a semantics of multiple inheritance based on metamodeling. A metamodel is proposed which distinguishes the “identity” of properties from their “values” or “implementations”. It yields a clear separation between syntactic and semantic conflicts. The former can be solved in any language at the expense of a common syntactic construct, namely full name qualification. However, semantic conflicts require a programmer’s decision, and the programming language must help the programmer to some extent. This paper surveys the approach based on linearizations, which has been studied in depth, and proposes some extensions. As it turns out that only static typing takes full advantage of the metamodel, the interaction between multiple inheritance and static typing is also considered, especially in the context of virtual types. The solutions proposed by the various languages with multiple inheritance are compared with the metamodel results. Throughout the paper, difficulties encountered under the open-world assumption are stressed.

Research highlights
► An object metamodel is formalized that provides a semantics of multiple inheritance.
► This metamodel distinguishes between syntactic and semantic conflicts.
► Fully qualified names answer syntactic conflicts.
► Linearizations answer semantic conflicts and provide method combination.
► Existing languages do not match exactly with the proposed semantics.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 76, Issue 7, 1 July 2011, Pages 555–586
نویسندگان
, ,