Opportunistic Software Composition: Benefits and Requirements

Charles Triboulot, Sylvie Trouilhet, Jean-Paul Arcangeli, Fabrice Robert


Traditional software development relies on building and assembling pieces of software in order to satisfy explicit requirements. Component-based software engineering simplifies composition and reuse, but software adaptation to the environment remains a challenge. Opportunistic composition is a new approach for building and re-building software in open and dynamic contexts. It is based on the ability to compose software components in a bottom-up manner, merely because they are available at a point and not because the construction of a specific software has been demanded. In this way, software emerges from the environment. This paper analyzes the advantages of such an approach in terms of flexibility and reuse, along with the requirements that an infrastructure supporting opportunistic composition should satisfy: it should be decentralized, autonomic, and dynamically adaptive. The state of the art of automatic software composition shows that few solutions are actually bottom-up, and that none of them fully satisfies the requirements of opportunistic composition.


  1. Arcangeli, J.-P., Noel, V., and Migeon, F. (2014). Software Architectures and Multi-Agent Systems. In Oussalah, M. C., editor, Software Architectures, volume 2, chapter 5, pages 171-208. Wiley-ISTE.
  2. Bartelt, C., Fischer, B., and Rausch, A. (2008). Towards a Decentralized Middleware for Composition of Resource- Limited Components to Realize Distributed Applications. In 3rd Int. Conf. on Pervasive and Embedded Computing and Communication Systems (PECCS 2013), pages 245-251.
  3. Bonjean, N., Gleizes, M.-P., Maurel, C., and Migeon, F. (2013). Forward Self-combined Method Fragments. In Agent-Oriented Software Engineering XIII, number 7852 in LNCS, pages 168-178. Springer.
  4. Conti, M. and Kumar, M. (2010). Opportunities in opportunistic computing. Computer, 43(1):42-50.
  5. Desnos, N., Huchard, M., Urtado, C., and Vauttier, S. (2007). Automated and Unanticipated Flexible Component Substitution. In Proc. of 10th Int. Symp. on Component-Based Software Engineering.
  6. Georgé, J.-P., Gleizes, M.-P., and Camps, V. (2011). Cooperation. In Di Marzo Serugendo, G., Gleizes, M.-P., and Karageogos, A., editors, Self-organising Software, Natural Computing Series, pages 7-32. Springer.
  7. Grondin, G., Bouraqadi, N., and Vercouter, L. (2006). MaDcAr: An Abstract Model for Dynamic and Automatic (Re-)Assembling of Component-Based Applications. In Component-Based Software Engineering, number 4063 in LNCS, pages 360-367. SpringerVerlag.
  8. Guidec, F., Sommer, N. L., and Mahéo, Y. (2010). Opportunistic Software Deployment in Disconnected Mobile Ad Hoc Networks. Int. Journal of Handheld Computing Research, 1:24-42.
  9. Rouvoy, R., Barone, P., Ding, Y., Eliassen, F., Hallsteinsen, S., Lorenzo, J., Mamelli, A., and Scholz, U. (2009). Music: Middleware support for self-adaptation in ubiquitous and service-oriented environments. In Software Engineering for Self-Adaptive Systems, pages 164-182. Springer-Verlag.
  10. Sykes, D., Magee, J., and Kramer, J. (2011). FlashMob: Distributed Adaptive Self-Assembly. In Proc. of the 6th Int. Symp. on Software Engineering for Adaptive and Self-Managing Systems, pages 100-109.
  11. Vallée, M., Ramparany, F., and Vercouter, L. (2005). A Multi-Agent System for Dynamic Service Composition in Ambient Intelligence Environments. In The 3rd International Conference on Pervasive Computing (PERVASIVE 2005), pages 175-182.
  12. Vergoni, C., Tigli, J.-Y., Rey, G., and Lavirotte, S. (2011). Construction Bottom-up d'applications ambiantes en environnements partiellement connus a priori. In

Paper Citation

in Harvard Style

Triboulot C., Trouilhet S., Arcangeli J. and Robert F. (2015). Opportunistic Software Composition: Benefits and Requirements . In Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015) ISBN 978-989-758-114-4, pages 426-431. DOI: 10.5220/0005558404260431

in Bibtex Style

author={Charles Triboulot and Sylvie Trouilhet and Jean-Paul Arcangeli and Fabrice Robert},
title={Opportunistic Software Composition: Benefits and Requirements},
booktitle={Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015)},

in EndNote Style

JO - Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015)
TI - Opportunistic Software Composition: Benefits and Requirements
SN - 978-989-758-114-4
AU - Triboulot C.
AU - Trouilhet S.
AU - Arcangeli J.
AU - Robert F.
PY - 2015
SP - 426
EP - 431
DO - 10.5220/0005558404260431