INSTITUT

FU Berlin, Fachbereich Mathematik und Informatik, Institut für Informatik

Vortrag des Informatik-Kolloquiums



 

                   Qualifying Types in Timor: A Flexible Alternative to Aspect Oriented Programming

                                        

Prof. Dr. Dr. J. Leslie Keedy, Head, Department of Computer Structures, University of Ulm

 

Software often involves the programming of "aspects" which are not only orthogonal to each other, but which sometimes have a quite general character and a wide area of application (e.g. synchronisation, monitoring). As proponents of aspect oriented programming (AOP) have emphasised, it is not only important to be able separately to program such aspects, but also to have mechanisms ("aspect weavers") which allow the separately programmed properties to be woven together into the compound units actually needed for application systems.

The speaker and his colleagues take the view that such a weaving mechanism can best be provided as a construct within (new) programming languages. Accordingly, the language Timor, currently being developed at the University of Ulm, includes a novel feature called qualifying types, together with a mechanism for binding objects of these types (known as "qualifiers") to objects of the types to be qualified (known as "targets") at run-time.

Qualifying types have all the properties of normal types but can also include bracket methods. Objects which include bracket methods can qualify the behaviour of other objects in a quite general way (e.g. to provide synchronisation, monitoring, logging, protection and/or transaction control). More specific qualifying types can also be developed (e.g. to check pre- and postconditions).

This approach has a number of advantages over AOP, as currently practiced in languages such as AspectJ and AspectC++, including the following. · A qualifying type can be a super- or subtype of some other type, and can qualify subtypes of a qualified type. · The programmer of a qualifying type needs no knowledge of the target type to program general aspects such as synchronisation, monitoring and protection. · The programmer of a target type does not need to follow special conventions, only the normal rules of Timor. When developing the type he does not have to be aware that its instances may be qualified. · Qualification is on an individual object basis, not a type basis. Thus different objects of the same type can be qualified in different ways. · A target can be qualified by several qualifiers, determined either when the target object is instantiated or later during its lifetime. · The same qualifier can concurrently qualify different target objects.

For more details about Timor visit http://www.timor-programming.org (This site is currently under construction.)

 

Biography:

Prof Keedy is Head of the Department of Computer Structures at the University of Ulm, Germany. He is an Adjunct Professor at Monash University, and Conjoint Professor at the University of Newcastle. He has previously held chairs at the Technical University of Darmstadt, the University of Newcastle and the University of Bremen. For more detailed biographical information visit: http://www.jlkeedy.net (This site is currently under construction.)


 
 


[ home ] [ search ] [ up
webmaster@inf.fu-berlin.de