ISR Distinguished Speaker

Carlo Ghezzi

Department of Electronics and Information
“Binding in the Age of Network Programming: New Challenges for an Old Concept”
Friday, May 2, 2003 - 10:30am to 12:00pm
Faculty Host: 

Email RSVP required to Shannon Richesin at by Monday, April 28.

CS 432/438 (building #302)

No cost to attend.


Click here for directions and parking information.


Binding is the process of gluing software components together through their interfaces to form an integrated system. The main issues concerning it are: (1) how to ensure efficient ways of establishing both the binding and cooperation through bound components, (2) how to enforce some notion of binding correctness (usually defined in terms of a language type system), and (3) how to provide the necessary flexibility that would allow binding to change dynamically. These issues have been studied and solved satisfactorily in the past for traditional software, but are challenged by the current shift towards open distributed systems.

The talk will discuss the nature of these new challenges. It will do it in two parts. The first part will be an overview of the evolution of binding, from centralized to distributed architectures, and from the traditional situation of a closed-world scenario, where one either knows the components to be combined, or can constrain the future acceptable occurrences, to the open-world scenarios that will be increasingly encountered in the future, where systems will be formed by dynamically federating components that are highly dynamic, and may even be unknown when the system is initially conceived.

After outlining a research agenda to deal with these challenges, the second part describes a specific contribution to issue of establishing binding and managing cooperation among bound components in a distributed environment, under the assumption that components are Java objects that interact through RMI. Specifically, the contribution deals with optimizing parameter serialization, to minimize network traffic. This is done through a novel approach, which exploits the ability to perform static analysis at run-time, thanks to Java’s linguistic features that support reflection.

About the Speaker: 

Carlo Ghezzi is a Professor and Chair of Software Engineering in the Department of Electronics and Information of the Technical University of Milano (Politecnico di Milano). He received his Dr.Eng. degree in Electrical Engineering from Politecnico di Milano, where he spent most of his professional life. He also held positions at the Universities of Padova (Italy) and North Carolina at Chapel Hill (USA). Ghezzi’s research interests are in software engineering and programming languages. He is currently particularly interested in application the theoretical, methodological, and technological issues involved in developing network-wide applications. He is a co-author of over 120 scientific papers and 8 books, including Programming Language Concepts (published by J. Wiley and Sons) co-authored with Mehdi Jazayeri, originally published in 1982, revised in 1987 and 1998, and translated in several languages, and Fundamentals of Software Engineering (published by Prentice Hall in 1991 and revised in 2002) co-authored with Mehdi Jazayeri and Dino Mandrioli. He is the Editor in Chief of the ACM Transactions on Software Engineering and Methodology and a member of the Steering Committee of the International Conference on Software Engineering. Ghezzi is a Fellow of the ACM.