Dynamic Synthesis of Mediators in Ubiquitous Environments

Given today's highly dynamic and extremely heterogeneous software systems, automatically achieving interoperability between their software components -- without modifying them--- is more than simply desirable, it is fast becoming a necessity. Although much work has been carried out on interoperability, existing solutions have not fully succeeded in keeping pace with the increasing complexity and heterogeneity of modern software, and meeting the demands of runtime support. These solutions either require developers to implement mediators, which are software entities that reconcile the differences between the implementations of software components so as to enable them to work together, or generate mediators based on declarative specifications of the composition of components or correspondences between the components' interfaces. Due to their dependency on such specifications, existing solutions are insufficient for ubiquitous environments where software components meet dynamically and interactions take place spontaneously. The main contribution of this thesis is to define an approach and provide a supporting tool for the automated synthesis and deployment of mediators in order to enable heterogeneous software components, with compatible functionalities, to interoperate. The synthesised mediators reconcile the differences between the interfaces of the components and coordinate their behaviours from the application down to the middleware layers. In this thesis, we show that ontology reasoning, constraint programming, and automata techniques can provide the basis for a practical and sound solution to automate the synthesis of mediators at both design time and runtime. The full automation of mediator synthesis removes the need for solutions requiring declarative, often detailed, specifications of how to perform mediation. We validate our approach through the development of a tool, MICS, and its experimentation with a number of case studies ranging from heterogeneous chat applications to emergency management in systems of systems. Through these case studies, we demonstrate the viability and efficiency of the automated synthesis of mediators to enable functionally-compatible software components to interoperate seamlessly.

[1]  Laurent Pautet,et al.  PolyORB: A Schizophrenic Middleware to Build Versatile Reliable Distributed Applications , 2004, Ada-Europe.

[2]  Yérom-David Bromberg,et al.  Automatic Generation of Network Protocol Gateways , 2009, Middleware.

[3]  Gordon S. Blair,et al.  Interoperability in Complex Distributed Systems , 2011, SFM.

[4]  Tomas Vitvar,et al.  SAWSDL: Semantic Annotations for WSDL and XML Schema , 2007, IEEE Internet Computing.

[5]  Takahiro Kawamura,et al.  Semantic Matching of Web Services Capabilities , 2002, SEMWEB.

[6]  Andreas Tolk,et al.  Beyond Technical Interoperability - Introducing a Reference Model for Measures of Merit for Coalition Interoperability , 2003 .

[7]  Clement T. Yu,et al.  Contribution to the Theory of Indexing , 1973, IFIP Congress.

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

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

[10]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[11]  Diego Calvanese,et al.  The Description Logic Handbook , 2007 .

[12]  Tiziana Margaria,et al.  Next Generation LearnLib , 2011, TACAS.

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

[14]  Piergiorgio Bertoli,et al.  Automated composition of Web services via planning in asynchronous domains , 2005, Artif. Intell..

[15]  Luciano Baresi,et al.  Toward Open-World Software: Issue and Challenges , 2006, Computer.

[16]  Tiziana Margaria,et al.  Semantic Web Services Challenge, Results from the First Year , 2009, Semantic Web And Beyond.

[17]  Roman Neruda,et al.  The process mediation framework for semantic web services , 2009, Int. J. Agent Oriented Softw. Eng..

[18]  Thorsten Joachims,et al.  Text Categorization with Support Vector Machines: Learning with Many Relevant Features , 1998, ECML.

[19]  Jim Davies,et al.  Formal methods for future interoperability , 2009, SGCS.

[20]  Herbert Kubicek,et al.  Insights from recent studies for improving interoperability frame-works , 2009 .

[21]  Nicola Guarino,et al.  Sweetening Ontologies with DOLCE , 2002, EKAW.

[22]  Valérie Issarny,et al.  The role of models@run.time in supporting on-the-fly interoperability , 2013, Computing.

[23]  Fabio Casati,et al.  Web services interoperability specifications , 2006, Computer.

[24]  David Garlan,et al.  Software engineering in an uncertain world , 2010, FoSER '10.

[25]  Richard N. Taylor,et al.  The Role of Middleware in Architecture-Based Software Development , 2003, Int. J. Softw. Eng. Knowl. Eng..

[26]  Deborah L. McGuinness,et al.  Bringing Semantics to Web Services with OWL-S , 2007, World Wide Web.

[27]  Emanuele Della Valle,et al.  A Software Engineering Approach based on WebML and BPMN to the Mediation Scenario of the SWS Challenge , 2009, Semantic Web Services Challenge.

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

[29]  Gwen Salaün,et al.  Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques , 2008, IEEE Transactions on Software Engineering.

[30]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[31]  Valérie Issarny,et al.  Composing Distributed Systems: Overcoming the Interoperability Challenge , 2012, FMCO.

[32]  Ulrich Junker,et al.  The Logic of ILOG ( J ) Configurator : Combining Constraint Programming with a Description Logic , 2003 .

[33]  Valérie Issarny,et al.  Automatic Service Categorisation through Machine Learning in Emergent Middleware , 2011, FMCO.

[34]  Boualem Benatallah,et al.  Protocol-aware matching of web service interfaces for adapter development , 2010, WWW '10.

[35]  Daniel Plakosh,et al.  System of Systems Interoperability (SOSI): Final Report , 2004 .

[36]  Jeff Magee,et al.  FlashMob: distributed adaptive self-assembly , 2011, SEAMS '11.

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

[38]  Steffen Becker,et al.  Classifying Software Component Interoperability Errors to Support Component Adaption , 2004, CBSE.

[39]  Arjan J. Mooij,et al.  Reducing Adapter Synthesis to Controller Synthesis , 2012, IEEE Transactions on Services Computing.

[40]  Valérie Issarny,et al.  The Role of Ontologies in Emergent Middleware: Supporting Interoperability in Complex Distributed Systems , 2011, Middleware.

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

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

[43]  C. A. R. Hoare,et al.  Process Algebra: A Unifying Approach , 2004, 25 Years Communicating Sequential Processes.

[44]  Leonardo Mariani,et al.  In-field healing of integration problems with COTS components , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[45]  Antonio Brogi,et al.  A formal approach to component adaptation , 2005, J. Syst. Softw..

[46]  François Laburthe Constraints over Ontologies , 2003, CP.

[47]  Kenneth L. Calvert,et al.  Deriving a Protocol Converter: A Top-Down Method , 1989, SIGCOMM.

[48]  Radu Calinescu,et al.  Formal Methods @ Runtime , 2010, Monterey Workshop.

[49]  David Wetherall,et al.  Computer networks, 5th Edition , 2011 .

[50]  David Chen,et al.  Barriers to Enterprise Interoperability , 2009, IWEI.

[51]  Dana Angluin,et al.  Learning Regular Sets from Queries and Counterexamples , 1987, Inf. Comput..

[52]  Mathieu d'Aquin,et al.  Where to publish and find ontologies? A survey of ontology libraries , 2012, J. Web Semant..

[53]  Valérie Issarny,et al.  Achieving Interoperability through Semantics-Based Technologies: The Instant Messaging Case , 2012, SEMWEB.

[54]  Falko Menge Enterprise Service Bus , 2007 .

[55]  Thomas R. Gruber,et al.  A translation approach to portable ontology specifications , 1993, Knowl. Acquis..

[56]  Soumya Simanta,et al.  Why Standards Are Not Enough to Guarantee End-to-End Interoperability , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

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

[58]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[59]  Wen Zhu Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service Interoperability , 2012, 2012 IEEE 16th International Enterprise Distributed Object Computing Conference Workshops.

[60]  Yuriy Brun,et al.  Using dynamic execution traces and program invariants to enhance behavioral model inference , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[61]  Nicolette de Keizer,et al.  Comparison of reasoners for large ontologies in the OWL 2 EL profile , 2011, Semantic Web.

[62]  Sean Bechhofer,et al.  Understanding and using the meaning of statements in a bio-ontology: recasting the Gene Ontology in OWL , 2007, BMC Bioinformatics.

[63]  Eugene C. Freuder Eliminating Interchangeable Values in Constraint Satisfaction Problems , 1991, AAAI.

[64]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[65]  Simon S. Lam Protocol Conversion , 1988, IEEE Trans. Software Eng..

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

[67]  Tran Cao Son,et al.  Semantic Web Services , 2001, IEEE Intell. Syst..

[68]  Nadia Busi,et al.  Publish/subscribe vs. shared dataspace coordination infrastructures. Is it just a matter of taste? , 2001, Proceedings Tenth IEEE International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises. WET ICE 2001.

[69]  Piet Demeester,et al.  From Internet Architecture Research to Standards , 2012, Future Internet Assembly.

[70]  Valérie Issarny,et al.  Automated Synthesis of Mediators to Support Component Interoperability , 2015, IEEE Transactions on Software Engineering.

[71]  James A. Hendler,et al.  The Semantic Web" in Scientific American , 2001 .

[72]  Tiziana Margaria,et al.  Service-oriented Mediation with jABC/jETI , 2009, Semantic Web Services Challenge.

[73]  Paola Inverardi,et al.  Automatic synthesis of modular connectors via composition of protocol mediation patterns , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[74]  Jennifer Golbeck,et al.  Linking Social Networks on the Web with FOAF: A Semantic Web Case Study , 2008, AAAI.

[75]  Jerry R. Hobbs,et al.  DAML-S: Web Service Description for the Semantic Web , 2002, SEMWEB.

[76]  Jérôme Euzenat,et al.  A Survey of Schema-Based Matching Approaches , 2005, J. Data Semant..

[77]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

[78]  Yérom-David Bromberg,et al.  Starlink: Runtime Interoperability between Heterogeneous Middleware Protocols , 2011, 2011 31st International Conference on Distributed Computing Systems.

[79]  Amy L. Murphy,et al.  Data sharing vs. message passing: synergy or incompatibility?: an implementation-driven case study , 2008, SAC '08.

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

[81]  Valérie Issarny,et al.  Inferring Affordances Using Learning Techniques , 2011, EternalS@FET.

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

[83]  A. Udaya Shankar,et al.  Protocol Verification via Projections , 1984, IEEE Transactions on Software Engineering.

[84]  Bengt Jonsson,et al.  Automated Mediator Synthesis: Combining Behavioural and Ontological Reasoning , 2013, SEFM.

[85]  Jayant Madhavan,et al.  OpenII: an open source information integration toolkit , 2010, SIGMOD Conference.

[86]  Yannis Charalabidis,et al.  Systematisation of Interoperability Body of Knowledge: the foundation for Enterprise Interoperability as a science , 2013, Enterp. Inf. Syst..

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

[88]  Valérie Issarny,et al.  A Perspective on the Future of Middleware-based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[89]  Adam Pease,et al.  Towards a standard upper ontology , 2001, FOIS.

[90]  Gwen Salaün,et al.  Analysis and Verification of Service Interaction Protocols - A Brief Survey , 2010, TAV-WEB.

[91]  Andrew Birrell,et al.  Implementing Remote procedure calls , 1983, SOSP '83.

[92]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[93]  Robert G. Raskin,et al.  Knowledge representation in the semantic web for Earth and environmental terminology (SWEET) , 2005, Comput. Geosci..

[94]  Antonia Bertolino,et al.  Deliverable D6.4: Assessment report: Experimenting with CONNECT in Systems of Systems, and Mobile Environments , 2012 .

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

[96]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[97]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[98]  Tomas Vitvar,et al.  Mediation using WSMO, WSML and WSMX , 2009, Semantic Web Services Challenge.

[99]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .