Compilers must speak properties, not just code: CAL: constraint aggregation language for declarative component-coordination

  • Authors:
  • Raimund Kirner;Frank Penczek;Alex Shafarenko

  • Affiliations:
  • University of Hertfordshire, Hatfield, United Kingdom;University of Hertfordshire, Hatfield, United Kingdom;University of Hertfordshire, Hatfield, United Kingdom

  • Venue:
  • DAMP '12 Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.02

Visualization

Abstract

This is a work-in-progress presentation in which we will argue that approaches based on components coordinated declaratively, such as S-Net, are ideally placed for automatic multicore optimisation. We will present our case for a component compiler producing not only object code, but also symbolic constraints describing the functional, and more importantly extra-functional, properties of the source component, such as computational complexity, resource and configuration requirements. We also argue that if the coordination language is well structured, which is easily achievable when it is declarative, it is possible to aggregate the constraints yielded by the components stage-wise and to represent the multicore optimisation problem in standard CSP form to use general-purpose constraint solvers. The use of symbolic constraints to describe system behaviour is shown by some examples of S-Net network combinators. If successful our approach will achieve an unprecedented degree of flexibility in programming for a wide range of heterogeneous multi-/many-core architectures. We would like to initiate a discussion on the interplay of constraint solving and declarative coordination programming.