Skip Navigation

Colloquium Details

Structure-Shy Programming Revisited

Author:Karl Lieberherr Northeastern University
Date:June 21, 2007
Time:15:30
Location:220 Deschutes
Host:Yannis Smaragdakis

Abstract

Adaptive Programming (AP), developed as an extension to OO in the 90s, separates the concern of where to navigate on objects (WHERE-TO-GO) from the concern of what to do during the navigation (WHAT-TO-DO). The history-based navigation abstractions provided by AP allow modifications to the underlying object topology without affecting its associated computation. We call such programs structure-shy because they withstand some changes to the underlying data-structure.

Structure-shy programming (SSP), in different incarnations, has recently gained widespread acceptance. The XML community has applied these ideas to XPath and the Haskell community, through SYB, has studied structure-shyness in the context of a modern statically typed, purely functional, programming language.

In this talk we present four recent developments in SSP all geared towards making SSP safer and more modular: (1) Demeter Interfaces, (2) Functional Visitors, (3) a simpler semantics, called Target Guarantee Semantics and (4) perobject and pertraversal variables to improve the expressiveness of visitors. We will discuss the four developments and sketch their efficient implementation with applications to C# programming and schema-aware XML processing.

Joint work with: Bryan Chadwick, Therapon Skotiniotis and Ahmed Abdelmeged.

Biography

Karl Lieberherr is a Professor in the College of Computer and Information Science at Northeastern University where he works on aspect-oriented software development (AOSD) and Boolean CSP solvers. He is best known for his work on the Law of Demeter and for his early contributions to AOSD as part of the Demeter project. He was a keynote speaker at the International Conference on Software Engineering 2004.

Professor Lieberherr has directed the Demeter project since 1985 with funding from DARPA, NSF and several companies. Some Demeter ideas have made it into the main stream (for example succinct traversal specifications are used in XML XPATH) The Law of Demeter, a predicate on join points, is explained in many text books as an effective way to measure and reduce coupling in object-oriented systems. To follow the Law of Demeter we introduced a technique to succinctly introduce and advise join points of traversal methods and this technique lives on in generalized form in modern aspect tools like AspectJ where we can advise many different kinds of execution join points.

His earlier research contributions include design automation for VLSI (he is the principal designer of the hardware description language Zeus, a predecessor of VHDL), and analysis of algorithms (he is the codeveloper of the concept of P-optimal approximation algorithms for combinatorial optimization problems which started with the Golden Ratio result for the Satisfiability problem).

Dr. Lieberherr received his Ph.D. in mathematics from ETH Zurich, Switzerland. He was an Assistant Professor of Computer Science at Princeton University and a Principal Member of Technical Staff at GTE Laboratories before joining Northeastern University.