Représentation graphique des objets et sous-typage

Internal dependencies among object components characterize the behaviors of objects and differentiate them from records. Fundamental typing/subtyping shortcomings still persist in current object type systems due to the overlook of such object component interdependencies. In this paper, we propose object type graphs (OTG) as a new approach to the typing of object-oriented languages. Under OTG, object types are represented as colored directed graphs and object component interdependancies are formalized as computable links and integrated into object types. We show how problems in conventional object type systems can be easily resolved under OTG.

[1]  Luca Cardelli,et al.  Operations on records , 1989, Mathematical Structures in Computer Science.

[2]  John C. Mitchell,et al.  A lambda calculus of objects and method specialization , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[3]  Hartmut Ehrig,et al.  Graph-Grammars: An Algebraic Approach , 1973, SWAT.

[4]  William R. Cook,et al.  Inheritance is not subtyping , 1989, POPL '90.

[5]  Luigi Liquori On Object Extension , 1998, ECOOP.

[6]  Luigi Liquori,et al.  A Subtyping for the Fisher-Honsell-Mitchell Lambda Calculus of Objects , 1994, CSL.

[7]  Giuseppe Castagna,et al.  Covariance and contravariance: conflict without a cause , 1995, TOPL.

[8]  Kim B. Bruce A paradigmatic object-oriented programming language: Design, static typing and semantics , 1994, Journal of Functional Programming.

[9]  Martín Abadi,et al.  A Theory of Objects , 1996, Monographs in Computer Science.

[10]  Luigi Liquori,et al.  A Typed Lambda Calculus of Objects (Extended Abstract) , 1996, ASIAN.