The C ONNECT Architecture: Overview and Middleware Interoperability Aspects Nikolaos Georgantas, INRIA Joint work with ARLES colleagues and colleagues.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Research Issues in Web Services CS 4244 Lecture Zaki Malik Department of Computer Science Virginia Tech
Overview of Web Services
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Self-Regenerative Middleware Service for Cross-Standards and Ubiquitous Services Activation Mengjie Yu ( )
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
A component- and message-based architectural style for GUI software
Knowledge Enabled Information and Services Science Semantics in Services Dr. Amit P. Sheth, Lexis-Nexis Eminent Scholar, kno.e.sis center, Wright State.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Workflow utilization in composition of complex applications based.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Unified Modeling (Part I) Overview of UML & Modeling
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
ECSE Software Engineering 1I HO 7 © HY 2012 Lecture 7 Publish/Subscribe.
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Messaging Technologies Group: Yuzhou Xia Yi Tan Jianxiao Zhai.
SOA, BPM, BPEL, jBPM.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Interoperating with Services in a Mobile Environment Andreas Dahl, Pål Rolfsen Grønsund, Per Thomas Kraabøl,
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
10/18/20151 Business Process Management and Semantic Technologies B. Ramamurthy.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Ocean Observatories Initiative Data Management (DM) Subsystem Overview Michael Meisinger September 29, 2009.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Jini Architecture Introduction System Overview An Example.
Dynamic Synthesis of Mediators in Pervasive Environments Amel Bennaceur supervised by Valérie Issarny ARLES 14 February 2012, Junior Seminar, INRIA.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Enabling Components Management and Dynamic Execution Semantic.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Challenges in the Business Digital Ecosystems Pierfranco Ferronato, Soluta.net DBE Principal Architect Digital Ecosystem Workshop, 18 May 2005 “Towards.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
September 28, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
The Role of Reflection in Next Generation Middleware
Java Distributed Object System
Supporting Mobile Collaboration with Service-Oriented Mobile Units
Software Connectors.
Web Service Modeling Ontology (WSMO)
OO Methodology OO Architecture.
#01 Client/Server Computing
Inventory of Distributed Computing Concepts and Web services
Inventory of Distributed Computing Concepts
Composite Subscriptions in Content-based Pub/Sub Systems
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Design Yaodong Bi.
Business Process Management and Semantic Technologies
#01 Client/Server Computing
Presentation transcript:

The C ONNECT Architecture: Overview and Middleware Interoperability Aspects Nikolaos Georgantas, INRIA Joint work with ARLES colleagues and colleagues from FP7 ICT FET C ONNECT project

Outline  Introduction to C ONNECT  C ONNECT Architecture From System Discovery to C ONNECT or Synthesis  Middleware Interoperability Aspects Approach to Middleware Abstraction C ONNECT Discovery & Demo (by Rachid Saadi) Approach to Middleware Synthesis & Demo (by Paul Grace)  Conclusion 2

The C ONNECT Approach to Interoperability: Emergent Middleware  Synthesize C ONNECT ors between heterogeneous Networked Systems (NS) Generate middleware and application protocols to create connections that will overcome the interoperability barrier C ONNECT ors devised and created at Run Time Minimal a priori knowledge/ assumptions 33 NS « Mediating » connector aka Emergent Middleware See lecture by Gordon Blair & Massimo Paolucci on Interoperability in Complex Distributed Systems

A Runtime Model-centric Approach to Eternal Interoperability 4 1) Modelling and reasoning about peer functionalities 2) Learning connector behaviours 4) Runtime synthesis of connectors 3) Modelling, reasoning about, and composing dynamically connector behaviours, both functional & non-functional To C ONNECT ed Emergent connectors at semantic level for eternal connectivity Networked System Pre-built middleware protocol translation From Non-C ONNECTed Pre-built connectors at syntactic level Pre-built middleware protocol substitution Dependability assurance

5 networked system enabler C ONNECT Enabling Architecture Networked Systems collaboration input output networked system C ONNECT or C ONNECT ed System Architecture output Overall View

The C ONNECT Enablers NS Requirements Service Provision Discovery Protocols Learning C ONNECT or Synthesis

7 C ONNECT Continuous Process Networked System interoperable discovery and matching C ONNECT or model synthesis monitoring and model-based assessment (online) C ONNECT ed systems dependability analysis model-based evaluation (offline) C ONNECT ors model-to-model, model-to-code transformations C ONNECT or deployment and execution interaction behavior learning monitoring, model- based testing common mechanisms feedback and resynthesis learned model evaluation and update C ONNECT ed System Life-cycle

Outline  Introduction to C ONNECT  C ONNECT Architecture From System Discovery to C ONNECT or Synthesis  Middleware Interoperability Aspects Approach to Middleware Abstraction C ONNECT Discovery & Demo (by Rachid Saadi) Approach to Middleware Synthesis & Demo (by Paul Grace)  Conclusion 8

Assumptions of the Architecture  Operating environment We assume IP-based systems which are open and consist of potentially federated autonomous systems  System assumptions Networked systems are discoverable and the associated discovery protocols are known to C ONNECT We can discover at least the interface description for a networked system and in a language that is known to C ONNECT We know the ontologies as required for a domain (and ontology alignment is possible but provided outside C ONNECT ) C ONNECT -aware hosts are available for deployment of key behavior (C ONNECT ors) 9

The Enabler Architecture 10

11 Networked System Model Interface Non-Functional Properties Semantic concept Behavior Networked System (NS) Affordance

Discovery Enabler The architecture is based on previous interoperable service discovery solutions, namely: MUSDAC and UBISOAP

The Networked System Description Language (NSDL) 13

Synthesis Enabler 14 Middleware-specific application LTSs Middleware-agnostic application LTSs Middleware Abstraction Middleware- abstraction rules Abstract application LTSs Common Abstraction Common Abstraction Ontology-based specifications Ontology-based specifications Ontology Mapping Ontology Mapping FAIL Functional Matching ERROR SUCCESS ( + non functional concerns) Protocol Mapping Abstract (application-layer) Connector Specification Connector Actual Code Implementation (e.g., Java Files) Connector Actual Code Implementation (e.g., Java Files) Code Templates (e.g., Java templates) Code Templates (e.g., Java templates) Transformation Engine (e.g., JET Engine) Transformation Engine (e.g., JET Engine) Code Generator Code Generator Connector Representation Meta-Model Connector Representation Meta-Model refers to Code Generation Concretization Concrete (application- & middleware-layer) Connector Specification See lectures by: Valérie Issarny on Middleware-layer Connector Synthesis, Paola Inverardi on Application-layer Connector Synthesis

The C ONNECT or Architecture 15 Networked System 1 Networked System 2 Listener Actuator Message Interoperability Listener Actuator Message Interoperability Mediator Behavioral Interoperability C ONNECT or Runtime Model Interface Event Notification Interface Mediator Engine Network Engine

Outline  Introduction to C ONNECT  C ONNECT Architecture From System Discovery to C ONNECT or Synthesis  Middleware Interoperability Aspects Approach to Middleware Abstraction C ONNECT Discovery & Demo (by Rachid Saadi) Approach to Middleware Synthesis & Demo (by Paul Grace)  Conclusion 16

Middleware Abstraction  Middleware abstraction is key element of NS Discovery and C ONNECT or Synthesis To deal with NS heterogeneous middleware  Middleware abstraction followed by C ONNECT or concretization enables Matching between middleware-agnostic representations of NS applications and synthesizing an appropriate application-layer C ONNECT or Mapping between NS middleware and synthesizing an appropriate middleware- layer C ONNECT or  Essential trade-off in the abstraction approach Middleware semantics abstraction for effective application-layer C ONNECT or synthesis, vs. Middleware semantics preservation for robust middleware-layer C ONNECT or synthesis  An approach to middleware abstraction attempting to preserve semantics 17

Approach outline  A three-level abstraction From heterogeneous middleware platforms (e.g., Web Services, JMS, LIME) to the corresponding middleware coordination models (client/server, publish/subscribe, tuple space) From the middleware coordination models to a single generic application coordination model Special attention paid to preservation of coordination semantics  Elicit/introduce API primitives for all the models and mappings between them  Elicit IDLs for describing public interfaces for all the models Generic Application (GA) Client/Server (CS), Publish/Subscribe (PS), Tuple Space (TS) heterogeneous middleware platforms  To showcase applicability Integrate our abstractions into a coordination middleware architecture enabling workflow-based orchestration of heterogeneous systems Implement into a prototype middleware by building on BPEL and its extensibility support mechanism

Client/Server Connector Model  Widely employed middleware platforms Web Services, Java RMI, CORBA  Our model integrates wide range of semantics Direct (non queue-based) messaging Remote procedure call (RPC)  Enables all different kinds of reception semantics Blocking, blocking with timeout, non-blocking  Space & time coupling between two interacting entities 19 Sample CS primitives − send (destination, operation, input) − receive (source, operation, output, timeout) − setreceive (source, operation, output, handle) − invoke (destination, operation, input, output, timeout) Sample CS primitives − send (destination, operation, input) − receive (source, operation, output, timeout) − setreceive (source, operation, output, handle) − invoke (destination, operation, input, output, timeout)

Publish/Subscribe Connector Model  Middleware platforms supporting asynchronous events interaction JMS, SIENA  Our model abstracts comprehensively Queue-, topic-, and content-based PS systems  Enables rich reception semantics Synchronous pull by the subscriber: blocking, blocking with timeout, non-blocking Asynchronous push by the broker  Space (de)coupling & time decoupling between two/multiple interacting peers 20 Sample PS primitives − publish (broker, filter, event, lease) − subscribe (broker, filter, mode, handle) mode = sync, async − getnext (handle, event, timeout) Sample PS primitives − publish (broker, filter, event, lease) − subscribe (broker, filter, mode, handle) mode = sync, async − getnext (handle, event, timeout)

Tuple Space Connector Model  Middleware platforms supporting shared data space interaction JavaSpaces, LIME  Our model based on the classic tuple space semantics (Linda) extended with some advanced features Asynchronous notifications, explicit scoping, bulk data retrieval  Space & time decoupling between multiple interacting peers, some specifics Access to a single, commonly shared copy of the data No subscription Non-deterministic concurrency semantics Multiple read problem 21 Sample TS primitives − out (tuplespace, scope, template, tuple, lease) − take (tuplespace, scope, template, policy, tuple, timeout) policy = one, all − read () − register (tuplespace, scope, template, handle) Sample TS primitives − out (tuplespace, scope, template, tuple, lease) − take (tuplespace, scope, template, policy, tuple, timeout) policy = one, all − read () − register (tuplespace, scope, template, handle)

Generic Application Connector Model  Comprehensively incorporates end-to-end interaction semantics of application entities employing any of the CS, PS, TS middleware connectors Generic post() and get() primitives for data  Introduces four types of coupling Strong, weak, very weak, any 22 Sample GA primitives − post (coupling, scope, data, lease) − setget (coupling, scope, mode, data, handle) mode = sync, async − get (coupling, scope, handle, policy, data, timeout) policy = remove, copy, removeall, copyall Sample GA primitives − post (coupling, scope, data, lease) − setget (coupling, scope, mode, data, handle) mode = sync, async − get (coupling, scope, handle, policy, data, timeout) policy = remove, copy, removeall, copyall

Mapping and GA scope  Dual role of GA scope Generic addressing for different couplings Partial semantics for data  scope.{mainsope, subscope, subsubscope} {destination/source, operation, null} for CS {broker, filter, null} for PS {tuplespace, scope, template} for TS 23 Sample mapping PS ↔ GA − publish() ↔ post() − subscribe() ↔ setget() − getnext() ↔ get() − coupling = weak − broker ↔ scope.mainscope, filter ↔ scope.subscope − event ↔ data − most other parameters mapped directly Sample mapping PS ↔ GA − publish() ↔ post() − subscribe() ↔ setget() − getnext() ↔ get() − coupling = weak − broker ↔ scope.mainscope, filter ↔ scope.subscope − event ↔ data − most other parameters mapped directly

GA IDL  Comprehensively represents public interfaces of application entities employing any of the CS, PS, TS middleware connectors 24 Sample GA IDL − definition of types − coupling − data: semantics, names, types − scope for data: semantics, names, types, values − coordination semantics for data and scope: {post, get}, policy, mode, lease Sample GA IDL − definition of types − coupling − data: semantics, names, types − scope for data: semantics, names, types, values − coordination semantics for data and scope: {post, get}, policy, mode, lease

Coordination middleware architecture local coordination primitives task remote interface description GA remote interface description GA data type system remote coordination primitives GA remote coordination primitives GA remote coordination primitives CS, PS, TS remote coordination primitives CS, PS, TS remote middleware API middleware platforms remote middleware API middleware platforms data type system remote interface description CS, PS, TS remote interface description CS, PS, TS remote interface description middleware platforms remote interface description middleware platforms application coordination level middleware coordination level middleware platform level refinement mapping orchestration workflow data type system

Coordination middleware implementation local coordination primitives task remote interface description GA remote interface description GA data type system remote coordination primitives GA remote coordination primitives GA remote coordination primitives CS, PS, TS remote coordination primitives CS, PS, TS remote middleware API middleware platforms remote middleware API middleware platforms data type system remote interface description CS, PS, TS remote interface description CS, PS, TS remote interface description middleware platforms remote interface description middleware platforms application coordination level middleware coordination level middleware platform level refinement mapping orchestration workflow data type system BPEL EAs code templates supporting generic primitives of CS, PS, TS CS, PS, TS IDLs GA IDL GAEA2xEA transformation xDL2GADL transformation Extended BPEL engine support Taken care by BPEL Taken care by BPEL and BPEL engine

Coordination middleware implementation local coordination primitives task remote interface description GA remote interface description GA data type system remote coordination primitives GA remote coordination primitives GA remote coordination primitives CS, PS, TS remote coordination primitives CS, PS, TS remote middleware API middleware platforms remote middleware API middleware platforms data type system remote interface description CS, PS, TS remote interface description CS, PS, TS remote interface description middleware platforms remote interface description middleware platforms application coordination level middleware coordination level middleware platform level orchestration workflow data type system BPEL EAs code templates supporting generic primitives of CS, PS, TS CS, PS, TS IDLs GA IDL GAEA2xEA transformation xDL2GADL transformation Extended BPEL engine support Employ middleware platform API in the corresponding code template Introduce native interface description native2xDL transformation

Implemented scenario  Search & Rescue Operations  Applied our coordination middleware to design and execute an application workflow integrating A DPWS Web service (CS), a JMS system (PS), and a JavaSpaces system (TS)

Evaluation  Trade-off Abstraction of semantics / API simplicity for application workflow design, vs. API expressiveness/ preservation of semantics  Extensibility Easiness in integrating new middleware platforms 29

Abstraction vs. expressiveness 30 DPWSJMSJavaSpacesDPWS+JMS+ JavaSpaces GASimplification Primitives % Arguments % PrimitivesArgumentsOptional Features DPWS100% (4/4)100% (3/3)0% (0/2) JMS83% (5/6)62% (5/7)0% (0/3) JavaSpaces80% (8/10)100% (3/3)0% (0/3)  GA API expressiveness  Middleware API to GA API simplification

Extensibility 31  Effort for integrating new middleware platforms  Effort for coordination middleware development PSTS BPEL EAs (primitives/arguments) 3759 xDLs (XSD elements) 1114 xDL2GADLs (XSLT expressions) 4263 Code templates (LOC) JMSJavaSpaces Code (new LOC) 508 (34%)311 (14%)

Discussion on our abstraction approach  GA provides an abstract union of the semantics of CS, PS and TS After high optimization for identifying common semantics By construction, this enables preserving the coordination semantics Orchestration well-suited for applying our abstractions  Direct mediation between the heterogeneous coordination models has not yet been tackled Will investigate direct mapping between CS, PS and TS semantics based on the GA abstraction 32

Outline  Introduction to C ONNECT  C ONNECT Architecture From System Discovery to C ONNECT or Synthesis  Middleware Interoperability Aspects Approach to Middleware Abstraction C ONNECT Discovery & Demo (by Rachid Saadi) Approach to Middleware Synthesis & Demo (by Paul Grace)  Conclusion 33

Conclusion  C ONNECT approach to Emergent Middleware Answer to Eternal Interoperability  C ONNECT Enabler Architecture Focus on Discovery and Synthesis  Question of Middleware Abstraction Effective abstraction with preservation of semantics 34

Thank you! Questions?