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
Text
Ache01bPASCL.pdf - Published Version Restricted to registered users only Available under License Publisher holds Copyright. Download (142kB) |
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 |