Skip to main content

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

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Notes

  1. http://www.Connect-forever.eu.

  2. http://www.gmes.info/.

  3. http://www.w3.org/TR/soap/.

  4. http://tools.ietf.org/html/draft-pantos-http-live-streaming.

  5. Note the use of an overline as a convenient shorthand to denote output actions.

  6. http://www.openslp.org/.

  7. http://docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-spec-os.pdf.

  8. http://www.upnp.org/.

  9. http://www.jini.org/.

  10. https://www-roc.inria.fr/arles/software/discovery.

  11. http://www.learnlib.de/.

  12. http://www-roc.inria.fr/arles/software/mics/.

  13. http://starlink.sourceforge.net.

References

  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. Angluin D (1987) Learning regular sets from queries and counterexamples. Inf Comput 75(2):87–106

    MathSciNet  MATH  Article  Google Scholar 

  3. Aßmann U, Bencomo N, Cheng BHC, France RB (2011) Models@run.time (dagstuhl seminar 11481). Dagstuhl Rep 1(11):91–123

    Google Scholar 

  4. Baresi L, Di Nitto E, Ghezzi C (2006) Toward open-world software: issue and challenges. IEEE Comput 39(10):36–43

    Article  Google Scholar 

  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–22

  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–208

  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)

  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)

  9. Blair G, Bencomo N, France RB (2009) Models@run.time. Computer 42(10):22–27

    Article  Google Scholar 

  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–430

  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–455

  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–409

  13. Bromberg Y-D, Issarny V (2005) INDISS: interoperable discovery system for networked services. In: Middleware’11, pp 164–183

  14. Calinescu R, Shinji K (2010) Formal methods@run.time. In: Monterey, workshop, pp 122–135

  15. Caporuscio M, Raverdy P-G, Moungla H, Issarny V (2008) ubisoap: a service oriented middleware for seamless networking. In: ICSOC, pp 195–209

  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–174

  17. Chang H, Mariani L, Pezzè M (2009) In-field healing of integration problems with cots components. In: ICSE, pp 166–176

  18. Cimpian E , Adrian M (2005) WSMX process mediation based on choreographies. In: Proceedings of business process management, workshop, pp 130–143

  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 York

  20. Denaro G, Pezzè M, Tosi D (2009) Ensuring interoperable service-oriented systems through engineered self-healing. In: ESEC/SIGSOFT FSE, pp 253–262

  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–251

  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–70

    Article  Google Scholar 

  23. Flores-Cortés CA, Grace P, Blair GS (2011) Sedim: a middleware framework for interoperable service discovery in heterogeneous networks. TAAS 6(1):6

    Google Scholar 

  24. Garlan D (2010) Software engineering in an uncertain world. In FoSER, pp 125–128

  25. Georgas JC, van der Hoek A, Taylor RN (2009) Using architectural models to manage and visualize runtime adaptation. Computer 42(10):52–60

    Article  Google Scholar 

  26. Grace P, Blair GS, Issarny V (2012) Emergent middleware. ERCIM News 88:27–28

    Google Scholar 

  27. Haller A, Cimpian E, Mocan A, Oren E, Bussler C (2005) Wsmx: a semantic service-oriented architecture. In: ICWS, pp 321–328

  28. Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677

    MathSciNet  MATH  Article  Google Scholar 

  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–255

  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–161

  31. Josifovski V, Risch T (1999) Integrating heterogenous overlapping databases through object-oriented transformations. In: VLDB, pp 435–446

  32. Keller RM (1976) Formal verification of parallel programs. Commun ACM 19(7):371–384

    MATH  Article  Google Scholar 

  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–182

    Google Scholar 

  34. Lam SS (1988) Protocol conversion. IEEE Trans Softw Eng 14(3):353–362

    Article  Google Scholar 

  35. Liskov B, Wing JM (1994) A behavioral notion of subtyping. ACM Trans Program Lang Syst 16(6):1811–1841

    Article  Google Scholar 

  36. Lorenzoli D, Mariani L, Pezzè M (2008) Automatic generation of software behavioral models. In: ICSE, pp 501–510

  37. Merten M, Steffen B, Howar F, Margaria T (2011) Next generation learnlib. In: TACAS, pp 220–223

  38. Milner R (1989) Communication and concurrency. PHI Series in computer science. Prentice Hall, Englewood Cliffs

    Google Scholar 

  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–32

    Google Scholar 

  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–53

    Google Scholar 

  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–132

  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–558

  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–62

    Article  Google Scholar 

  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, Irvine

  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–103

  46. Schmidt DC (2006) Model driven engineering. IEEE Comput 36(2):25–31

    Google Scholar 

  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, Berlin

  48. Spitznagel B, Garlan D (2003) A compositional formalization of connector wrappers. In: ICSE, pp 374–384

  49. Steffen B, Howar F, Merten M (2011) Introduction to active automata learning from a practical perspective. In: SFM, pp 256–296

  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–34

  51. Vaculin R, Neruda R, Sycara K (2009) The process mediation framework for semantic web services. vol 3, pp 27–58. Inderscience, Geneva

  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–563

  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–479

  54. Yellin DM, Strom RE (1997) Protocol specifications and component adaptors. ACM Trans Program Lang Syst (TOPLAS) 19(2):292–333

    Article  Google Scholar 

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to N. Bencomo.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Bencomo, N., Bennaceur, A., Grace, P. et al. The role of models@run.time in supporting on-the-fly interoperability. Computing 95, 167–190 (2013). https://doi.org/10.1007/s00607-012-0224-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-012-0224-x

Keywords

  • Runtime models
  • Runtime interoperability
  • Mediators
  • Ontology

Mathematics Subject Classification

  • 68-XX
  • 68N99