Abstract

Software composition refers to the construction of software applications from components that implement abstractions pertaining to a particular problem domain. Raising the level of abstraction is a time-honored way of dealing with complexity, but the real benefit of composable software systems lies in their increased flexibility: a system built from components should be easy to recompose to address new requirements. A certain amount of success has been achieved in some well-understood application domains, as witnessed by the popularity of user-interface toolkits, fourth generation languages and application generators. But how can we generalize this?

Links and resources

Tags

community

  • @tommens
  • @evol
  • @kimmens
  • @pdeleenh
  • @snowball
  • @dblp
@snowball's tags highlighted