Computing

, Volume 95, Issue 3, pp 167–190 | Cite as

The role of models@run.time in supporting on-the-fly interoperability

  • N. Bencomo
  • A. Bennaceur
  • P. Grace
  • G. Blair
  • V. Issarny
Article

Abstract

Models at runtime can be defined as abstract representations of a system, including its structure and behaviour, which exist in tandem with the given system during the actual execution time of that system. Furthermore, these models should be causally connected to the system being modelled, offering a reflective capability. Significant advances have been made in recent years in applying this concept, most notably in adaptive systems. In this paper we argue that a similar approach can also be used to support the dynamic generation of software artefacts at execution time. An important area where this is relevant is the generation of software mediators to tackle the crucial problem of interoperability in distributed systems. We refer to this approach as emergent middleware, representing a fundamentally new approach to resolving interoperability problems in the complex distributed systems of today. In this context, the runtime models are used to capture meta-information about the underlying networked systems that need to interoperate, including their interfaces and additional knowledge about their associated behaviour. This is supplemented by ontological information to enable semantic reasoning. This paper focuses on this novel use of models at runtime, examining in detail the nature of such runtime models coupled with consideration of the supportive algorithms and tools that extract this knowledge and use it to synthesise the appropriate emergent middleware.

Keywords

Runtime models Runtime interoperability Mediators Ontology 

Mathematics Subject Classification

68-XX 68N99 

Notes

Acknowledgments

This work is carried out as part of the European FP7 ICT FET Connect (http://connect-forever.eu/) project and the Marie Curie Fellowship Requirements@run.time. The authors would like to thank Antoine Leger from Thales for valuable input about the GMES case study.

References

  1. 1.
    CONNECT consortium. CONNECT Deliverable D3.3: Dynamic connector synthesis: revised prototype implementation. FET IP CONNECT EU project. http://hal.inria.fr/hal-00695592/
  2. 2.
    Angluin D (1987) Learning regular sets from queries and counterexamples. Inf Comput 75(2):87–106MathSciNetMATHCrossRefGoogle Scholar
  3. 3.
    Aßmann U, Bencomo N, Cheng BHC, France RB (2011) Models@run.time (dagstuhl seminar 11481). Dagstuhl Rep 1(11):91–123Google Scholar
  4. 4.
    Baresi L, Di Nitto E, Ghezzi C (2006) Toward open-world software: issue and challenges. IEEE Comput 39(10):36–43CrossRefGoogle Scholar
  5. 5.
    Baresi L, Ghezzi C (2010) The disappearing boundary between development-time and run-time. In: Proceedings of the FSE/SDP workshop on future of software engineering research, ACM, pp 17–22Google Scholar
  6. 6.
    Bencomo N, Blair GS, Fleurey F, Jeanneret C (2010) Summary of the 5th international workshop on models@run.time. In MoDELS workshops, pp 204–208Google Scholar
  7. 7.
    Bennaceur A, Issarny V, Richard J, Alessandro M, Romina S, Sykes D (2011) Automatic service categorisation through machine learning in emergent middleware. In: Software technologies concertation on formal methods for components and objects (FMCO’11)Google Scholar
  8. 8.
    Bennaceur A, Richard J, Alessandro M, Romina S, Sykes D, Saadi R, Issarny V (2011) Inferring affordances using learning techniques. In: International workshop on eternal systems (EternalS’11)Google Scholar
  9. 9.
    Blair G, Bencomo N, France RB (2009) Models@run.time. Computer 42(10):22–27CrossRefGoogle Scholar
  10. 10.
    Blair GS, Bennaceur A, Georgantas N, Grace P, Issarny V, Nundloll V, Paolucci M (2011) The role of ontologies in emergent middleware: supporting interoperability in complex distributed systems. In: Middleware’11, pp 410–430Google Scholar
  11. 11.
    Bromberg Y-D, Grace P, Réveillère L (2011) Starlink: runtime interoperability between heterogeneous middleware protocols. In: Distributed computing systems (ICDCS), 2011, 31st international conference, IEEE, pp 446–455Google Scholar
  12. 12.
    Bromberg Y-D, Grace P, Réveillère L, Blair GS (2011) Bridging the interoperability gap: overcoming combined application and middleware heterogeneity. In: Middleware’11, pp 390–409Google Scholar
  13. 13.
    Bromberg Y-D, Issarny V (2005) INDISS: interoperable discovery system for networked services. In: Middleware’11, pp 164–183Google Scholar
  14. 14.
    Calinescu R, Shinji K (2010) Formal methods@run.time. In: Monterey, workshop, pp 122–135Google Scholar
  15. 15.
    Caporuscio M, Raverdy P-G, Moungla H, Issarny V (2008) ubisoap: a service oriented middleware for seamless networking. In: ICSOC, pp 195–209Google Scholar
  16. 16.
    Cavallaro L, Di Nitto E, Pradella M (2009) An automatic approach to enable replacement of conversational services. In: Proceedings of ICSOC/ServiceWave. Springer, Berlin, pp 159–174Google Scholar
  17. 17.
    Chang H, Mariani L, Pezzè M (2009) In-field healing of integration problems with cots components. In: ICSE, pp 166–176Google Scholar
  18. 18.
    Cimpian E , Adrian M (2005) WSMX process mediation based on choreographies. In: Proceedings of business process management, workshop, pp 130–143Google Scholar
  19. 19.
    Dashofy EM, van der Hoek A, Tylor RN (2002) Towards architecture-based self-healing systems. In: Proceedings of the first workshop on self-healing systems, WOSS ’02, pp 21–26. ACM, New YorkGoogle Scholar
  20. 20.
    Denaro G, Pezzè M, Tosi D (2009) Ensuring interoperable service-oriented systems through engineered self-healing. In: ESEC/SIGSOFT FSE, pp 253–262Google Scholar
  21. 21.
    Deng T, Fan W, Libkin L, Wu Y (2010) On the aggregation problem for synthesized web services. In: Proceedings of the 13th international conference on database theory, ICDT, pp 242–251Google Scholar
  22. 22.
    Floch J, Hallsteinsen S, Stav E, Eliassen F, Lund K, Gjorven E (2006) Using architecture models for runtime adaptability. Softw IEEE 23(2):62–70CrossRefGoogle Scholar
  23. 23.
    Flores-Cortés CA, Grace P, Blair GS (2011) Sedim: a middleware framework for interoperable service discovery in heterogeneous networks. TAAS 6(1):6Google Scholar
  24. 24.
    Garlan D (2010) Software engineering in an uncertain world. In FoSER, pp 125–128Google Scholar
  25. 25.
    Georgas JC, van der Hoek A, Taylor RN (2009) Using architectural models to manage and visualize runtime adaptation. Computer 42(10):52–60CrossRefGoogle Scholar
  26. 26.
    Grace P, Blair GS, Issarny V (2012) Emergent middleware. ERCIM News 88:27–28Google Scholar
  27. 27.
    Haller A, Cimpian E, Mocan A, Oren E, Bussler C (2005) Wsmx: a semantic service-oriented architecture. In: ICWS, pp 321–328Google Scholar
  28. 28.
    Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677MathSciNetMATHCrossRefGoogle Scholar
  29. 29.
    Issarny V, Bennaceur A, Bromberg Y-D (2011) Middleware-layer connector synthesis: beyond state of the art in middleware interoperability. In: SFM-11. Lecture notes in computer science, vol 6659. Springer, Berlin, pages 217–255Google Scholar
  30. 30.
    Issarny V, Steffen B, Jonsson B, Blair GS, Grace P, Kwiatkowska MZ, Calinescu R, Inverardi P, Tivoli M, Bertolino A, Sabetta A (2009) Connect challenges: towards emergent connectors for eternal networked systems. In: ICECCS, pp 154–161Google Scholar
  31. 31.
    Josifovski V, Risch T (1999) Integrating heterogenous overlapping databases through object-oriented transformations. In: VLDB, pp 435–446Google Scholar
  32. 32.
    Keller RM (1976) Formal verification of parallel programs. Commun ACM 19(7):371–384MATHCrossRefGoogle Scholar
  33. 33.
    Krka I, Brun Y, Daniel P, Garcia J, Medvidovic N (2010) Using dynamic execution traces and program invariants to enhance behavioral model inference. ICSE 2:179–182Google Scholar
  34. 34.
    Lam SS (1988) Protocol conversion. IEEE Trans Softw Eng 14(3):353–362CrossRefGoogle Scholar
  35. 35.
    Liskov B, Wing JM (1994) A behavioral notion of subtyping. ACM Trans Program Lang Syst 16(6):1811–1841CrossRefGoogle Scholar
  36. 36.
    Lorenzoli D, Mariani L, Pezzè M (2008) Automatic generation of software behavioral models. In: ICSE, pp 501–510Google Scholar
  37. 37.
    Merten M, Steffen B, Howar F, Margaria T (2011) Next generation learnlib. In: TACAS, pp 220–223Google Scholar
  38. 38.
    Milner R (1989) Communication and concurrency. PHI Series in computer science. Prentice Hall, Englewood CliffsGoogle Scholar
  39. 39.
    Mokhtar SB, Raverdy P-G, Urbieta A, Cardoso RS (2010) Interoperable semantic and syntactic service discovery for ambient computing environments. IJACI 2(4):13–32Google Scholar
  40. 40.
    Morin B, Barais O, Jézéquel J-M, Fleurey F, Solberg A (October 2009) Models at runtime to support dynamic adaptation. IEEE Comput 42(10):46–53Google Scholar
  41. 41.
    Morin B, Barais O, Nain G, Jézéquel J-M (2009) Taming dynamically adaptive systems using models and aspects. In: ICSE, pp 122–132Google Scholar
  42. 42.
    Noy NF, Chugh A, Liu W, Musen MA (2006) A framework for ontology evolution in collaborative environments. In: International semantic web conference, pp 544–558Google Scholar
  43. 43.
    Oreizy P, Gorlick MM, Taylor RN, Heimbigner D, Johnson G, Medvidovic N, Quilici A, Rosenblum DS, Wolf AL (1999) An architecture-based approach to self-adaptive software. IEEE Intell Syst Appl 14(3):54–62CrossRefGoogle Scholar
  44. 44.
    Oreizy P, Rosenblum DS, Taylor RN (1998) On the role of connectors in modeling and implementing software architectures: technical report 98–04. University of California, IrvineGoogle Scholar
  45. 45.
    Pete S, Nelly B, Jon W, Emmanuel L, Anthony F (2010) Requirements-aware systems: a research agenda for re for self-adaptive systems. In: Requirements engineering, IEEE international conference, pp 95–103Google Scholar
  46. 46.
    Schmidt DC (2006) Model driven engineering. IEEE Comput 36(2):25–31Google Scholar
  47. 47.
    Song H, Huang G, Xiong Y, Chauvel F, Sun Y, Mei H (2010) Inferring meta-models for runtime system data from the clients of management apis. In: Proceedings of the 13th international conference on model driven engineering languages and systems: Part II, MODELS’10, pp 168–182. Springer, BerlinGoogle Scholar
  48. 48.
    Spitznagel B, Garlan D (2003) A compositional formalization of connector wrappers. In: ICSE, pp 374–384Google Scholar
  49. 49.
    Steffen B, Howar F, Merten M (2011) Introduction to active automata learning from a practical perspective. In: SFM, pp 256–296Google Scholar
  50. 50.
    Tolk A, Pullen JA (2005) Using web services and data mediation/storage services to enable command and control to simulation interoperability. In: DS-RT, pp 27–34Google Scholar
  51. 51.
    Vaculin R, Neruda R, Sycara K (2009) The process mediation framework for semantic web services. vol 3, pp 27–58. Inderscience, GenevaGoogle Scholar
  52. 52.
    Welsh K, Sawyer P, Bencomo N (2011) Towards requirements aware systems: run-time resolution of design-time assumptions. In: 26th IEEE/ACM international conference on automated software engineering (ASE 2011), pp 560–563Google Scholar
  53. 53.
    Yan H, Garlan D, Schmerl B, Aldrich J, Kazman R (2004) Discotect: a system for discovering architectures from running systems. In: Proceedings of 26th international conference on, software engineering, pp 470–479Google Scholar
  54. 54.
    Yellin DM, Strom RE (1997) Protocol specifications and component adaptors. ACM Trans Program Lang Syst (TOPLAS) 19(2):292–333CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Wien 2012

Authors and Affiliations

  • N. Bencomo
    • 1
  • A. Bennaceur
    • 1
  • P. Grace
    • 2
  • G. Blair
    • 2
  • V. Issarny
    • 1
  1. 1.InriaParis-RocquencourtFrance
  2. 2.School of Computing and Communications Lancaster UniversityLancasterUK

Personalised recommendations