Le modèle OFL au service du métaprogrammeurApplication à Java

OFL is the acronym for Open Flexible Languages and the name of a metamodel for object programming languages based on classes. It relies on three essential concepts of these languages: the descriptions which are a generalisation of the notion of class, the relationships such as inheritance or aggregation and the languages themselves. OFL provides a customisable definition of these three concepts in order to adapt their operational semantics to the program- mer's needs. This paper summarises the main characteristics of the OFL model, shows how to create an application using this model and describes the Java language according to OFL.

[1]  James Gosling,et al.  The Java Programming Language" The Java Series , 1996 .

[2]  Shigeru Chiba,et al.  OpenJava: A Class-Based Macro System for Java , 1999, Reflection and Software Engineering.

[3]  James M. Coggins,et al.  Subject-Oriented Programming , 1996 .

[4]  Pierre Crescenzo OFL : un modèle pour paramétrer la sémantique opérationnelle des langages à objets - Application aux relations inter-classes. (OFL: a Model to Customise the Operational Semantics of Object-Oriented Languages - Application to Interclass Relationships) , 2001 .

[5]  David Hughes,et al.  The fourth Dimension , 2009, 0905.3048.

[6]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

[7]  Shigeru Chiba Javassist - A Reflection-based Programming Wizard for Java , 1998 .

[8]  Philippe Lahire,et al.  Lessons learned with Eiffel 3: The K2 project , 1995 .

[9]  Philippe Desfray,et al.  Object engineering - the fourth dimension , 1994 .

[10]  Stéphane Ducasse Integration reflexive de dependances dans un modele a classes , 1996 .

[11]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[12]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[13]  Sun Fire V20z Sun Microsystems , 1996 .

[14]  Philippe Collet,et al.  Assertions are objects too ! , 1996 .

[15]  Sonya E. Keene,et al.  Object-oriented programming in COMMON LISP - a programmer's guide to CLOS , 1989 .

[16]  Pierre Crescenzo,et al.  Gestion des objets persistants grâce aux liens entre classes , 2000 .

[17]  Denyse Baillargeon,et al.  Bibliographie , 1929 .

[18]  Shigeru Chiba,et al.  A metaobject protocol for C++ , 1995, OOPSLA.

[19]  Pierre Crescenzo,et al.  Hyper-généricité pour les langages à objets : le modèle OFL , 2001 .