650 likes | 823 Views
Adaptive information systems Prof. Barbara Pernici Department of Electronics and Information Politecnico di Milano April 24, 2007. Outline. Introduction and Motivations Flexible services Service discovery, negotiation, optimization Self-healing services Flexible service design
E N D
Adaptive information systems Prof. Barbara Pernici Department of Electronics and Information Politecnico di Milano April 24, 2007
Outline • Introduction and Motivations • Flexible services • Service discovery, negotiation, optimization • Self-healing services • Flexible service design • Discussion
Mu l tiACC RClient HTTP + SOAP HTTP Direct access interface Service access interface . . Lezi . NET pocketLezi multi moda l Lezi vocalLezi aacLezi Services , , Contents , , Users , Register Internal Service access inte rface S Lezi . NET CMS I Distributed reflective system DBMS Contents Inte r faces MultiLezi Mainetti, Sbattella et al, 2006
Business processes based on services CUSTOMER SHOP WAREHOUSE Send Order Receive Order Split Split Order Check Availability On Supplier Check Availability On Warehouse Check Availability Calculation Calculate Cost Supply
Mobile Adaptive Information Systems • Mobile devices, varying context • PDA’s, smartphones, …. • Wireless networks • ad hoc (MANET) • Networked services (SOA) • MAIS: Multichannel Adaptive Information Systems • Italian Project http://www.mais-project.it
QoS Accepted quality threshold t Quality of Service in adaptive IS Quality dimensions
MAIS: Reference Architecture Front-end environment Web applications Flexible web-service environment Reflective architecture Adaptive hw/sw architecture VSDB Adaptive network
Non MAIS-enabled node front-end (traditional client) MAIS front-end components Non MAIS-enabled node Web service MAIS back-end components network MAIS Reflective Architecture MAIS Core MAIS back-end components MAIS-enabled node MAIS Reflective Architecture MAIS front-end components MAIS Core MAIS Reflective Architecture MAIS-enabled node MAIS Core MAIS-enabled node MAIS nodes
Interdisciplinary research • Adaptation to several channels, mobility, context-awareness • QoS guarantee • Computer science • Information systems • Service engineering • Software engineering • Database technology • Architecture design • Telecommunications • Networks • Modems • Business Science • User and service profiling • Costs and tariffs evaluation • Focus in the talk on: • business processes • service research • middleware
Adaptivity in Information systems • Research areas • Life cycle • Levels • Mechanisms
Lyfe cycle • Design time • Deployment/configuration time • Run time
Levels • Context independent • Context • Quality of Service, Quality of Experience
Mechanisms • Matchmaking • Wrapping/mediation • Monitoring • Adaptation, self-*, Recovery, Management (WS/Business Processes)
Research topics at Politecnico – IS group • Adaptive information systems • Service design and engineering • Cost evaluation • Projects: • EU WS-Diamond on Self-healing web services • Italian basic research project: MAIS (Multichannel Adaptive Information Systems) • Other applied research projects: services for virtual enterprises (textile, dangerous goods transportation, services for SMEs)
Wrt SOC research roadmap “grand challenges” • Service foundations • Dynamic connectivity capabilities, service discovery (Concrete Service Invoker, URBE) • Service composition • QoS-aware service composition (optimization algorithms for service selection in processes, negotiation of QoS) • Service management • Self-healing services (SH-BPEL) • Service design and development • Design principles (user-oriented design)
Positioning • Research areas • Service, Business Processes • Life cycle • Run time (towards design) • Levels • User context • QoS • Mechanisms • Matchmaking • Wrapping/mediation • Recovery (WS/BusinessProcesses) • Monitoring Life cycle Design Mechanisms Deployment Recovery, self* monitoring Wrapping/mediation) matchmaking Run time No context Context QoS Levels Moving from run time to deploy/design time research problems
Adaptive Services in PAWSProcesses with Adaptive Web Services • Service model • Registry and matchmaking • Optimization with QoS constraints • QoS negotiation and contracting • Service adaptation and invocation • Service Repair • Self-Healing services
E-service model Abstract service Flexible service Concrete service Concrete service
Concrete Service Invoker FlightService Lufthansa Alitalia Concrete Service Invoker - Scenario MAIS Client MAIS Front-End PlatformInvoker Concrete Service Invoker MAIS Reflective Architecture MAIS Reflective Architecture Wrapper Location = Italy Location = Italy Location = Germany V. De Antonellis, M. Melchiori, L. De Santis, M. Mecella, E. Mussi, B. Pernici, P. Plebani. (2006). A layered architecture for flexible e-service invocation”, Software & Practice Experience. vol. 36(2), C. Cappiello, M. Comuzzi, E. Mussi, B. Pernici: Context Management for Adaptive Information Systems. Electr. Notes Theor. Comput. Sci. 146(1): (2006)
Travel-Service find-travel book-travel pay-travel Service interface model behavior (+ Port types) Receive find-travel QoS <maxTime value="6.767389" /> <minTime value="5.767389" /> <price value="0.123061776" /> <reputation value="0.82627237" /> <availability value="0.9903379" /> <dataQuality value="0.9857625" /> Receive book-travel Receive pay-travel
request QoS model • Multiattribute • User/provider preferences (weights) • Dimensions definition • Names, ranges • Community defined dimensions Qi Carlo Marchetti, Barbara Pernici, Pierluigi Plebani: A quality model for multichannel adaptive information. WWW 2004 C. Cappiello, B. Pernici, P. Plebani. “Quality-agnostic or quality-aware semantic service descriptions?”. W3C Workhsop on Semantic Web Service Framework, Innsbruck, June 2005
Service discovery • Selection criteria • User context and preferences • Fitness of functionality • QoS constraints
Abstract Service level E-service ontology QoS QoS QoS QoS QoS QoS QoS De Antonellis et al, Inf. Sys., 2006
URBE • URBE = Uddi Registry By Example • UDDI Service discovery is driven by: • Keyword-based query • Pre-defined taxonomies browsing • URBE extends UDDI also supporting a content based query • Client submits a WSDL • UDDI returns a list of similar Web services D. Bianchini, V. De Antonellis, M. Melchiori, B. Pernici, P. Plebani. (2006). Ontology based methodology for e-service discovery. Information Systems, vol. 31(4-5)
Web service Similarity • URBE considers both “structural” and “semantic” similarity • Semantic similarity discover relationships among terms • Using domain specific term ontology • Using generic term ontology, i.e. Wordnet • Structural similarity • Is calculated by analyzing terms in WSDL at different levels: portType, operation, and message part names • More terms at the same level are related more similar are the Web services
Matching: further aspects and future work • Functional • Classification of services according to reference abstract services (clustering) • QoS • Weighted user preferences • Hierarchical analytical processing M.G. Fugini, P. Plebani, F. Ramoni, ICSOC 2006 • Quality of Experience (in context) • As perceived by user in the execution context, not as published in registry • Semantic annotations • Semantic plugin to increase recall • Design of semantic annotations • Process matching
FlightService WSDL Similarity Evaluation Wrapper Alitalia WSDL Similarity Engine Concrete Service Invoker – Wrapper Generation
Wrapper generation • Semi-automatic construction • Similarity of parameters and operations • Thesaurus (terms, simple semantic annotations) • Reference services • Transformation of parameters structure and names • Restructuring • String concatenation • Designer support to extract semantics derived from user interface (web page) • Structural analysis of page • Thesaurus • Research towards wrapper and mediation engines Enrico Mussi PhD Thesis, Politecnico di Milano, 2007
Service composition • Preferred: • - ACMEHotels • ItalianHotels Invoke hotel.reservation • Negotiate: • - lowest price • offer request not late late Probability=0.8 Probability=0.2 Invoke train.reservation Invoke flight.reservation Quality constraints (hard and global): cost <1000 train.reservation.cost<600
Optimization problem • Multi-attribute -> Simple Additive Weighting (SAW) • Scoring function, scaling, weighting • Transformation to a linear model, with binary variables • Multiple-choice Multiple-dimension Knapsack (MMKP) • Solution: • decomposition (execution paths, extension of Zeng et al. 2004), Admissible solution • Cycles – peeling vs unfolding • Reoptimization • Negotiation if unfeasible Danilo Ardagna, Barbara Pernici: IEEE Trans. Sw. Eng., July 2007
Other issues to be investigated • Advanced optimization: • Stateful services • Reoptimization • Reoptimization rules • WS on local grids • Broker • Business processes D. Ardagna, G. Giunta, N. Ingraffia, R. Mirandola, B. Pernici, QoS-driven Web Service Selection in Autonomic Grid Environments, (GADA'06), Montpellier, France, 2006
Negotiation • A) Identify an admissible solution • When service selection in optimization fails • B) Negotiation to set up a contract for service provisioning (QoS) • With each selected service
Negotiation - Introduction • Automated negotiation • Negotiation is faster when performed by software agents • The number of potential partners naturally grows • Remove emotional and psychological tricks • First approaches in the field of multi-agent computing • Planning problems • Economic transactions (dynamic pricing, e-auctions) • Lack of comprehensive approaches in SOA context • Algorithm and strategies already defined • Web Service based infrastructures for automated negotiation
Negotiation for web service selection • Our approach • automatic negotiation (user and provider profiles) • multiattribute (QoS dimensions) • WS infrastructure (negotiation service) • Two steps • Multi-party negotiation to select the best available service • Direct bilateral negotiation Marco Comuzzi, Barbara Pernici: An Architecture for Flexible Web Service QoS Negotiation. EDOC 2005 Marco Comuzzi, Barbara Pernici: Negotiation Support for Web Service Selection. TES 2004 Marco Comuzzi, PhD Thesis, Politecnico di Milano, 2007
Future work: Web services contracting • Contract specification (WSLA language, WS-Agreement) • Describe service elements touched by the contract (portTypes, operations,…) • Report guarantees (SLOs), recovery actions, penalties,… • Identify monitoring third parties • Multi-party interaction
Flexible services (towards self*) • Dynamic service selection and invocation • Service Repair • Service self-healing
WS-Diamond • Web Services DIAgnosability, MONitoring and Diagnosis • (EU FET STREP Project 2005-2008) http://wsdiamond.di.unito.it/ • Self-healingWeb service environment • Ws-Diamond (UE Project) enabling to: • detect anomalous situations (network/hardware failures, Web Service failures, application failures) • diagnose faults from the analysis of detected failures • select the most suitable recoveryaction • perform the selected recovery actions to reconfigure the network of services • Ws-Diamond aims at supporting both choreographed and orchestrated Web service environments
Web Service Management Interface Repair Actions Symptoms Other Alarms Diagnoser Recovery Selector Fault Notification Event Logs Event Logs Ws-Diamond: A Diamond-Enabled Node S. Modafferi, E. Mussi, B. Pernici, SH-BPEL - A Self-Healing plug-in for Ws-BPEL engines, Middleware for Service Oriented Computing (MW4SOC) Workshop, November, 2006, Melbourne, Australia
Web Service Web Service Management Interface Management Interface Diagnoser Recovery Selector Diagnoser Recovery Selector Diagnoser Recovery Selector Management Interface Web Service WS-Diamond and Choreography
Diagnoser WS-BPEL Management Interface Recovery Selector Orchestration, Diagnosis, and Recovery Event Logs Web Service 1 Symptoms Web Service 2 Fault Notification Repair Actions Web Service N SH-BPEL Other Alarms Event Logs
Diagnoser Web Service 1 Web Service 2 WS-BPEL Management Interface Web Service N Recovery Selector Ws-Diamond and Orchestration • (Infrastructure-level recovery actions) • Process-level recovery actions