Fwd: Einladung Kolloquium17.6.2003

Stephane Ducasse ducasse at iam.unibe.ch
Wed Jun 4 07:10:11 UTC 2003


www.iam.unibe.ch



>> Das Informatikkolloquium im Sommersemester 2003
>> - eine Veranstaltung des IAM mit Unterstützung der Hasler Stiftung
>> ------------------------------------------------------------------
>>
>> Einladung zum nächsten Vortrag:
>>
>> Dienstag, 17. Juni 2003, 17.30 Uhr in der Uni Engehalde,
>> Engehaldenstrasse 8, 3012 Bern Hörsaal 001 (1.UG)
>>
>> Referent:	
>> Dr. Noury Bouraqadi
>> Computer Science Lab, Ecole des Mines of Douai (France)
>> 		
>> Thema:		
>> Metaclass Composition in MetaclassTalk  	
>>
>> Abstract:
>>
>> Reflection is the ability of a system to reason and to act upon
>> itself. A programming language is said to be reflective if it allows
>> developers to alter its own semantics and the set of its own
>> constructs. For this purpose, constructs of a reflective language and
>> its evaluation mechanisms are ``reified''. That is, they are made
>> explicit to allow developers handle them. In the context of object
>> oriented languages, reification leads to representing such entities as
>> full fledged objects available at run-time. For example, reification
>> of methods and classes make them available as objects to developers.
>> So, methods and classes can be handled (e.g. receive messages)
>> likewise plain objects.
>>
>> Since every object is instance of some class, reified classes are
>> instances of other classes named ``metaclasses''. Metaclasses are
>> useful to define new class properties and hence make new kinds of
>> classes. An example of a class property is having a sole instance.
>> This property corresponds to the Singleton design pattern. Another
>> example of class property is multiple inheritance. In a language which
>> provides single inheritance, metaclasses can be used to build classes
>> with multiple superclasses. Metaclasses allows defining a variety of
>> class properties. And, of course, a single class can have different
>> properties (e.g. singleton + multiple inheritance). Therefore, we need
>> to somehow compose metaclasses defining these properties.
>>
>> In this talk, we focus on mixin-based inheritance and how it applies
>> for metaclass composition. Mixin-based inheritance was introduced by
>> Bracha and Cook as an alternative to both single and multiple
>> inheritance. Contrary to single inheritance, mixin-based inheritance
>> allows making some classes (named mixins) participate to different
>> inheritance hierarchies. And contrary to multiple-inheritance,
>> mixin-based inheritance avoids undesirable behavior resulting from
>> automatic linearization.
>> Experiments related to our work on mixins were done using a reflective
>> extension of Smalltalk named MetaclassTalk
>> (http://csl.ensm-douai.fr/MetaclassTalk). Besides allowing developers
>> change program evaluation, MetaclassTalk also supports metaclass
>> programming. We show how we implemented mixin-based inheritance using
>> MetaclassTalk metaclasses, and how we took benefit from MetaclassTalk
>> reflectivity to compose metaclasses using mixins.
>>
>>
>
>



More information about the Squeak-dev mailing list