2017 · 63 citations · 13 references
ComputingComputer ScienceProgramming LanguagesSystems ArchitectureSystems ProgrammingComponent-based Software EngineeringObject-oriented DesignSoftware ArchitectureSoftware ConstructionSoftware DesignSoftware ModelingComponent ArchitectureComponent CompositionComponent ModelsComponent-based ArchitecturesComponent-based Software DevelopmentCompositionObject-oriented ArchitectureSoftware Components
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.
13
The 4+1 View Model of architecture
Philippe Kruchten · IEEE Software · 1995 · 2.1K citations · Full text
Luca Cardelli, Andrew D. Gordon · Theoretical Computer Science · 2000 · 1.1K citations
The art of the metaobject protocol
Choice Reviews Online · 1992 · 1K citations
The reflexive CHAM and the join-calculus
Cédric Fournet, Georges Gonthier · 1996 · 453 citations · Full text
David Walker · Information and Computation · 1995 · 160 citations