DAME: A Distributed Diagnostics Environment for Maintenance Duncan Russell University of Leeds Project Partners • EPSRC Funded, 3 years, £3.2 million. Ends Dec ‘04 • 4 Universities: – University of Leeds, School of Computing and School of Mechanical Engineering – University of Oxford, Dept of Engineering Science – University of Sheffield, Dept of Automatic Control and Systems Engineering – University of York, Dept of Computer Science • Industrial Partners: – Rolls-Royce – Data Systems and Solutions – Cybula Ltd Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Operational Scenario Engine flight data London Airport Airline office New York Airport Grid Diagnostics Centre Maintenance Centre American data center European data center Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds DAME Grid Challenges • Building a demonstration system to demonstrate proof of concept for Grid technology in the aerospace diagnostic domain • Two primary Grid challenges: – Management of large, distributed and heterogeneous data repositories – Remote, secure access to diagnostics tools, flight data and other operational data • Other key issues: – Rapid data mining and analysis of fault data • York AURA technology is critical component for data mining activity – Management of distributed users and resources – 24/7 operation – QoS issues Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds DAME Architectural Overview DAME Diagnostics Portal Modelling/ Simulation Grid Services Management Case Based Reasoning ... Decision Support QUOTE Novel Data The Grid 100111011011 Vibration Shaft Speed Fuel Flow Software AURA Hardware AURA Cluster AURA Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Parts Data Operational Data AURA Service Data Aura-G Raw Engine Data Matches WRG Distribution Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Complex Virtual Organisation Engine Manufacturer (RR) Airline / Maintenance Contractor (at Airport) Information / request for advice Domain Expert (DE) - engine expert Dowload Engine Data Investigate using tools Provide Diagnosis / Prognosis / Advice Remote / Distributed Tools and Services Perform Minor Repair Local Diagnosis Upload Engine Data Ground Support System DAME Diagnosis Engine Data Center (EDC) - DS&S Service Data Manager (SDM) - RR Request advice from MA Maintenance Engineer (ME) Update Engine Records Distributed Aircraft Maintenance Environment (DAME) - Miscellaneous Providers. Investigate using tools Update Engine Record Remove engine and dispatch for major overhaul Request advice from DE Return overhauled engine to service Information / request for advice Provide Diagnosis / Prognosis / Advice Update Engine Record Update Engine Records Maintenance Analyst (MA) - maintenance expert Data Center (DS&S) Engine Maintenance Repair and Overhaul (MRO) Facility (RR / Contractor) Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Specifying Workflow Workflow instances are specified through UML sequence diagrams. AURA-G and CBR-G Grid Services can be directly accessed by the Maintenance Analyst as necesary - without using the RunDetailedDiagnosisPrognoisis workflow Parmeters may be provided by the Maintenance Analyst to tune the operation. The WorkflowManager-G The CBRWorkflowAdvisorG The AURA-G The Maintenance Analyst RunDetailedDiagnosisPrognosisWorkflow() AdviseOnWorkFlow() Search() SearchForMatchingCaseAndRankResults() Detailed Diagnosis / Prognosis Result This is an interchangeable sub workflow. Also the Maintenance Analyst will be able to select the parameters used in these calls from the Workflow Manager. Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds The CBRAnalyser-G Specifying Workflow Business workflows as Activity Diagrams Airport DS&S Maintenance Engineer Rolls Royce Maintenance Analyst (Fleet Manager) Domain Expert Aircraft Lands Visual Inspection Quote Diagnosis DAME Brief Diagnosis Check Diagnoses [ unknown ] [ diagnosis ] Analysis [ fault unresolved ] [ Clear ] [ known ] Provide Information Request Information [ information required ] [ unknown ] Detailed Analysis [ diagnosis ] Maintenance Procedure [ information required ] Provide Further Details Release Engine [ fault resolved ] Sign-off Diagnosis Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Request Further Details Workflow Requirements • Diagnostic Workflows – Automatic; initiated by novel event being detected – Manual; launched by engineer through diagnosis workbench • Manage provenance data for diagnosis ‘cases’ • Management of secure services – Role management – Certificate handling • Business Workflows – Job Assignment and Tracking Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Workflow System • Components for the workflow system have been identified: – Workflow Manager; runs workflow instantiations – Workflow Generator; creates and manages workflows – Workflow Advisor; advisory system providing domain knowledge on how to deploy workflows Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds DAME Services & Workflow Architecture EngineDataStore-G QUOTE / GSS +constructor() +Initialise() +StoreDataRecord() +RetrieveDataRecord() +Copy() XTO-G WorkflowManager-G Maintenance Engineer Decision Support Portal CollaborativeWorkingEnvironment +View() +Control() +constructor() +Initialise() +RunBriefDiagnosisPrognosisWorkflow() +RunDetailedDiagnosisPrognosisWorkflow() +RunDetailedAnalysisWorkflow() +InstallNewWorkflow() +DeleteExistingWorkflow() +RunAndDebugWorkflow() +RenameWorkflow() +ReplaceExistingWorkflow() +Copy() +RunPerformClusterSearch() +constructor() +Initialise() +XTO() +JChart() +Copy() +InstallNewAlgorithm() +RunAndDebugAlgorithm() AURA-G +constructor() +Initialise() +Store() +Remove() +Search() Workflow Subsystem SDM-G +SDMSource() +getEventData() +getEventItem() +getEventAircraft() +getEventEngine() +getEventFromSerialDate() DataBaseMiner-G WorkflowGenerator-G Maintenance Analyst +constructor() +Initialise() +CreateNewWorkflow() +EditExistingWorkflow() +AddWorkflowElement() +EditWorkflowElement() +SaveWorkflow() +GetWorkflow() +Copy() XTOOutputDataVisualiser-G +constructor() +Initialise() +Visualise() +Copy() CBRWorkflowAdvisor-G Domain Expert +constructor() +Initialise() +AdviseOnWorkFlow() +StoreNewCaseInCBRCasebase() +UpdateExistingCaseInCBRCasebase() +Copy() CBRAnalysis-G EngineModel-G +constructor() +Initialise() +ModelEnginePerformance() +Copy() Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds +constructor() +Initialise() +SearchForMatchingCaseAndRankResults() +StoreNewCaseInCBRCasebase() +UpdateExistingCaseInCBRCasebase() +Copy() Current Progress • Workflow Manager has been implemented – Workflows captured as Java classes – Workflow enactment via apache server hosted at the DAME portal – Workflow Manager handles secure authorisation through management of X509 certificates Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Workflow Implementation Browser Portal Role Database MyProxy Server Event Generator Engine Data Store Workflow Credential Workflow Manager SDM to XTO XTO Aura-G CBR Broker Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Engine Model Workflow Implementation StoreEngineData( ) : Ground Support System : EngineDataStore : Portal NewEngineData(params) GetEngineData( ) : Maintenance Engineer : EventAgent getResults(workflowId) runWorkflow(existingConnection, workflowName, params) getStatus(workflowId) : Maintenance Analyst notifyChange(WorkflowId, params) runWorkflow(workflowName, role, params) notify(workflowId) : PortalConnection getStatus(workflowId) getResults(workflowId) : Worklist : WorkflowManager getResults(workflowId) getStatus(workflowId) runWorkflow(workflowName, role, params) : Domain Expert propertyChange(propertyChangeEvent) getStatus( ) getResults( ) XTOJob : Xto createWorkflow(workflowName, role, cred, params) attachWork(newWork) Resource Broker : WorkflowBriefDiagnosis : WorkflowFactory setId(workflowId) setRole(role) execute( ) execute( ) Workflow System Boundary : RunCBR Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds Future Work • Workflow Generator – – – – Dynamic Workflow Generation Means to edit/adapt workflows Means to visualise workflows Would like to adopt existing e-Science technology • Development of Workflow Advisor – Case Based Reasoning system – Uses workflow provenance to build diagnosis case histories and capture domain knowledge • Richer Security models – Authorisation across computing domains – Finer grain definition of role and access rights. – Dynamic control of virtual organisations Duncan Russell, Informatics Research Institute, School of Computing, University of Leeds