PICCOLA---a small composition language

  • Authors:
  • Franz Achermann;Markus Lumpe;Jean-Guy Schneider;Oscar Nierstrasz

  • Affiliations:
  • Univ. of Berne, Berne, Switzerland;Univ. of Berne, Berne, Switzerland;Univ. of Berne, Berne, Switzerland;Univ. of Berne, Berne, Switzerland

  • Venue:
  • Formal methods for distributed processing
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Although object-oriented languages are well-suited to implement software components, they fail to shine in the construction of component-based applications, largely because object-oriented design tends to obscure a component-based architecture. We propose to tackle this problem by clearly separating component implementation and composition. In particular, we claim that application development is best supported by consciously applying the paradigm 'Applications = Components + Scripts'. In this chapter we introduce PICCOLA, a small 'composition language' that embodies this paradigm. PICCOLA models components and compositional abstractions by means of communicating concurrent agents. Flexibility, extensibility and robustness are obtained by modelling both interfaces of components and the contexts in which they live by 'forms', a special notion of extensible records. Using a concrete example, we illustrate how PICCOLA offers explicit support for viewing applications as compositions of components and show that separating components from their composition improves maintainability.