(Synthesis and Analysis of Component Connectors)
SYANCO is bilateral DFG-NWO project coordinated by the CWI in Amsterdam (NL) and the TU Dresden (GER). It is concerned with the development of a universal framework to support the synthesis and analysis of complex systems composed of heterogeneous components at various levels of abstraction. This involves tools and techniques for design and validation of
Contemporary well-known tools and techniques for automating and/or assisting design and validation of software are best suited in the development of individual components (item 1, above). They become inadequate for combining coarse-grain components, precisely because design and validation of the glue code to combine disparate components into a coherent system, are less understood.
Typically, programming models, languages, and systems use variations of function calls, method invocation, remote procedure calls, inheritance, delegation, etc., for software composition. Operators for exogenous composition (i.e., composition from outside) of two pieces of software by a third-party are ostensibly rare. Yet, composing a system out of heterogenous third-party components requires precisely operators that not only interconnect and facilitate their inter-communications, but also coordinate their individual activities into a coherently orchestrated whole. This signifies the importance of recognizing and treating glue code as a first-class concern.
In SYANCO, we work on the last two issues, above, emphasizing compositionality: we adapt, extend, and/or develop new models, tools, and techniques for compositional reasoning about, as well as modeling, analysis, and construction of component-based systems, by primarily focusing on the connector glue code that embodies their coordination protocols.
In fact, most of the central issues in component composition involve coordination. In SYANCO, we primarily focus on Reo as our glue code composition language. Reo is an exogenous coordination language based on a calculus of channel composition. Reo offers a powerful glue language for compositional construction of connectors that combine component instances into a system and orchestrate their mutual interactions.