Next: Research
Goals Up: No
Title Previous: No
Title
Software definition and development techniques have developed enormously over the past 40 years, from primitive machine languages to sophisticated programming languages and tools for system configuration. We believe the next great opportunity in this area is in shifting our focus from programming-at-the-module-level to programming-at-the-system-level. In the past we have built programs in terms of procedures and abstract data types using simple module interconnection as a way to compose modules; in the future we will build systems in terms of more sophisticated components, often entire systems themselves, and compose them with high-level abstractions for connection or interaction.
What makes the construction of composable systems different from programming?
Current composition technology falls short both for synthesis and analysis. On the synthesis side, we see a proliferation of specialized solutions, but no systematic support for sharing expertise or for resolving differences in interaction assumptions. On the analysis side, we need component-level analysis, but we have a poor understanding of interface abstractions, and our analysis techniques are too weak.
Next: Research
Goals Up: No
Title Previous: No
Title
Brought to you by the Composable Software Systems research group at Carnegie Mellon University's School of Computer Science. Last updated Wed Apr 23, 1997.