1995/06/01 by Oscar Nierstrasz, Theo Dirk Meijler · 1 citation
Computer Science · #Software Engineering Research #Advanced Software Engineering Methodologies #Logic, programming, and type systems
paper · pdf · doi:10.1145/210376.210389
openalex publication_date 1995/06/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/15
\it 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 \it 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?