Open Architecture for Condition Based Maintenance - Engineering ...
Open Architecture for Condition Based Maintenance - Engineering ...
Open Architecture for Condition Based Maintenance - Engineering ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ARL<br />
Penn State<br />
Slide 1<br />
OSA-CBM: OSA CBM: An <strong>Open</strong><br />
System <strong>Architecture</strong> <strong>for</strong><br />
Machinery Monitoring<br />
Structural Health Monitoring COE Inaugural Meeting<br />
– April 13 th 2007 -<br />
Contact at ARL<br />
Mitchell Lebold<br />
814.865.8958 (voice)<br />
814.863.0673 (Fax)<br />
Lebold@psu.edu<br />
http://www.arl.psu.edu
ARL<br />
Penn State<br />
Slide 2<br />
• <strong>Condition</strong> <strong>Based</strong> <strong>Maintenance</strong><br />
(CBM) Systems<br />
• OSA-CBM Development Team<br />
• OSA-CBM <strong>Architecture</strong><br />
– Data and Control<br />
– Data Models<br />
• UML<br />
• AIDL<br />
– Middleware Technologies<br />
• CORBA<br />
• COM/DCOM<br />
• XML over HTTP<br />
– Design Flexibility and Examples<br />
• OSA-CBM Website<br />
Health<br />
Assessment<br />
Faulty<br />
Uncertain<br />
Healthy<br />
<strong>Condition</strong><br />
Monitor<br />
Accelerometer<br />
Data<br />
Band-Pass<br />
Filter<br />
Band-Pass<br />
Filtered<br />
Signal<br />
Half-wave<br />
or<br />
Full-wave<br />
Rectifier<br />
Envelope Detector<br />
Rectified<br />
Signal<br />
Peak-Hold<br />
Smoothing<br />
Envelope<br />
Detected<br />
Signal<br />
Data<br />
Manipulation<br />
N<br />
4<br />
N∑<br />
( ri<br />
− r )<br />
i=<br />
1<br />
NA4<br />
=<br />
2<br />
⎧ m N<br />
1 ⎡<br />
2 ⎤⎫<br />
⎨ ∑∑ ⎢ ( rij<br />
− rj<br />
) ⎥⎬<br />
⎩m<br />
j=<br />
1⎣i= 1 ⎦⎭<br />
Overview<br />
Prognostics<br />
Distributed<br />
Computing<br />
Technology<br />
Data<br />
Acquisition<br />
Traditional<br />
Sensor<br />
Smart Sensor<br />
Decision<br />
Support<br />
Presentation
ARL<br />
Penn State<br />
Slide 3<br />
Typical <strong>Condition</strong> <strong>Based</strong><br />
<strong>Maintenance</strong> System Design
ARL<br />
Penn State<br />
Slide 4<br />
Complex<br />
System Complex<br />
System<br />
Data<br />
Acquisition<br />
Passive/<br />
Smart Sensor<br />
Array<br />
S1<br />
S2<br />
.<br />
.<br />
.<br />
SN<br />
Data<br />
Manipulation<br />
- Pre-processing<br />
- Feature<br />
Extraction<br />
- Signal<br />
Charact.<br />
i<br />
<strong>Condition</strong><br />
Monitor<br />
- Thresholds<br />
- Fuzzy Logic<br />
CBM Systems<br />
Typical CBM System Design:<br />
Health<br />
Assessment<br />
- Component<br />
Specific<br />
Feature<br />
Extraction<br />
- Anomaly &<br />
Diagnostic<br />
Reasoners<br />
Prognostics<br />
- Feature-<strong>Based</strong><br />
Prognostics<br />
- Model-<strong>Based</strong><br />
Prognostics<br />
Physical Models<br />
Automatic<br />
Decision<br />
Reasoning<br />
- Data<br />
Fusion<br />
- Classifier<br />
- Response<br />
Generator<br />
Mission Plans<br />
Human -<br />
Computer<br />
Interface
ARL<br />
Penn State<br />
Slide 5<br />
Complex<br />
System Complex<br />
System<br />
Data<br />
Acquisition<br />
Passive/<br />
Smart Sensor<br />
Array<br />
S1<br />
S2<br />
.<br />
.<br />
.<br />
SN<br />
Data<br />
Manipulation<br />
- Pre-processing<br />
- Feature<br />
Extraction<br />
- Signal<br />
Charact.<br />
General<br />
Concerns:<br />
i<br />
<strong>Condition</strong><br />
Monitor<br />
- Thresholds<br />
- Fuzzy Logic<br />
Health<br />
Assessment<br />
- Component<br />
Specific<br />
Feature<br />
Extraction<br />
- Anomaly &<br />
Diagnostic<br />
Reasoners<br />
CBM Systems<br />
• Complex design<br />
• Propriety algorithms<br />
• Large amounts of data<br />
• Inflexible designs<br />
Prognostics<br />
- Feature-<strong>Based</strong><br />
Prognostics<br />
- Model-<strong>Based</strong><br />
Prognostics<br />
Physical Models<br />
Automatic<br />
Decision<br />
Reasoning<br />
- Data<br />
Fusion<br />
- Classifier<br />
- Response<br />
Generator<br />
Mission Plans<br />
Human -<br />
Computer<br />
Interface
ARL<br />
Penn State<br />
Slide 6<br />
Complex<br />
System Complex<br />
System<br />
Data<br />
Acquisition<br />
Passive/<br />
Smart Sensor<br />
Array<br />
S1<br />
S2<br />
.<br />
.<br />
.<br />
SN<br />
Data<br />
Manipulation<br />
- Pre-processing<br />
- Feature<br />
Extraction<br />
- Signal<br />
Charact.<br />
i<br />
<strong>Condition</strong><br />
Monitor<br />
- Thresholds<br />
- Fuzzy Logic<br />
CBM Systems<br />
Resulting in“Black Box” and<br />
“Stove Pipe” Solutions:<br />
Health<br />
Assessment<br />
- Component<br />
Specific<br />
Feature<br />
Extraction<br />
- Anomaly &<br />
Diagnostic<br />
Reasoners<br />
Prognostics<br />
- Feature-<strong>Based</strong><br />
Prognostics<br />
- Model-<strong>Based</strong><br />
Prognostics<br />
Physical Models<br />
Automatic<br />
Decision<br />
Reasoning<br />
- Data<br />
Fusion<br />
- Classifier<br />
- Response<br />
Generator<br />
Mission Plans<br />
Human -<br />
Computer<br />
Interface
ARL<br />
Penn State<br />
Slide 7<br />
OSA-CBM Development Team
ARL<br />
Penn State<br />
Slide 8<br />
OSA-CBM Development Team<br />
• 2001 - 2 year DUST program sponsored by ONR<br />
and PEO Carriers:<br />
– The Office of Naval Research under research grant<br />
number: N00014-00-1-0155 OSA-CBM Boeing DUST<br />
• Numerous team members and contributors:<br />
Boeing, Caterpillar, Rockwell Automation, Penn<br />
State/ARL, Newport News, Oceana Sensor<br />
Technologies, Rockwell Scientific, MIMOSA, RLW,<br />
…
ARL<br />
Penn State<br />
Slide 9<br />
OSA-CBM Focus<br />
<strong>Open</strong> System <strong>Architecture</strong> <strong>for</strong> <strong>Condition</strong> <strong>Based</strong> <strong>Maintenance</strong><br />
• Goals of the OSA-CBM program:<br />
– Define and Development open standards <strong>for</strong> distributed<br />
<strong>Condition</strong> <strong>Based</strong> <strong>Maintenance</strong><br />
– Define an open architecture not exclusive to any specific<br />
hardware implementations, operating systems, or software<br />
technology<br />
• Software <strong>Architecture</strong> Description<br />
– Define classical CBM functions and behavior<br />
– Define module interfaces<br />
– Developed multiple middleware implementations
ARL<br />
Penn State<br />
Slide 10<br />
System<br />
Developer/Engineer:<br />
Project Manager:<br />
OEM / Company:<br />
Customer:<br />
Why OSA-CBM?<br />
• Only one non-priority interface to learn<br />
• Standardized in<strong>for</strong>mation exchange methods<br />
• Reduce integration issues<br />
• Increased security<br />
• Remote module instantiation<br />
• Broad choose of technologies<br />
• Reduce time-to-market<br />
• Increase profit margins<br />
• Scalability, upgradability, and<br />
interchangeability<br />
• Broader supplier community<br />
• Increased market competition resulting in<br />
decreased prices
ARL<br />
Penn State<br />
Slide 11<br />
OSA-CBM <strong>Architecture</strong>
ARL<br />
Penn State<br />
Slide 12<br />
<strong>Open</strong> System <strong>Architecture</strong> <strong>for</strong><br />
<strong>Condition</strong> <strong>Based</strong> <strong>Maintenance</strong><br />
• Standardized architecture<br />
<strong>for</strong> health and condition<br />
monitoring systems<br />
• Breaks monitoring system<br />
into functional layers<br />
• OSA-CBM standard<br />
defines I/O <strong>for</strong> each<br />
processing layer<br />
• Promotes scalability and<br />
upgradability<br />
• Modules not confined to<br />
one locale<br />
• Middleware technology<br />
independent<br />
• www.osacbm.org
ARL<br />
Penn State<br />
Slide 14<br />
Components of the<br />
OSA-CBM Framework
ARL<br />
Penn State<br />
Slide 15<br />
EP 1 EP 2<br />
Component<br />
EP 1 EP 2<br />
Component<br />
Generic Component Description<br />
EP 1 EP 2<br />
Component<br />
EP 1 EP 2<br />
Component<br />
OSA-CBM Software Components<br />
… implement the functionality of<br />
individual layers of the architecture<br />
… communicate in a client/server<br />
relationship<br />
… have EntryPoints that serve the<br />
in<strong>for</strong>mation needs of specific clients<br />
… provide access to synchronized data<br />
channel sets and to background<br />
in<strong>for</strong>mation through their interfaces
ARL<br />
Penn State<br />
Slide 16<br />
Interfaces<br />
- ReqXXData<br />
• GetXXData<br />
- GetXXExplanation<br />
- GetXXConfig<br />
EP 1 EP 2<br />
Component<br />
Generic Component Description<br />
Interface Descriptions<br />
Request Data: prompts a measurement or<br />
calculation update<br />
Get Data: returns dynamic measurement<br />
data or a calculated result to the client<br />
Get Explanation: returns a data structure<br />
which describes the input data and data<br />
trans<strong>for</strong>mation processes used in the<br />
calculation of the associated output data set<br />
Get Config.: returns static in<strong>for</strong>mation<br />
about the monitoring system and the<br />
monitored system configuration
ARL<br />
Penn State<br />
Slide 17<br />
<strong>Condition</strong> Monitor Module<br />
CM<br />
Configuration<br />
INI File<br />
OSA-CBM data model supports:<br />
Synchronous, Asynchronous,<br />
Service, and Subscription transfers<br />
OSA-CBM Implementation<br />
(5) Notify (3) Notify<br />
(6) Access (4) Access<br />
Data Manipulation Module<br />
(1) RequestData (2) RequestData<br />
DM<br />
Configuration<br />
INI File<br />
Data Acquisition Module<br />
DA<br />
Configuration<br />
INI File
ARL<br />
Penn State<br />
Slide 18<br />
OSA-CBM Models
ARL<br />
Penn State<br />
Slide 19<br />
Top Level UML Model<br />
util::MIMExtType<br />
+id : MIMKey3<br />
ProcStrType<br />
-child<br />
InPort<br />
-parent 0..1<br />
0..*<br />
MeasLocType<br />
1<br />
0..*<br />
0..*<br />
0..1<br />
-type<br />
0..*<br />
0..*<br />
-inPort<br />
Function -func<br />
+userTag : String<br />
-name : String<br />
0..*<br />
AlgPort<br />
+id : RemoteKey<br />
0..1<br />
PortType<br />
Asset<br />
-child<br />
-by<br />
AssetType<br />
+source<br />
0..*<br />
-outPort<br />
-portType<br />
0..*<br />
0..*<br />
0..1<br />
-serialNo : String<br />
1..*<br />
OutPort<br />
+lastUpdate : OSACBMTime<br />
-dataType : String<br />
-parent<br />
Item<br />
+id : MIMKey2<br />
+userTag : String<br />
1..*<br />
1<br />
0..*<br />
+outPort<br />
-dataEvent<br />
-topItem<br />
Algorithm<br />
+id : RemoteKey<br />
-name : String<br />
-version : String<br />
1<br />
+outPort<br />
0..1<br />
1<br />
+outPort<br />
1..* 1<br />
0..1<br />
-synchEvts 1..*<br />
DataEventSet<br />
+time : OSACBMTime<br />
1..*<br />
1..*<br />
+algorithm<br />
DataEvent<br />
+confid : Double<br />
0..*<br />
OSA-CBM UML Models<br />
+dataEvent<br />
-dataEvent<br />
OutPortSet<br />
1<br />
1<br />
0..1<br />
-eventSet<br />
Segment<br />
-segmGroup : Boolean<br />
SegmentType<br />
«singleton»<br />
Module<br />
1<br />
1..*<br />
+entryPoints<br />
EntryPoint<br />
+entryPtType : String<br />
1<br />
+expl<br />
1<br />
+outPortSet<br />
+eventData<br />
-type<br />
0..1<br />
Explanation<br />
1..*<br />
0..*<br />
0..1<br />
1<br />
-expl<br />
+EP<br />
EventData<br />
1..*<br />
+inputEP<br />
-expl<br />
0..*<br />
da<br />
measEv propEv<br />
dm cm ha pa<br />
data<br />
Organized in general, utility,<br />
and layer packages<br />
RED - Associated classes are exposed by<br />
the data interface<br />
GREEN - Associated classes are exposed<br />
by the explanation<br />
interface<br />
BLUE - Associated classes are exposed by<br />
the configuration interface<br />
BLACK - Associations which are utilized<br />
by all interfaces (common<br />
concepts)<br />
VIOLET - Represents a relationship<br />
between data elements<br />
which is not represented<br />
by the OSACBM<br />
interfaces.<br />
util
ARL<br />
Penn State<br />
Slide 20<br />
OSA-CBM UML Models<br />
UML Modules<br />
top – Top Module, Common Classes<br />
da – Data Acquisition Module<br />
dm – Data Manipulation Module<br />
sd – State Detection Module<br />
ha – Health Assessment Module<br />
pa – Prognostics Assessment Module<br />
ag – Advisory Generation Module<br />
measEv – Measurement Event Module<br />
propEv – Proposed Event Module<br />
data – Data Module<br />
util – Utility Module
ARL<br />
Penn State<br />
Slide 21<br />
UML<br />
enum EntryPointType {<br />
da, dm, cm, ha, pa, ds, other<br />
};<br />
Manual<br />
Conversion<br />
/* Entry point. */<br />
interface EntryPoint {<br />
/* Identification of OSA/CBM layer. */<br />
EntryPointType entryPtType;<br />
/* The set of ports served by this entry point. */<br />
[data] [config] [expl] [async]<br />
OutPortSet outPortSet;<br />
/* Explanation of what sources were used by this module <strong>for</strong> its output. */<br />
[expl]<br />
[optional] Explanation expl;<br />
};<br />
AIDL<br />
Abstract Interface<br />
Document Language<br />
Tags:<br />
• Interface<br />
[data][config]<br />
[expl][org]<br />
UML<br />
syntax<br />
• Class Type<br />
[abstract]<br />
• Multiplicity<br />
[sequence]<br />
[optional]<br />
AIDL Equivalent<br />
1 no optional tag, no sequence<br />
0..1 optional tag, no sequence<br />
1..* no optional tag, sequence<br />
0..* optional tag, sequence
ARL<br />
Penn State<br />
Slide 22<br />
UML<br />
enum EntryPointType {<br />
da, dm, cm, ha, pa, ds, other<br />
}; enum EntryPointType {<br />
da, dm, cm, ha, pa, ds, other<br />
/* Entry }; point. enum */ EntryPointType {<br />
interface EntryPoint da, dm, { cm, ha, pa, ds, other<br />
/* /* Identification Entry }; point. enum<br />
of */ OSA/CBM<br />
EntryPointType<br />
layer. */<br />
{<br />
interface EntryPoint EntryPointType<br />
da, dm, { cm, ha,<br />
entryPtType;<br />
pa, ds, other<br />
/* The /* set /* Identification Entry of ports<br />
}; point. served of */ OSA/CBM by this entry layer. point. */ */<br />
[data] [config] interface [expl] EntryPoint EntryPointType [async] { entryPtType;<br />
/* The /* set OutPortSet<br />
/* Identification Entry COM/DCOM<br />
of COM/DCOM<br />
ports point. served of */ OSA/CBM outPortSet; by this entry layer. point. */ */<br />
/* Explanation [data] [config] interface<br />
of what [expl] sources<br />
EntryPoint EntryPointType [async] were<br />
{<br />
used by entryPtType; this module <strong>for</strong> its output. */<br />
[expl] /* The /* set OutPortSet Identification of ports served of OSA/CBM outPortSet; by this entry layer. point. */ */<br />
[optional] /* Explanation [data] Explanation [config] of what expl; [expl] sources EntryPointType [async] were used by entryPtType; this module <strong>for</strong> its output. */<br />
}; [expl] /* The set OutPortSet of ports served outPortSet; by this entry point. */<br />
[optional] /* Explanation [data] Explanation [config] of what expl; [expl] sources [async] were used by this module <strong>for</strong> its output. */<br />
}; [expl]<br />
OutPortSet outPortSet;<br />
[optional] /* Explanation Explanation of what expl; sources were used by this module <strong>for</strong> its output. */<br />
}; [expl]<br />
[optional] Explanation expl;<br />
};<br />
enum EntryPointType {<br />
da, dm, cm, ha, pa, ds, other<br />
};<br />
AIDL<br />
/* Entry point. */<br />
interface EntryPoint {<br />
/* Identification of OSA/CBM layer. */<br />
EntryPointType entryPtType;<br />
/* The set of ports served by this entry point. */<br />
[data] [config] [expl] [async]<br />
OutPortSet outPortSet;<br />
/* Explanation of what sources were used by this module <strong>for</strong> its output. */<br />
[expl]<br />
[optional] Explanation expl;<br />
};<br />
enum EntryPointType {<br />
da, dm, cm, ha, pa, ds, other<br />
}; enum EntryPointType {<br />
da, dm, cm, ha, pa, ds, other<br />
/* Entry }; point. enum */ EntryPointType {<br />
interface EntryPoint da, dm, { cm, ha, pa, ds, other<br />
/* /* Identification Entry }; point. enum<br />
of */ OSA/CBM<br />
EntryPointType<br />
layer. */<br />
{<br />
interface EntryPoint EntryPointType<br />
da, dm, { cm, ha,<br />
entryPtType;<br />
pa, ds, other<br />
/* The /* set /* Identification Entry of ports<br />
}; point. served of */ OSA/CBM by this entry layer. point. */ */<br />
[data] [config] interface [expl] EntryPoint EntryPointType [async] { entryPtType;<br />
/* The /* set OutPortSet<br />
/* Identification Entry of ports point. served of */ OSA/CBM CORBA<br />
outPortSet; by this entry layer. point. */ */<br />
/* Explanation [data] [config] interface<br />
of what [expl] sources<br />
EntryPoint EntryPointType [async] were<br />
{<br />
used by entryPtType; this module <strong>for</strong> its output. */<br />
[expl] /* The /* set OutPortSet Identification of ports served of OSA/CBM outPortSet; by this entry layer. point. */ */<br />
[optional] /* Explanation [data] Explanation [config] of what expl; [expl] sources EntryPointType [async] were used by entryPtType; this module <strong>for</strong> its output. */<br />
}; [expl] /* The set OutPortSet of ports served outPortSet; by this entry point. */<br />
[optional] /* Explanation [data] Explanation [config] of what expl; [expl] sources [async] were used by this module <strong>for</strong> its output. */<br />
}; [expl]<br />
OutPortSet outPortSet;<br />
[optional] /* Explanation Explanation of what expl; sources were used by this module <strong>for</strong> its output. */<br />
}; [expl]<br />
[optional] Explanation expl;<br />
};<br />
AIDL<br />
AIDL provides the<br />
mechanism <strong>for</strong> porting<br />
to any Middleware<br />
Technologies<br />
Middleware Technologies<br />
enum EntryPointType {<br />
da, dm, cm, ha, pa, ds, other<br />
}; enum EntryPointType {<br />
da, dm, cm, ha, pa, ds, other<br />
/* Entry }; point. enum */ EntryPointType {<br />
interface EntryPoint da, dm, { cm, ha, pa, ds, other<br />
/* /* Identification Entry }; point. enum<br />
of */ OSA/CBM<br />
EntryPointType<br />
layer. */<br />
{<br />
interface EntryPoint EntryPointType<br />
da, dm, { cm, ha,<br />
entryPtType;<br />
pa, ds, other<br />
/* The /* set /* Identification Entry of ports<br />
}; point. served of */ OSA/CBM by this entry layer. point. */ */<br />
[data] [config] interface [expl] EntryPoint EntryPointType [async] XSD { entryPtType;<br />
/* The /* set OutPortSet<br />
/* Identification Entry of ports point. XSD using<br />
served of */ using<br />
OSA/CBM outPortSet; by this entry layer. point. */ */<br />
/* Explanation [data] [config] interface<br />
of what [expl] sources<br />
EntryPoint EntryPointType [async] were<br />
{<br />
used by entryPtType; this module <strong>for</strong> its output. */<br />
[expl] /* The /* set OutPortSet Identification of ports served of OSA/CBM outPortSet; by this entry layer. point. */ */<br />
[optional] /* Explanation [data] Explanation [config] of what expl; [expl] sources EntryPointType [async] were used by entryPtType; this module <strong>for</strong> its output. */<br />
}; [expl] /* Web The set OutPortSet of ports served outPortSet; by Services<br />
this entry point. */<br />
[optional] /* Explanation [data] Explanation [config] of what expl; [expl] sources [async] were used by this module <strong>for</strong> its output. */<br />
}; [expl]<br />
OutPortSet outPortSet;<br />
[optional] /* Explanation Explanation of what expl; sources were used by this module <strong>for</strong> its output. */<br />
}; [expl]<br />
[optional] Explanation expl;<br />
};
ARL<br />
Penn State<br />
Slide 23<br />
Middleware Technologies
ARL<br />
Penn State<br />
Slide 24<br />
Applications<br />
Data<br />
Acquisition<br />
Endsystem<br />
Data<br />
Manipulation<br />
<strong>Condition</strong><br />
Monitor<br />
Middleware Technology<br />
Health<br />
Assessment<br />
Applications<br />
Decision<br />
Support<br />
Domain-Specific Services<br />
Common Services<br />
Distribution Middleware<br />
Infrastructure Middleware<br />
COM/DCOM, CORBA, SOAP, JAVA-RMI,…<br />
}<br />
Benefits<br />
•Hide underlying complexity,<br />
•Share common services,<br />
•Synchronize program execution,<br />
•Balance system load,<br />
•Real-time solutions,<br />
•Cross-language, and<br />
•Cross-plat<strong>for</strong>m support<br />
Domain-Specific Services<br />
Common Services<br />
Distribution Middleware<br />
Infrastructure Middleware<br />
Wired/Wireless Networks<br />
Prognostic<br />
Assessment<br />
Middleware Middleware<br />
Operating System Operating System<br />
}<br />
Distributed Computing ‘Glue’<br />
Software layer between application and<br />
communication networking layer<br />
Endsystem
ARL<br />
Penn State<br />
Slide 25<br />
Middleware Technologies<br />
CORBA<br />
– Common Object Request Broker <strong>Architecture</strong><br />
(CORBA) is the Object Management Group's<br />
answer to the need <strong>for</strong> interoperability among the<br />
rapidly proliferating number of hardware and<br />
software products available today.<br />
– Introduced CORBA 1.1 in 1991<br />
– The OMG's CORBA is a specification, not a<br />
software implementation of a middleware.<br />
– Real-time version available
ARL<br />
Penn State<br />
Slide 26<br />
Middleware Technologies<br />
COM/DCOM<br />
– Component Object Model (COM)/ Distributed<br />
Component Object Model (DCOM) is a Microsoft<br />
Technology to replace Object Linking and<br />
Embedding (OLE) and Dynamic Data Exchange<br />
(DDE).<br />
– DCOM emerged to address COM's shortcomings in<br />
supporting remote components. DCOM is an<br />
extension to COM that allows networked<br />
interaction between two programs even if they are<br />
written in different programming languages.
ARL<br />
Penn State<br />
Slide 27<br />
Benefits of COM/DCOM<br />
• Increased Security<br />
• Remote Module Instantiation<br />
• Standardized In<strong>for</strong>mation<br />
Exchange<br />
• Client Control (lifetime, termination,<br />
Reference,...)<br />
• Internal Pinging Mechanism<br />
COM/DCOM Interfaces:<br />
• requestOutPortSet(id, sink)<br />
• notifyOutPortSet(id, data)<br />
• getTaskStatus(Seconds)<br />
• getExpl(expl)<br />
Use of ID’s:<br />
• Allow flexible/tailored design<br />
• Control how data is updated<br />
• Control how data is processed<br />
COM/DCOM<br />
Sink and Data Pointers:<br />
• Allows asynchronous<br />
communication between<br />
modules<br />
• Contains relevant in<strong>for</strong>mation<br />
about the data: Time, Eng.<br />
Units, Confid., asset and<br />
organizational info…
ARL<br />
Penn State<br />
Slide 28<br />
Gearbox Prognostic<br />
Application<br />
COM/DCOM<br />
Modules Developed:<br />
• DA<br />
• DM<br />
• CM<br />
• HA<br />
• PA<br />
• PL<br />
COM/DCOM
ARL<br />
Penn State<br />
Slide 29<br />
XML over HTTP<br />
Middleware Technologies<br />
– XML (eXtensible Markup Language) is not a<br />
middleware technology, it is simply a userdefinable<br />
data <strong>for</strong>mat<br />
– However, XML may be used with any networking<br />
technology <strong>for</strong> data transfer.<br />
– Tag structure <strong>for</strong>mat similar to HTML<br />
– XML started in 1996 and has been a World Wide<br />
Web Consortium (W3C) recommendation since<br />
February 1998<br />
– Use SOAP or Web Services to transfer data
ARL<br />
Penn State<br />
Slide 30<br />
SOAP Interfaces:<br />
• requestData(request)<br />
• <strong>for</strong>ceNewData(request)<br />
• getAvailableData(request)<br />
XML over SOAP<br />
Benefits of using SOAP<br />
• Plat<strong>for</strong>m Independence<br />
• Language Independence<br />
• Reduced Network<br />
Restrictions<br />
(uses port 80)<br />
• Standardized In<strong>for</strong>mation<br />
Exchange
ARL<br />
Penn State<br />
Slide 31<br />
OSA-CBM Design Flexibility
ARL<br />
Penn State<br />
Slide 32<br />
OSA-CBM Design Examples
ARL<br />
Penn State<br />
Slide 33<br />
Engine<br />
Monitoring<br />
Hardware<br />
<strong>Maintenance</strong> In<strong>for</strong>mation Backbone (MIB)<br />
Example<br />
MIB Demonstration System<br />
MIB Software
ARL<br />
Penn State<br />
Slide 34<br />
OSA-CBM Design Examples
ARL<br />
Penn State<br />
Slide 35<br />
MIMOSA (OSA-CBM) Website
ARL<br />
Penn State<br />
Slide 36<br />
WWW.OSACBM.ORG<br />
WWW.MIMOSA.ORG<br />
OSA-CBM Website<br />
• Documents and<br />
Presentations<br />
• OSA-CBM Models<br />
• UML<br />
• AIDL<br />
• COM/DCOM IDL<br />
• CORBA IDL<br />
• XML Schema<br />
• Training Material<br />
• Developer’s Tools<br />
and Example Code<br />
• Real-time Demo<br />
• Glossary<br />
• Useful References
ARL<br />
Penn State<br />
Slide 37<br />
• This work was supported by:<br />
Acknowledgements<br />
– The Office of Naval Research under research grant<br />
number: N00014-00-1-0155 OSA-CBM Boeing DUST<br />
• OSA/CBM team members and contributors<br />
include: Boeing, Caterpillar, Rockwell Automation,<br />
Penn State, Newport News, Oceana Sensor<br />
Technologies, Rockwell Scientific, MIMOSA…
ARL<br />
Penn State<br />
Slide 38<br />
OSA-CBM: OSA CBM: An <strong>Open</strong><br />
System <strong>Architecture</strong> <strong>for</strong><br />
Machinery Monitoring<br />
Structural Health Monitoring COE Inaugural Meeting<br />
– April 13 th 2007 -<br />
Contact at ARL<br />
Mitchell Lebold<br />
814.865.8958 (voice)<br />
814.863.0673 (Fax)<br />
Lebold@psu.edu<br />
http://www.arl.psu.edu
ARL<br />
Penn State<br />
Slide 39<br />
Backup Slides
ARL<br />
Penn State<br />
Slide 40<br />
MIMOSA and OSA-CBM<br />
MIMOSA is a standard <strong>for</strong> data exchange between<br />
Asset Management systems<br />
OSA-CBM is a specification <strong>for</strong> transactions<br />
between components within a <strong>Condition</strong>-<strong>Based</strong><br />
<strong>Maintenance</strong> system<br />
util::EngUnit<br />
0..1<br />
0..1<br />
-amplEU<br />
-xAxisEU<br />
0..*<br />
0..*<br />
-daAmpl<br />
-daXAxis<br />
WaveForm<br />
+xAxisDelta : Double<br />
#value : Double<br />
-xAxisStart : Double<br />
top::EventData<br />
DAEventData<br />
BLOB<br />
-MEvBlobType<br />
0..*<br />
1<br />
util::MIMExtType<br />
+id : MIMKey3<br />
0..1<br />
+data<br />
1<br />
MEventBlobType<br />
data::BLOB<br />
+contentType : Mime<br />
#data : byte<br />
• The core of the OSA-CBM standard is the<br />
Object Oriented data model, defined using<br />
UML (Unified Modeling Language) syntax<br />
• The OSA-CBM UML data model is a<br />
mapping of key concepts from the MIMOSA<br />
CRIS with extensions <strong>for</strong> diagnostics,<br />
prognostics and data transactions