Bilkent University
Department of Computer Engineering


From Module-Based Computing to Event-Based Computing


Prof. Dr. Mehmet Akžit
Chair Software Engineering,
University of Twente,
Enschede, The Netherlands

Since 1980’s, abstract data type (ADT) or module-based separation of concerns has been considered to be the default structuring principle for complex systems. Properly designed modules make the complexity of software manageable, increase reuse and enable incremental verification of software. In addition, object-oriented programming (OOP) as exemplified by Java, provides hierarchical composition of classes, which fosters abstraction and reuse. However, In 1990’s it has been observed that it is difficult or even impossible to abstract certain kinds of behavior of software using hierarchical composition of modules because of code tangling and scattering. Examples of such behavior are monitoring, security, synchronization and error handling. To be able to structure such behavior, different kinds of techniques have been proposed, such as patterns, generative programming and aspect-oriented programming (AOP). In particular AOP languages offer non-hierarchical composition of modules. In current AOP languages, however, we observe two shortcomings: (a) Software composition mechanisms overly depend on the structure and organization of the code. The programmer is forced to express compositions in terms of code-level events, usually method calls on modules, that may be very far from the natural expression of tangled and scattered behavior. (b) AOP languages offer a rather limited set composition operators which may be too restricted for certain kinds of applications. To overcome these two problems, we claim that events should be considered as the first-class abstractions of computing. Events must be supported by powerful abstraction and composition mechanisms. This talk first illustrates the composition problems, and describes how current AOP languages such as Compose* can be enhanced for event-based computing.

Short bio: Mehmet Akžit holds an M.Sc. degree from the Eindhoven University of Technology and a Ph.D. degree from the University of Twente. Currently, he is working as a full professor at the Department of Computer Science, University of Twente and affiliated with the institute Centre for Telematics and Information Technology. He is the co-founder and has been the co-editor in chief of Transactions on Aspect-Oriented Software Development (published by Springer-Verlag) until March 2007. Currently, he is at the editorial board of this journal. He has organized special journal issues as a co-guest editor on topics such as “Computational Intelligence in software engineering”, “Auto-adaptable systems”, “Model Driven Architecture”. In addition, since 1988, he has been serving as a reviewer of various European projects. He is the co-founder of Aspect-oriented association, where he has served as the steering committee member until March 2008. He is the steering committee member of AITO, which organizes the ECOOP conference series. He is the steering committee member of the Turkish Software Architecture Group, which organizes National conferences on this topic. Since 1990, he has given more than 110 international and in-company courses and conference tutorials mainly in the Netherlands, but also in Canada, Denmark, France, Germany, Hungary, Ireland, Italy, Portugal, Spain, Sweden, Switzerland, Turkey and in the United States. For more than 10 years long, he has received (one of) the highest evaluations for the courses given for the post-academic organization (PAO-Informatica). He has organized special training programs for a number of multi-national companies, where he trained hundreds of software designers and architects.

DATE: 18 October, 2010, Monday @ 13:40