S-Theory: A Unified Theory of Multi-paradigm Software Development

  • Danny Hughes
  • Nelly Bencomo
  • Brice Morin
  • Christophe Huygens
  • Zhun Shen
  • Ka Lok Man
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7861)


Many problems facing software engineers demand ‘optimal’ performance in multiple dimensions, such as computational overhead and development overhead. For these complex problems, designing an optimal solution based upon a single programming paradigm is not feasible. A more appropriate solution is to create a solution framework that embraces multiple programming paradigms, each of which is optimal for a well-defined region of the problem space. This paper proposes a theory for creating multi-paradigm software solutions that is inspired by two contributions from theoretical physics: model dependent realism and M-Theory. The proposed theoretical framework, which we call ‘S-Theory’, promotes the creation of actor-optimal solution frameworks, encourages technology reuse and identifies promising research directions. We use the field of sensor networks as a running example.


M-Theory S-Theory multi-paradigm programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Hawking, S., Mlodinow, L.: The Grand Design, pp. 85–120. Bantam Books, New York (2010)Google Scholar
  2. 2.
    Picco, G.P., Mottola, L.: Middleware for Wireless Sensor Networks: An Outlook. Journal of Internet Services and Applications 3(1), 31–39 (2011)Google Scholar
  3. 3.
    Huygens, C., Hughes, D., Lagaisse, B., Joosen, W.: Streamlining development for Networked Embedded Systems using multiple paradigms. IEEE Software 27(5), 45–52 (2010)CrossRefGoogle Scholar
  4. 4.
    Gay, D., Levis, P., Von Behren, R., Welsh, M., Brewer, E., Culler, D.: The NesC Language: A Holistic Approach to Networked Embedded Systems. In: Proc. of the ACM confernece on Programming Language Design and Implementation, SIGPLAN PLDI 2003, San Diego, CA, USA, June 9-11, pp. 1–11 (2003)Google Scholar
  5. 5.
    Levis, P., Culler, D.: Maté: A Tiny Virtual Machine for Sensor Networks. In: Proc. of Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2002), San Jose, CA, US, October 5-9, pp. 85–95 (2002)Google Scholar
  6. 6.
    Madden, S.R., Franklin, M.J., Hellerstein, J.M., Hong, W.: TinyDB: an acquisitional query processing system for sensor networks. ACM Transactions on Database Systems 30(1), 122–173 (2005)CrossRefGoogle Scholar
  7. 7.
    Coulson, G., Blair, G., Grace, P., Taiani, F., Joolia, A., Lee, K., Ueyama, J., Sivaharan, T.: A generic component model for building systems software. ACM Transactions on Computer Systems 26(1), 1–42 (2008)CrossRefGoogle Scholar
  8. 8.
    Grace, P., Hughes, D., Porter, B., Blair, G., Coulson, G., Taiani, F.: Experiences with Open Overlays: A Middleware Approach to Network Heterogeneity. In: Proc. of European Conference on Computer Systems (EuroSys 2008), Glasgow, UK, March 31- April, pp. 123–136 (2008)Google Scholar
  9. 9.
    Goldsby, H.J., Sawyer, P., Bencomo, N., Hughes, D., Cheng, B.H.C.: Goal-Based Modeling of Dynamically Adaptive System Requirements. In: Proc. of International Conference on Engineering of Computer-Based Systems (ECBS 2008), Belfast, Northern Ireland, March 31-April 1, pp. 36–45 (2008)Google Scholar
  10. 10.
    Hughes, D., Thoelen, K., Maerien, J., Matthys, N., Del Cid, J., Horré, W., Huygens, C., Michiels, S., Joosen, W.: LooCI: the Loosely-coupled Component Infrastructure. To appear in Proc. of 11th International Symposium on Network Computing and Applications (NCA 2012), Cambridge, MA, US, August 23-25 (2012)Google Scholar
  11. 11.
    Horré, W., Hughes, D., Michiels, S., Joosen, W.: Advanced sensor network software deployment using application-level quality goals. Journal of Software 6(4), 528–535 (2011)CrossRefGoogle Scholar
  12. 12.
    Matthys, N., Huygens, C., Hughes, D., Ueyama, J., Michiels, S., Joosen, W.: Policy-driven tailoring of sensor networks. In: Par, G., Morrow, P. (eds.) S-CUBE 2010. LNICST, vol. 57, pp. 20–35. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  13. 13.
    Cheng, B., Atlee, J.: Research Direction in requirements Engineering. In: Proc. of Future of Software Engineering (FOSE 2007), Minneapolis, MN, USA, May 20-26, pp. 285–303 (2007)Google Scholar
  14. 14.
    Odersky, M., Spoon, L., Venners, B.: Programming in Scala: A Comprehensive Step-by-step Guide. Artima Inc. (2008)Google Scholar
  15. 15.
    Zadeh, L.A.: The concept of a linguistic variable and its application to approximate reasoning. Information Sciences, Part I: 8, 199–249; Part II: 8, 301–357; Part III: 9, pp. 43–80 Google Scholar
  16. 16.
    Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: Proc. of 33rd International Conference on Software Engineering (ICSE 2011), Waikiki, Hawaii, US, May 21-28, pp. 471–480 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Danny Hughes
    • 1
  • Nelly Bencomo
    • 2
  • Brice Morin
    • 3
  • Christophe Huygens
    • 1
  • Zhun Shen
    • 3
  • Ka Lok Man
    • 4
  1. 1.IBBT-DistriNetKU LeuvenLeuvenBelgium
  2. 2.INRIA Paris-Rocquencourt, RocquencourtFrance
  3. 3.SINTEF ICTOsloNorway
  4. 4.Xi’an-Jiaotong Liverpool UniversitySuzhouChina

Personalised recommendations