Piccola - a Small Composition Language

Achermann, Franz; Lumpe, Markus; Schneider, Jean-Guy; Nierstrasz, Oscar (2001). Piccola - a Small Composition Language. In: Bowman, Howard; Derrick, John (eds.) Formal Methods for Distributed Processing - A Survey of Object-Oriented Approaches (pp. 403-426). Cambridge University Press

[img] Text
Ache01bPASCL.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (142kB) | Request a copy

Although object-oriented languages are well-suited to implementing 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. Piccola is a small "composition language" that embodies the paradigm of "applications = components + scripts." Piccola models components and composition abstractions by means of a unifying foundation of communicating concurrent agents. Flexibility and extensibility are obtained by modelling both interfaces to components and the contexts in which they live by extensible records, or "forms". We illustrate the realization of an architectural style in Piccola and show how external components may be adapted and composed according to the style. We show how separating components from their composition can improve maintainability.

Item Type:

Book Section (Book Chapter)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Nierstrasz, Oscar

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

ISBN:

0-521-77184-6

Publisher:

Cambridge University Press

Language:

English

Submitter:

Anja Ebeling

Date Deposited:

04 Dec 2017 15:35

Last Modified:

11 Apr 2024 16:11

BORIS DOI:

10.7892/boris.104364

URI:

https://boris.unibe.ch/id/eprint/104364

Actions (login required)

Edit item Edit item
Provide Feedback