01.06.14 - 06.06.14, Seminar 14232

Design and Synthesis from Components

Diese Seminarbeschreibung wurde vor dem Seminar auf unseren Webseiten veröffentlicht und bei der Einladung zum Seminar verwendet.


The problem of synthesis - given a logical specification, automatically to derive (synthesize) a system or program implementing the specification - and methods for component-oriented development of systems and programs are both fundamental topics in computer science. Due to recent developments, these topics can now be seen to interact: whereas synthesis has traditionally been conceived as the construction of a system "from scratch", work in component-oriented design has recently inspired the idea of component-based synthesis, where systems or programs are synthesized relative to a given collection (library, repository) of components. From the standpoint of component-based synthesis, components are seen as fabricated building blocks providing higher-valued raw material for synthesis.

Perhaps the most difficult aspect of synthesis lies in the high intrinsic computational complexity of the problem, and the challenge of reducing theoretical results to practice has understandably persisted. Because components may be exposed abstractly through interfaces (hiding implementation complexity) and may embody human design intelligence, the component-based approach to synthesis opens the door to a new fundamental line of attack on the great challenge of computational cost in synthesis by exploiting component design. Since systems development in modern computational environments is increasingly based on the extended use of libraries and repositories of reusable components (e.g., software framework libraries, web services, systems components, embedded software and hardware components), component-orientation would appear to be an important pragmatic strategy for tailoring synthesis to practical circumstances.

The seminar aims at bringing together researchers from the component-oriented design community, researchers working on interface theories, and researchers working in synthesis, in order to explore the use of component- and interface design in synthesis and to accelerate the development of this new approach.

Traditionally, synthesis has been pursued in two distinct and somewhat independent communities, one focusing on the use of temporal logic and automata theoretic methods, the other focusing on deductive methods in program logics and in type theory considered under the Curry-Howard isomorphism. Recent results on component-based synthesis in both communities as well as work on interface theories show that the common movement towards component-orientation allows the two synthesis communities to communicate more intensely to their mutual benefit.

The seminar aims at bringing together researchers from both synthesis communities to discuss common concerns as well as complementary strengths and challenges, in component-oriented design and synthesis.

Specific research topics of interest to the seminar include:

  • How may component- and interface design influence and support component-based synthesis?
  • How can component- and interface design influence computational complexity (in theory or in practice) in synthesis?
  • Comparison between the two synthesis communities in their approaches to components, including specifications, algorithms, expressiveness, and complexity
  • Interface theories and technology-independent formalisms for different approaches to synthesis
  • Foundations of technology-independent benchmarks for component-based synthesis