Modeling of application- and middleware-layer interaction protocols

The CONNECT Integrated Project aims at enabling continuous composition of networked systems to respond to the evolution of functionalities provided to and required from the networked environment. CONNECT aims at dropping the interoperability barrier by adopting a revolutionary approach to the seamless networking of digital systems, that is, synthesizing on-the-fly the connectors via which networked systems communicate. The resulting emergent connectors are effectively synthesized according to the behavioral semantics of application- down to middleware-layer protocols run by the interacting parties. The role of work package WP3 is to devise automated and compositional approaches to connector synthesis, which can be performed at run-time. Given the respective interaction behavior of networked systems, we want to synthesize the behavior of the connector(s) needed for them to interact. These connectors serve as mediators of the networked systems' interaction at both application and middleware layers. In this deliverable, we set the scene for a formal theory of the automated synthesis of application- and middleware-layer protocol mediators. We formally characterize mediating connectors between mismatching application-layer protocols by rigorously defining the necessary conditions that must hold for protocols to be mediated. The outcome of this formalization is the definition of two relationships between heterogenous protocols: matching and mapping. The former is concerned with checking whether a mediator letting two protocols interoperate exists or not. The latter concerns the algorithm that should be executed to synthesize the required mediator. Furthermore, we analyze the different dimensions of interoperability at the middleware layer and exploit this analysis to formalize existing solutions to middleware-layer interoperability. Since the work on application-layer mediator synthesis is based on the assumption that a model of the interaction protocol for a networked system is dynamically discovered, we finally present an approach, based on data-flow analysis and testing, for the automated elicitation of application-layer protocols from software implementations. This approach presents similarities, but also several differences, with the work of work package WP4 (protocol learning). Furthermore, it allowed us to proceed in parallel with the work of WP4 and to state the requirements that the learning approaches have to satisfy to enable mediator synthesis. For this reason, we keep this work separate from the work on protocol learning and discuss it in this deliverable. All the approaches mentioned above are applied to several examples and scenarios.

[1]  Bengt Jonsson,et al.  Regular Inference for State Machines Using Domains with Equality Tests , 2008, FASE.

[2]  Gio Wiederhold,et al.  Mediators in the architecture of future information systems , 1992, Computer.

[3]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[4]  Rob J. van Glabbeek Notes on the Methodology of CCS and CSP , 1997, Theor. Comput. Sci..

[5]  Paola Inverardi,et al.  Deadlock-free software architectures for COM/DCOM Applications , 2003, J. Syst. Softw..

[6]  Dieter Fensel,et al.  A Semantic Web Mediation Architecture , 2006, CSWWS.

[7]  Raouf Boutaba,et al.  OSDA: Open service discovery architecture for efficient cross-domain service provisioning , 2007, Comput. Commun..

[8]  Gwen Salaün Generation of Service Wrapper Protocols from Choreography Specifications , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[9]  Paola Inverardi,et al.  Automatic synthesis of behavior protocols for composable web-services , 2009, ESEC/FSE '09.

[10]  Valérie Issarny,et al.  COCOA: COnversation-based service COmposition in pervAsive computing environments with QoS support , 2007, J. Syst. Softw..

[11]  Andrzej Wasylkowski,et al.  Mining Operational Preconditions , 2008 .

[12]  Paola Inverardi,et al.  SYNTHESIS: A Tool for Automatically Assembling Correct and Distributed Component-Based Systems , 2007, 29th International Conference on Software Engineering (ICSE'07).

[13]  Jean-Bernard Stefani A calculus of Kells , 2003, Electron. Notes Theor. Comput. Sci..

[14]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[15]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[16]  Amy L. Murphy,et al.  LIME: A coordination model and middleware supporting mobility of hosts and agents , 2006, TSEM.

[17]  Daniel M. Yellin,et al.  Protocol specifications and component adaptors , 1997, TOPL.

[18]  Karl Meinke,et al.  Automated black-box testing of functional correctness using function approximation , 2004, ISSTA '04.

[19]  Fabio Kon,et al.  Reflective Middleware: From Your Desk to Your Hand , 2001, IEEE Distributed Syst. Online.

[20]  Mary Shaw Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status , 1993, ICSE Workshop on Studies of Software Design.

[21]  Erik Guttman,et al.  Service Location Protocol: Automatic Discovery of IP Network Services , 1999, IEEE Internet Comput..

[22]  Antonio Brogi,et al.  Automated Generation of BPEL Adapters , 2006, CIbSE.

[23]  Paola Inverardi,et al.  Deciding Observational Congruence of Finite-State CCS Expressions by Rewriting , 1995, Theor. Comput. Sci..

[24]  Michael R. Genesereth,et al.  The Conceptual Basis for Mediation Services , 1997, IEEE Expert.

[25]  Steven A. Battle,et al.  Protocol Mediation for Adaptation in Semantic Web Services , 2006, ESWC.

[26]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[27]  Roman Neruda,et al.  An Agent for Asymmetric Process Mediation in Open Environments , 2008, SOCASE.

[28]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.

[29]  Carlos Canal,et al.  Synchronizing Behavioural Mismatch in Software Composition , 2006, FMOODS.

[30]  David Garlan,et al.  Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events , 2003, SFM.

[31]  Gordon S. Blair,et al.  ReMMoC: A Reflective Middleware to Support Mobile Client Interoperability , 2003, OTM.

[32]  Ken Arnold The Jini architecture: dynamic services in a flexible network , 1999, DAC '99.

[33]  W. Keith Edwards,et al.  A Bridging Framework for Universal Interoperability in Pervasive Systems , 2006, 26th IEEE International Conference on Distributed Computing Systems (ICDCS'06).

[34]  Paola Inverardi,et al.  Software Architecture for Correct Components Assembly , 2003, SFM.

[35]  Andreas Zeller,et al.  Detecting object usage anomalies , 2007, ESEC-FSE '07.

[36]  Gordon S. Blair,et al.  An Adaptive Middleware to Overcome Service Discovery Heterogeneity in Mobile Ad Hoc Environments , 2007, IEEE Distributed Systems Online.

[37]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[38]  Alan Schmitt,et al.  An Abstract Machine for the Kell Calculus , 2005, FMOODS.

[39]  Fabio Casati,et al.  Semi-automated adaptation of service interactions , 2007, WWW '07.

[40]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[41]  Dirk Taubner,et al.  Finite Representations of CCS and TCSP Programs by Automata and Petri Nets , 1989, Lecture Notes in Computer Science.

[42]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[43]  Natalya F. Noy,et al.  Semantic integration: a survey of ontology-based approaches , 2004, SGMD.

[44]  Alan Schmitt,et al.  The Kell Calculus: A Family of Higher-Order Distributed Process Calculi , 2004, Global Computing.

[45]  Yannis Kalfoglou,et al.  Ontology mapping: the state of the art , 2003, The Knowledge Engineering Review.

[46]  Vasant Honavar,et al.  MOSCOE: an Approach for Composing Web Services through Iterative Reformulation of Functional Specifications , 2008, Int. J. Artif. Intell. Tools.

[47]  Giovanni Denaro,et al.  Ensuring interoperable service-oriented systems through engineered self-healing , 2009, ESEC/FSE '09.

[48]  Carlo Ghezzi,et al.  Synthesizing intensional behavior models by graph transformation , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[49]  Jean-Bernard Stefani,et al.  The Kell Calculus: Operational Semantics and Type System , 2003, FMOODS.

[50]  Sonia Ben Mokhtar,et al.  Distributed Behavioural Adaptation for the Automatic Composition of Semantic Services , 2008, FASE.

[51]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[52]  Wolfgang Emmerich,et al.  Software engineering and middleware: a roadmap , 2000, ICSE '00.

[53]  Annapaola Marconi,et al.  Automated Composition of Web Services: the ASTRO Approach , 2008, IEEE Data Eng. Bull..

[54]  Eda Marchetti,et al.  WS-TAXI: A WSDL-based Testing Tool for Web Services , 2009, 2009 International Conference on Software Testing Verification and Validation.

[55]  Antonín Kucera,et al.  On the Controller Synthesis for Finite-State Markov Decision Processes , 2005, Fundam. Informaticae.

[56]  Jian Wang,et al.  A Pattern-Based Approach to Development of Service Mediators for Protocol Mediation , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[57]  D. Fensel,et al.  The Web Service Modeling Framework WSMF Extended , 1992 .

[58]  Jack Weast,et al.  UPnP Design by Example: A Software Developer's Guide to Universal Plug and Play , 2003 .

[59]  Diego Calvanese,et al.  Automatic Service Composition and Synthesis: the Roman Model , 2008, IEEE Data Eng. Bull..

[60]  Fabio Casati,et al.  Developing Adapters for Web Services Integration , 2005, CAiSE.

[61]  Adrian Mocan,et al.  WSMX Process Mediation Based on Choreographies , 2005, Business Process Management Workshops.

[62]  Paola Inverardi,et al.  Failure-free coordinators synthesis for component-based architectures , 2008, Sci. Comput. Program..

[63]  Yérom-David Bromberg,et al.  INDISS: Interoperable Discovery System for Networked Services , 2005, Middleware.

[64]  Leonardo Mariani,et al.  Automatic generation of software behavioral models , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[65]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[66]  Pascal Fradet,et al.  Adaptor Synthesis for Real-Time Components , 2007, TACAS.

[67]  Agnès de La Chapelle,et al.  Proceedings of the 37th Hawaii International Conference on System Sciences- 2004 A Service Discovery: A Service Broker Approach , 2022 .

[68]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[69]  Xiang Fu,et al.  Towards a Theory of Web Service Choreographies , 2007, WS-FM.

[70]  Kim G. Larsen,et al.  UPPAAL-Tiga: Time for Playing Games! , 2007, CAV.

[71]  Simon S. Lam Correction to "Protocol Conversion" , 1988, IEEE Trans. Software Eng..

[72]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[73]  David Garlan,et al.  A compositional formalization of connector wrappers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[74]  Valérie Issarny,et al.  Towards a formalization of mediating connectors for on the fly interoperability , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[75]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[76]  Katia P. Sycara,et al.  Towards automatic mediation of OWL-S process models , 2007, IEEE International Conference on Web Services (ICWS 2007).