Title: Interaction-Based Concurrency
Speaker: Prof. Farhad Arbab (CWI, the Netherlands)
Time: 15:00, Monday, May 14th, 2012
Venue: Lecture room, 3rd Floor, Building 5#, State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences
Traditional models of concurrency resort to peculiarly indirect means to express interaction and study its properties. Formalisms such as process algebras/calculi, concurrent objects, actors, agents, shared memory, message passing, etc., all are primarily action-based models that provide constructs for the direct specification of things that interact, rather than a direct specification of interaction (protocols). Consequently, interaction in these formalisms becomes a derived or secondary concept whose properties can be studied only indirectly, as the side-effects of the (intended or coincidental) couplings or clashes of the actions whose compositions comprise a model of concurrency.
Treating interaction as an explicit first-class concept, complete with its own composition operators, allows to specify more complex interaction protocols by combining simpler, and eventually primitive, protocols. Reo serves as a premier example of such an interaction-based model of concurrency. In this talk, we describe Reo and its support tools. We show how exogenous coordination in Reo reflects an interaction-centric model of concurrency where an interaction (protocol) consists of nothing but a relational constraint on communication actions. In this setting, interaction protocols become explicit, concrete, tangible (software) constructs that can be specified, verified, composed, and reused, independently of the actors that they may engage in disparate applications.
Farhad Arbab is Full Professor of Computer Science, Chair of Software Composition at Leiden University, and a senior researcher in the Foundations of Software Technology group at the Dutch national Center for Mathematics and Computer Science (CWI), in Amsterdam, the Netherlands. He received his PhD in computer science from University of California, Los Angeles (UCLA), in 1982. He has previously been a visiting faculty at UCLA, a member of the faculty of the Computer Science department at the University of Southern California (USC) in Los Angeles, and an adjunct professor at the School of Computer Science, University of Waterloo, Canada. He has previously worked in the fields of computer graphics, solid modeling, computer aided design, and constraint programming. His current fields of interest include software composition, coordination models and languages, service oriented computing, component based systems, visual programming, and concurrency theory. He leads the work on the development, implementation, and applications of Reo http://reo.project.cwi.nl.