Conference
Software Composition
About: Software Composition is an academic conference. The conference publishes majorly in the area(s): Context (language use) & Computer science. Over the lifetime, 22 publications have been published by the conference receiving 449 citations.
Topics: Context (language use), Computer science, Aspect-oriented programming, Principle of compositionality, Component-based software engineering
Papers
30 Jun 2009
TL;DR: In this article, the authors apply the notion of composition to RESTful services and derive a set of language features that are required by composition languages for RESTful service: dynamic late binding, dynamic typing, content-type negotiation, state inspection, and compliance with the uniform interface principle.
Abstract: The REST architectural style is emerging as an alternative technology platform for the realization of service-oriented architectures. In this paper, we apply the notion of composition to RESTful services and derive a set of language features that are required by composition languages for RESTful services: dynamic late binding, dynamic typing, content-type negotiation, state inspection, and compliance with the uniform interface principle. To show how such requirements can be satisfied by an existing composition language, we include a case-study using the JOpera visual composition language. In it, we present how to build a composite application (DoodleMap) out of some well-known, public and currently existing RESTful service APIs.
85 citations
19 Jun 2013
TL;DR: The architecture and implementation of Neverlang 2 is presented, by the help of an example inspired by mobile devices and context-dependent behaviour, and the Neverlang framework is already being employed successfully in real-world environments.
Abstract: Traditional compiler development is non-modular. Although syntax extension and DSL embedding is making its way back in modern language design and implementation, componentisation in compiler construction is still an overlooked matter. Neverlang is a language development framework that emphasises modularity and code reuse. Neverlang makes extension, restriction and feature sharing easier, by letting developers define language components in distinct, independent units, that can be compiled independently and shared across different language implementations, even in their compiled form. The semantics of the implemented languages can be specified using any JVM-supported language. In this paper we will present the architecture and implementation of Neverlang 2, by the help of an example inspired by mobile devices and context-dependent behaviour. The Neverlang framework is already being employed successfully in real-world environments.
39 citations
9 Apr 2005
TL;DR: A component model with explicit symbolic protocols based on Symbolic Transition Systems (STSs) is described, and its implementation in Java is described.
Abstract: Component-Based Software Engineering (CBSE) has now emerged as a discipline for system development. An important issue is to fill the gap between high-level models (needed for analysis) and implementation. This paper describes a component model with explicit symbolic protocols based on Symbolic Transition Systems (STSs), and its implementation in Java. This implementation relies on controllers that encapsulate protocols and channels devoted to (possibly remote) communications between components.
34 citations
30 Jun 2011
TL;DR: Decision Diagrams turn out to be more compact compared to Dispatch Tables, almost as accurate, and faster in decision making, and this leads to a better scalability, i.e., Context-Aware Composition can be applied at more program points and regard more context attributes than before.
Abstract: Context-Aware Composition allows to automatically select optimal variants of algorithms, data-structures, and schedules at runtime using generalized dynamic Dispatch Tables. These tables grow exponentially with the number of significant context attributes. To make Context-Aware Composition scale, we suggest four alternative implementations to Dispatch Tables, all well-known in the field of machine learning: Decision Trees, Decision Diagrams, Naive Bayes and Support Vector Machines classifiers. We assess their decision overhead and memory consumption theoretically and practically in a number of experiments on different hardware platforms. Decision Diagrams turn out to be more compact compared to Dispatch Tables, almost as accurate, and faster in decision making. Using Decision Diagrams in Context-Aware Composition leads to a better scalability, i.e., Context-Aware Composition can be applied at more program points and regard more context attributes than before.
22 citations
24 Mar 2007
TL;DR: This paper describes a hierarchical approach to connector definition and construction that allows connectors to be defined and constructed from sub-connectors that are generic, compositional and reusable.
Abstract: In a component-based system, connectors are used to compose components. Connectors should have a semantics that makes them simple to construct and use. At the same time, their semantics should be rich enough to endow them with desirable properties such as genericity, compositionality and reusability. For connector construction, compositionality would be particularly useful, since it would facilitate systematic construction. In this paper we describe a hierarchical approach to connector definition and construction that allows connectors to be defined and constructed from sub-connectors. These composite connectors are indeed generic, compositional and reusable. They behave like design patterns, and provide powerful composition connectors.
19 citations
Performance Metrics
| Year | Papers |
|---|---|
| 2013 | 5 |
| 2012 | 1 |
| 2011 | 2 |
| 2010 | 1 |
| 2009 | 1 |
| 2008 | 4 |