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.
Similar content being viewed by others
Notes
Note the use of an overline as a convenient shorthand to denote output actions.
References
CONNECT consortium. CONNECT Deliverable D3.3: Dynamic connector synthesis: revised prototype implementation. FET IP CONNECT EU project. http://hal.inria.fr/hal-00695592/
Angluin D (1987) Learning regular sets from queries and counterexamples. Inf Comput 75(2):87–106
Aßmann U, Bencomo N, Cheng BHC, France RB (2011) Models@run.time (dagstuhl seminar 11481). Dagstuhl Rep 1(11):91–123
Baresi L, Di Nitto E, Ghezzi C (2006) Toward open-world software: issue and challenges. IEEE Comput 39(10):36–43
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
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
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)
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)
Blair G, Bencomo N, France RB (2009) Models@run.time. Computer 42(10):22–27
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
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
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
Bromberg Y-D, Issarny V (2005) INDISS: interoperable discovery system for networked services. In: Middleware’11, pp 164–183
Calinescu R, Shinji K (2010) Formal methods@run.time. In: Monterey, workshop, pp 122–135
Caporuscio M, Raverdy P-G, Moungla H, Issarny V (2008) ubisoap: a service oriented middleware for seamless networking. In: ICSOC, pp 195–209
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
Chang H, Mariani L, Pezzè M (2009) In-field healing of integration problems with cots components. In: ICSE, pp 166–176
Cimpian E , Adrian M (2005) WSMX process mediation based on choreographies. In: Proceedings of business process management, workshop, pp 130–143
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
Denaro G, Pezzè M, Tosi D (2009) Ensuring interoperable service-oriented systems through engineered self-healing. In: ESEC/SIGSOFT FSE, pp 253–262
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
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
Flores-Cortés CA, Grace P, Blair GS (2011) Sedim: a middleware framework for interoperable service discovery in heterogeneous networks. TAAS 6(1):6
Garlan D (2010) Software engineering in an uncertain world. In FoSER, pp 125–128
Georgas JC, van der Hoek A, Taylor RN (2009) Using architectural models to manage and visualize runtime adaptation. Computer 42(10):52–60
Grace P, Blair GS, Issarny V (2012) Emergent middleware. ERCIM News 88:27–28
Haller A, Cimpian E, Mocan A, Oren E, Bussler C (2005) Wsmx: a semantic service-oriented architecture. In: ICWS, pp 321–328
Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677
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
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
Josifovski V, Risch T (1999) Integrating heterogenous overlapping databases through object-oriented transformations. In: VLDB, pp 435–446
Keller RM (1976) Formal verification of parallel programs. Commun ACM 19(7):371–384
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
Lam SS (1988) Protocol conversion. IEEE Trans Softw Eng 14(3):353–362
Liskov B, Wing JM (1994) A behavioral notion of subtyping. ACM Trans Program Lang Syst 16(6):1811–1841
Lorenzoli D, Mariani L, Pezzè M (2008) Automatic generation of software behavioral models. In: ICSE, pp 501–510
Merten M, Steffen B, Howar F, Margaria T (2011) Next generation learnlib. In: TACAS, pp 220–223
Milner R (1989) Communication and concurrency. PHI Series in computer science. Prentice Hall, Englewood Cliffs
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
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
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
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
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
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
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
Schmidt DC (2006) Model driven engineering. IEEE Comput 36(2):25–31
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
Spitznagel B, Garlan D (2003) A compositional formalization of connector wrappers. In: ICSE, pp 374–384
Steffen B, Howar F, Merten M (2011) Introduction to active automata learning from a practical perspective. In: SFM, pp 256–296
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
Vaculin R, Neruda R, Sycara K (2009) The process mediation framework for semantic web services. vol 3, pp 27–58. Inderscience, Geneva
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
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
Yellin DM, Strom RE (1997) Protocol specifications and component adaptors. ACM Trans Program Lang Syst (TOPLAS) 19(2):292–333
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
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-012-0224-x