Coordinated composition of third-party components and services into more complex systems requires a formal model of concurrency that treats interaction as a first-class concept. Contemporary formalisms for composition of component and services generally rely on endogenous action-centric models and/or impose severe restrictions on the behavior of the components and services and their compositions.
Reo is an exogenus coordination language based on an interaction-centric model of concurrency where protocols manifest as connectors. Reo allows arbitrary user-defined primitives, arbitrary mix of synchrony and asynchrony, and relational constraints between input and output of components. These features make Reo more expressive than, e.g., dataflow models, Kahn networks, workflow models, stream processing languages, Petri nets, and synchronous languages. In Reo combining a small set of user-defined synchronous and asynchronous primitives, yields connectors that implement arbitrarily complex concurrency protocols for coordinated composition of distributed black-box components and services.
Farhad Arbab is a professor of computer science, Chair of Software Composition, at Leiden University (LIACS), and a senior researcher at the Dutch national research Center for Mathematics and Computer Science (CWI) in Amsterdam, the Netherlands. He is internationally known as a leader in coordination models and languages, concurrency theory, component-based and service oriented software engineering. Dr. Arbab received his PhD in Computer Science from the University of California, Los Angeles (UCLA) in 1982. He has previously worked in the fields of computer graphics, solid modeling, and computer aided design and manufacturing of mechanical parts. His current interests involve formal aspects of software engineering, parallel and distributed computing, visual programming, constraints, logic and object oriented programming.
This talk is organized by the Institute of Software Technology and Interactive Systems.