The University of Queensland Homepage
School of ITEE ITEE Main Website

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

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]