Semantic Subtyping for Objects and Classes

Ornela Dardha, Daniele Gorla and Daniele Varacca

Paper appeared in International Conference on Formal Techniques for Distributed Systems (FMOODS/FORTE '13), Florence (Italy), June 3rd-5th, 2013.


We propose an integration of structural subtyping with boolean connectives and semantic subtyping to define a Java-like programming language that exploits the benefits of both techniques. Semantic subtyping is an approach to defining subtyping relation based on set-theoretic models, rather than syntactic rules. On the one hand, this approach involves some non trivial mathematical machinery in the background. On the other hand, final users of the language need not know this machinery and the resulting subtyping relation is very powerful and intuitive. While semantic subtyping is naturally linked to the structural one, we show how the framework can also accommodate the nominal subtyping. Several examples show the expressivity and the practical advantages of our proposal.

  author    =   {O. Dardha and D. Gorla and D. Varacca},
  title     =   {Semantic Subtyping for Objects and Classes},
  editor    =   {Dirk Beyer and Michele Boreale},
  booktitle =   {Proc. of International Conference on Formal Techniques for Distributed Systems (FMOODS/FORTE 2013)},
  series    =   {LNCS},
  volume    = 	{7892},
  pages     =  	{66--82},
  year      =  	{2013},
  publisher =   {Springer},

Home page / Publications