ITEE seminar: Prof J. Leslie Keedy, 04.00PM, Thu 03 Apr 2003
Qualifying Types in Timor: A Flexible Alternative to Aspect Oriented Programming
Speaker: Prof J. Leslie Keedy, University of Ulm, Germany
When: 04.00PM, Thursday 03 Apr 2003
Venue: 78-420
Host: Prof Paul Bailes
Abstract:
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, which they
are currently developing at the University of Ulm in Germany,
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.)
Contact:
Prof Paul Bailes, seminar host (paul@itee.uq.edu.au)
or Guido Governatori (ITEE seminar co-ordinator)
(guido@itee.uq.edu.au)
ITEE seminar web page: http://www.itee.uq.edu.au/~seminar
[All seminars]
