Towa To r dsSe Se l f - Di Di a a g gnos i ng ng W e W e b Se Se r v i c c e e s L. Ardissono • L. Console • A. Goy • G. Petrone C. Picardi • M.Segnan • D. Theseider Dupré Dipartimento di Informatica Unversità di Torino (Italy) Se l f M a n 05 -Ni c e , M a y 1 9, 2005
M ot M o i v v a a t i ons on • Current practice for dealing with faults in distributed software systems: • exception handling • no attempt at identifying causes • Aim: Advanced diagnostic capabilities for complex Web services (composed from individual services) • identifying the faulty service to apply the proper recovery action • Towards self-healing Web Servioces • We propose a Model-based diagnosis approach for localizing the faulty service Se l f M a n 05 -Ni c e , M a y 1 9, 2005 2
M o M ot i v v a a t i ng ng e e x x a mpl e If the customer receives the wrong book, which are the possible causes? Se l f M a n 05 -Ni c e , M a y 1 9, 2005 3
M o M ode l - Ba Ba s e d Di Di a a g gnos i s s ( ( 1 1 ) • An approach to automated diagnosis • from AI (Artificial Intelligence) and Engineering • Diagnosis: • finding the cause(s) of an unexpected behavior • determining the most appropriate repair/recovery action • Detection VS Identification VS Recovery (Repair) • Main application • artefacts • Basic assumption • a Model of the artefact is available Se l f M a n 05 -Ni c e , M a y 1 9, 2005 4
M o M ode l - Ba Ba s e d Di Di a a g gnos i s s ( ( 2 2) • Different approaches to modelling. • We focus on component-oriented modelling: • Structure of the artefact (the Complex Service): • components (services) and their connections to define super-components (component hierarchy) • Function or Behaviour of its component types (individual or elementary) services: • Nominal behavior • Behavior in presence of faults • Qualitative Models • Variables express qualitative properties of the system • e.g: low/high or present / absent or correct / incorrect Se l f M a n 05 -Ni c e , M a y 1 9, 2005 5
M o M ode l - Ba Ba s e d Di Di a a g gnos i s s ( ( 3 3 ) ) First Design Textbooks … principles Actual System System Model Observed Predicted behaviour behaviour DIAGNOSIS Se l f M a n 05 -Ni c e , M a y 1 9, 2005 6
Ex Ex a mpl e C In E Pipe Pump Actuator Out Se l f M a n 05 -Ni c e , M a y 1 9, 2005 7
Co Compone nt - or or i e e nt n e e d d M ode M o l sofW Ss( so 1 ) • Model of WS: abstraction of its computation • A set of activities with I/O variables • activity ≡ component (smallest diagnosable unit) with behaviour modes ok and fail • Model: Relation between such variables • Which variables are affected by each activity • Which variables may result as abnormal ( ab ) in case an activity fails • Assumption: • for each activity in the ok mode, all inputs ok ⇒ all outputs ok Se l f M a n 05 -Ni c e , M a y 1 9, 2005 8
Compone Co nt - or or i e e nt n e e d d M ode M o l so sofW Ss( 2) • Diagnosis is activated by alarms in the WS • An alarm a • typically corresponds to a mismatch of two variables x and y • Or to an unexpected value of a variable • The model contains also checkpoints: • analogous to alarms • evaluated on demand , not automatically. Se l f M a n 05 -Ni c e , M a y 1 9, 2005 9
De De c e nt r r a a l i z z e e d Di Di a a gnos g i s Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 0
De De c e nt r r a a l i z z e e d Di Di a a g gnos i s Global Diagnoser no initial info Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 1
De De c e nt r r a a l i z z e e d Di Di a a g gnos i s Global Local Diagnoser Diagnoser no initial info local model + alarms + checkpoints Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 2
De De c e nt r r a a l i z z e e d Di Di a a gnos g i s Global Local Diagnoser Diagnoser no initial info local model + alarms + checkpoints Web Service sends messages to local diagnoser Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 3
Ou Ou r Appr ppr oa c h • We provide: • a specification of local diagnoser operations • a formal characterization of local diagnoser operations • A communication protocol between local and global diagnosers • an algorithm for the Global Diagnoser • starts with no information on local services • the algorithm only assumes that local diagnosers meet the specifications ofr their operations • the algorithm merges information from local diagnosers and decides which local diagnosers to contact. Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 4
St St a a r r t i ng ng Di Di a a gnos g i s s Up Upon Al Al a a r r ms Something’s wrong corresponding local diagnoser reacts to a fault message. Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 5
St St a a r r t i ng ng Di Di a a g gnos i s s Upon Up Al Al a a r r ms • Initial info : • local observations (alarms + checkpoints) OBS • Compute : • a set of candidate diagnoses � hypotheses of misbehaviour that explain OBS • internal misbehaviour : errors occurred inside the WS • external misbehaviour : errors in inputs received from other WSs ( blame on other services ) • consequences of each hypothesis on service outputs • can be used to validate/discard a candidate diagnosis • Standard MBD techniques can be applied. Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 6
Loc Lo a lCa ndi da da t eDi Di a a g gnos i s A local candidate diagnosis contains three elements: hypotheses on local behaviour blames on other (input) services consequences of hypotheses on other (output) services Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 7
Th TheRol eof eo t he heGl Gl oba ob lDi Di a a g gnos e r COLLECT local candidate diagnoses Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 8
Th TheRol eof eo t he heGl Gl oba ob lDi Di a a g gnos e r QUESTION ask for blame explanation Se l f M a n 05 -Ni c e , M a y 1 9, 2005 1 9
TheRol Th eo eof t he heGl Gl oba ob lDi Di a a g gnos e r VALIDATE ask for consequence validation Se l f M a n 05 -Ni c e , M a y 1 9, 2005 20
Lo Loc a lDi a a gnos g e r s-Ex Ex pl a a n na a t t i on on • Local diagnoser receives blames • It produces local candidate diagnoses that explain observations AND blames . • additional hypotheses of internal misbehaviour • additional blames • additional consequences • New local candidate diagnoses : • merged with the ones that originated the blame by the global diagnoser • If no explanation: • the candidate diagnosis that originated the blame is rejected by the global diagnoser Se l f M a n 05 -Ni c e , M a y 1 9, 2005 21
Loc Lo a lDi a a g gnos e r s-Va Va l i da da t i on on • Local diagnoser receives consequences • It verifies through local observations whether the consequences hold. • Produces: • additional consequences on other services • If initial consequences hold: • the global diagnoser adds new consequences to the local candidate diagnosis that originated them. • If initial consequences do not hold: • the candidate diagnosis that originated them blame is rejected by the global diagnoser . Se l f M a n 05 -Ni c e , M a y 1 9, 2005 22
Cha a r r a a c c t e e r r i z z a a t i on onof of Loc Lo a lDi a a g gnos e r s • Candidate diagnoses are represented by partial assignments to model variables • assignments of behaviour modes to internal activities • assignments of correctness status to model variables • For both explanation / validation : • local diagnosers receive the parts of the assignments that concerns them • work by completing partial assignments • operation can be carried out by standard MBD techniques • Both can be characterized in the same way • one operation that explains and validates at the same time. Se l f M a n 05 -Ni c e , M a y 1 9, 2005 23
TheGl Th ob oba l Di Di a a gnos g e r • Each request for explain / validate • produces new blames • produces new consequences • The Global Diagnoser: • repeatedly asks for explanations and validations • until there is nothing to explain/validate • A local diagnoser may be invoked multiple times • the general case does not assume a persistency of local diagnosers • each invocation can be considered separately • however persistency improves efficiency. Se l f M a n 05 -Ni c e , M a y 1 9, 2005 24
Recommend
More recommend