the ability to assemble software components merely
because they are available in the surrounding envi-
ronment. In this way, composition is directed by the
execution context and by the opportunity to assemble
components that are ready for composition (but which
have not been developed specifically for the applica-
tion under construction), and no longer by the neces-
sity of satisfying explicit requirements. Thus, appli-
cations emerge from the environment and can evolve
afterwards by dynamic (re)composition based on new
opportunities.
Opportunism in software construction is a new
idea, which has been little, if at all, studied. A paper
on this subject has been presented at the French con-
ference UBIMOB (Ubiquity and Mobility) in 2011
(Vergoni et al., 2011). In (Conti and Kumar, 2010),
opportunistic computing has been defined as a new
computing paradigm derived from ad hoc and oppor-
tunistic networking tightly coupled with social net-
working, which aims at exploiting available resources
in an environment to provide distributed collabora-
tive computing services and applications; the main
challenges that are stated concern networking: inter-
mittent connectivity, delay tolerance, protocol hetero-
geneity.
Of course, opportunistic composition raises sev-
eral issues. The main ones relate to what can be com-
posed (heterogeneity, composability...), what should
be composed and how combinatorial complexity can
be controled, context-awareness, the semantics of the
resulting application, its quality attributes (security,
reliablility, efficiency...), its viability and usefulness,
and how to automatically perform opportunistic com-
position.
1.2 Contents and Plan
This paper presents an analysis of the opportunistic
composition approach. It discusses its advantages in
terms of flexibility and reuse, and focuses on the fea-
sibility and on the requirements that an infrastruc-
ture should satisfy in order to support opportunistic
composition and allow the emergence of component-
based software systems. Finally, the state of the art of
automatic composition is analyzed in relation to these
requirements. However, the paper does not present
any architecture or experimental results. The con-
tribution sets in the analysis of the opportunistic ap-
proach, in the identification of the requirements of its
realization, and in the analysis of the state of the art.
The paper is organized as follows. Section 2
presents a real-world illustrating scenario which is
useful for highlighting different situations of compo-
sition. In Section 3, opportunistic composition is de-
fined more formally and the requirements for its re-
alization are exposed. Section 4 analyzes the state of
the art of automatic composition. To conclude, in Sec-
tion 5, we give some directions for the realization of
opportunistic composition.
2 SCENARIO
This section presents a scenario in which opportunis-
tic composition assists users in their life and their job,
and provides applications depending on the context.
Here is Plip, an engineer who works in a secured ex-
periment room of her company. She uses a robotic
arm and a laser to project rays on a flat surface.
The scenario consists of four acts and shows sev-
eral situations of opportunistic composition. It sup-
ports an analysis presented in Section 3. It underlines
how an opportunistic composition system can react to
some situations when they occur in a dynamic envi-
ronment. Only the system’s behavior is described, not
its implementation. It is worth pointing out that com-
positions become possible without the necessity to ex-
plicitly specify user needs. They are realized merely
because the components are available in the environ-
ment and because assembling them may be relevant.
Plip does have requirements, but not necessarily ex-
plicited, and nevertheless the system provides an an-
swer to them in a proactive way.
To carry out this scenario, we assume that the
components are interoperable. Issues, such as secu-
rity or privacy, are set aside in this work.
Act I - Plip is working in her office, on a new
experimental model stored on her PC. Once the
model is completed, she runs an application on
her tablet computer that provides estimated results
according to the model. This application detects that
a component implements Plip’s model, thanks to a
Wi-Fi connection between Plip’s PC and the tablet,
and proposes the use of this component. Since it
matches her requirement, she accepts. Then, the
application runs.
Act II - Since the estimated results are satisfactory,
Plip is ready to perform the genuine experiment and
compare the estimated results to the real ones. She
goes to the experiment room with her tablet. The
experiment room has been secured recently: it is
isolated from Wi-Fi signals, but Plip does not know
that. She enters the room with her tablet which is
still connected by Wi-Fi with her PC. As the Wi-Fi
component of the tablet is no longer working, a new
composition is done, which involves a Bluetooth
OpportunisticSoftwareComposition:BenefitsandRequirements
427