1996
DOI: 10.1145/236114.236118
|View full text |Cite
|
Sign up to set email alerts
|

A natural semantics for Eiffel dynamic binding

Abstract: This article formally defines Eiffel dynamic binding in presence of renaming and redefinition. Message passing, inheritance, and polymorphism are expressed in an operational style using natural semantics. From the formal specification, we derive an algorithm to determine the appropriate version of a feature to apply to a given object. This algorithm, based only on the class hierarchy and not using any intermediate structure, gives a practical approach to the understanding of inheritance, renaming, and redefini… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
10
0

Year Published

2003
2003
2011
2011

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 19 publications
(10 citation statements)
references
References 7 publications
0
10
0
Order By: Relevance
“…In addition to the design and implementation of the system itself various case studies such as for Mini-ML [27,24], Pico [6], LOTOS [58], Eiffel [1], Esterel [9], Sisal [2], POOL [6] and others were carried out.…”
Section: Gipe Resultsmentioning
confidence: 99%
“…In addition to the design and implementation of the system itself various case studies such as for Mini-ML [27,24], Pico [6], LOTOS [58], Eiffel [1], Esterel [9], Sisal [2], POOL [6] and others were carried out.…”
Section: Gipe Resultsmentioning
confidence: 99%
“…This work focuses on compile-time issues and does not clarify multiple inheritance at the abstraction level of the programming language. A natural semantics for late binding in Eiffel models the binding mechanism at the abstraction level of the program [5]. Recently, an operational semantics and a type safety proof inspired by C++ have been formalized in Isabelle/HOL [40].…”
Section: Related Workmentioning
confidence: 99%
“…However, it also complicates language design and is often explained in terms of complex run-time data structures such as virtual pointer tables [38], which are hard to understand. Formal treatments are scarce (e.g., [36,9,5,18,40]), but help clarify intricacies, thus facilitating design and reasoning for programs using multiple inheritance. Multiple inheritance also complicates behavioral reasoning, as name conflicts may occur between methods which were independently defined in different branches of the class hierarchy.…”
Section: Introductionmentioning
confidence: 99%
“…A natural semantics for virtual binding in Eiffel is proposed in [3]. This work is similar in spirit to ours and models the binding mechanism at the abstraction level of the program, capturing Eiffel's renaming mechanism.…”
Section: Related Workmentioning
confidence: 99%
“…Multiple inheritance is often explained in terms of run-time data structures such as virtual pointer tables [38], which are complex and hard to understand. High-level formal treatments are scarce (e.g., [3,6,15,34]) but needed to clarify intricacies, thus facilitating design and correctness reasoning for programs using multiple inheritance. In this paper, an operational semantics capturing multiple inheritance and virtual binding of methods for Creol is defined, extending work reported in [22].…”
Section: Introductionmentioning
confidence: 99%