Convergence

563 views
532 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
563
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Convergence

  1. 1. Convergence of IQPT / XAPQT 03/24/10 Test
  2. 2. Radical Divergence - XAPQT vs IQPT 03/24/10 Test XAPQT (HRAPQT) IQPT
  3. 3. Radical Divergence - By the Numbers <ul><li>IQPT </li></ul><ul><li>Multiple Print Frequencies </li></ul><ul><li>Bi-Directions </li></ul><ul><li>4 Dual Pentium PCs & 1 Industrial PC </li></ul><ul><li>2 Large Images (50M Pixels) </li></ul><ul><li>Line Interfaces </li></ul><ul><ul><li>I-Blaster, Tarzan Intro, Cyborg, Tyborg </li></ul></ul><ul><li>XAPQT </li></ul><ul><li>Dual Print Frequency </li></ul><ul><li>Uni-Direction </li></ul><ul><li>2 Dual Pentium PCs </li></ul><ul><li>12 Small Images ( 300K Pixels) </li></ul><ul><li>1 Color Camera </li></ul><ul><li>Line Interfaces </li></ul><ul><ul><li>Lava, Tiger </li></ul></ul>03/24/10 Test <ul><li>Different Control Hardware & Sequence </li></ul><ul><li>Different Acquisition Hardware & Sequence </li></ul>
  4. 4. Hobbes (Tiger’s XAPQT) 03/24/10 Test
  5. 5. Pele / Wax (Lava’s XAPQT ) 03/24/10 Test
  6. 6. TIJ 3 Half Inch (I-Blaster’s IQPT) 03/24/10 Test
  7. 7. TIJ 3 One Inch (Tarzan Intro’s IQPT) 03/24/10 Test
  8. 8. Small vs Large Image 03/24/10 Test
  9. 9. What is Convergence? <ul><li>For the Q Software: </li></ul><ul><li>Same executable running on ALL tools </li></ul><ul><li>(XAPQT & IQPT) </li></ul><ul><li>Ability to run any algorithm on any tool </li></ul><ul><li>(XAPQT & IQPT) </li></ul>03/24/10 Test
  10. 10. Why Convergence ? <ul><li>Reduce / Eliminate redundant work </li></ul><ul><li>Enable flexible support & development staffing </li></ul><ul><li>Ensure customer quality </li></ul><ul><li>Encourage cross-site credibility </li></ul><ul><li>Prevent unfair yield practices </li></ul><ul><li>Decrease cost of qualification </li></ul><ul><li>Increase speed of evolution (synergy) </li></ul><ul><li>( From a conversation in DIMO November 1998 - some things take time! ) </li></ul>03/24/10 Test
  11. 11. History of End Of Line Testers <ul><li>1994 HRAPQT Developed for Formula 1, Canvas, & Tiger Lines </li></ul><ul><li>1995 Unique code on each HRAPQT </li></ul><ul><li>1995 I-Blaster improvements leveraged to TIJ 2.5 color </li></ul><ul><li>1996 I-Blaster code leveraged to Hercules & Tarzan </li></ul><ul><li>1997 I-Blaster Ready for Production </li></ul><ul><li>1999 I-Blaster code leveraged to Tiger </li></ul><ul><li>2000 XAPQT on Tiger / IQPT on I-Blaster </li></ul><ul><li>2001 XAPQT on Lava / IQPT on Tarzan </li></ul><ul><li>2010 All testers running same code </li></ul>03/24/10 Test XAPQT (HRAPQT)
  12. 12. How is Convergence Achieved ? <ul><li>Deny variation is necessary </li></ul><ul><ul><li>force one solution everywhere without exception </li></ul></ul><ul><li>Support “controlled” variations </li></ul><ul><ul><li>allow each solution to be “built” from a common set of configurable building blocks </li></ul></ul><ul><li>Convergence = Synergy </li></ul>03/24/10 Test
  13. 13. How is Convergence Kept? <ul><li>Lockup the tools so that nothing can change </li></ul><ul><li>Allow anyone to initiate change in a “controlled” fashion </li></ul><ul><li>Convergence = Synergy </li></ul>03/24/10 Test
  14. 14. Controlled Change <ul><li>Software changes must do nothing by default (i.e. a configuration file must be modified for the change to take effect) </li></ul><ul><li>Software changes must be tracked (i.e. a source control strategy is absolutely necessary) </li></ul><ul><li>All software changes must be tested (i.e official releases must be made available once tested) </li></ul>03/24/10 Test
  15. 15. IQPT Deployment Map 03/24/10 Test IQPT Monitor MAIN MFC UI NSK UI Component Image AnalyzerUI GUI Message Log Modeless Dialogs Message Logger Modeless Dialogs Data AnalyzerUI Image Analyzer Data Analyzer NSK Component SoftLogix OCX Vision Engine VEProcess VEDisplay VEAcquie PIE UI Component Focus Component Tool UI Component PIE Component Focus UI Component Tool Control Modeless Dialogs Modeless Dialogs Modeless Dialogs Modeless Dialogs Modeless Dialogs IqptMainDlg Key: User Interface PC Tool Control PC Vision PC On Each PC
  16. 16. IQPT Component Map 03/24/10 Test Key: IQPT Monitor MAIN MFC UI NSK UI Component Image AnalyzerUI GUI Message Log Modeless Dialogs Message Logger Modeless Dialogs Data AnalyzerUI Image Analyzer Data Analyzer NSK Component SoftLogix OCX Vision Engine VEProcess VEDisplay VEAcquie PIE UI Component Focus Component Tool UI Component PIE Component Focus UI Component Tool Control Modeless Dialogs Modeless Dialogs Modeless Dialogs Modeless Dialogs Modeless Dialogs IqptMainDlg Code Shared with XAPQT Code exclusive to IQPT
  17. 17. XAPQT Component Map 03/24/10 Test Key: XapqtMainUI MAIN MFC UI Starts and stops all components Image AnalyzerUI GUI Message Log Modeless Dialogs Message Logger Modeless Dialogs Data AnalyzerUI Image Analyzer Data Analyzer CimQuest Vision Engine VEProcess VEDisplay VEAcquie ApqtUI (Digital IO) Apqt Component Modeless Dialogs XapqtMainDlg Code Shared with IQPT Code Exclusive to XAPQT
  18. 18. Configurability Made Easy <ul><li>House </li></ul><ul><li>{ </li></ul><ul><li>House() </li></ul><ul><li>: nBedrooms(3), </li></ul><ul><li> nBathrooms(2), </li></ul><ul><li> nOther(3) </li></ul><ul><li>{ </li></ul><ul><li>} </li></ul><ul><li>int nRooms() </li></ul><ul><li>{ return nBedrooms + nBathrooms + nOther; } </li></ul><ul><li>int nBedrooms; </li></ul><ul><li>int nBathrooms; </li></ul><ul><li>int nOther; </li></ul><ul><li>}; </li></ul><ul><li>House : public abcConfigurable </li></ul><ul><li>{ </li></ul><ul><li>House() </li></ul><ul><li>: abcConfigurable(“house”), </li></ul><ul><li> nBedrooms( “numberOfBedrooms”, 3), </li></ul><ul><li> nBathrooms( “numberOfBathrooms”, 2), </li></ul><ul><li> nOther( “numberOfOtherRooms”, 3) </li></ul><ul><li>{ </li></ul><ul><li> nBedrooms.parent(this); </li></ul><ul><li> nBathrooms.parent(this); </li></ul><ul><li> nOther.parent(this); </li></ul><ul><li>} </li></ul><ul><li>int nRooms() </li></ul><ul><li>{ return nBedrooms + nBathrooms + nOther; } </li></ul><ul><li>ConfigParam< int > nBedrooms; </li></ul><ul><li>ConfigParam< int > nBathrooms; </li></ul><ul><li>ConfigParam< int > nOther; </li></ul><ul><li>}; </li></ul>03/24/10 Test
  19. 19. Configuration Comments <ul><li>House() </li></ul><ul><li>: abcConfigurable(“house”), </li></ul><ul><li> nBedrooms(“numberOfBedrooms”,3), </li></ul><ul><li> nBathrooms(“numberOfBathrooms”,2), </li></ul><ul><li> nOther(“numberOfOtherRooms”,3) </li></ul><ul><li>{ </li></ul><ul><li>nBedrooms.parent(this); </li></ul><ul><li>nBedrooms.AddComment(“must have a closet”); </li></ul><ul><li>nBathrooms.parent(this); </li></ul><ul><li>nBathrooms.AddComment(“include half baths”); </li></ul><ul><li>nOther.parent(this); </li></ul><ul><li>} </li></ul><ul><li>house = </li></ul><ul><li>( </li></ul><ul><li>/> must have a closet </li></ul><ul><li>numberOfBedrooms = 3 </li></ul><ul><li>// changed from 2 on Tuesday 15-May-2001 </li></ul><ul><li>// Support engineer’s comments go here and </li></ul><ul><li>// are not lost when the configuration is resaved! </li></ul><ul><li>/> include half baths </li></ul><ul><li>numberOfBathrooms = 2 </li></ul><ul><li>numberOfOtherRooms = 3 </li></ul><ul><li>) /* End of house */ </li></ul>03/24/10 Test C++ Code Configuration File
  20. 20. Visual Directory Comparison 03/24/10 Test
  21. 21. Current Installations <ul><li>Corvallis </li></ul><ul><ul><li>IQPT I-Blaster </li></ul></ul><ul><ul><li>Odo (Offline development) </li></ul></ul><ul><ul><li>XAPQT Lava </li></ul></ul><ul><li>San Diego </li></ul><ul><ul><li>IQPT Tarzan Intro </li></ul></ul><ul><ul><li>Odo (Offline development) </li></ul></ul><ul><li>Dublin </li></ul><ul><ul><li>XAPQT Tiger </li></ul></ul><ul><li>Singapore </li></ul><ul><ul><li>XAPQT Tiger </li></ul></ul>03/24/10 Test
  22. 22. Past Developers <ul><li>Bruce Johnson (PM) </li></ul><ul><li>George Radominski (PM) </li></ul><ul><li>Ken Tubbs (PM) </li></ul><ul><li>Sankar Chakrabarti </li></ul><ul><li>Warren Chism </li></ul><ul><li>Frank Demonte </li></ul><ul><li>Kim Mondelli </li></ul><ul><li>Gil Smith </li></ul><ul><li>Ed Walsh </li></ul><ul><li>Scott Carpenter </li></ul><ul><li>Mike Monroe </li></ul><ul><li>Tom Twigg </li></ul><ul><li>Marilyn Zuber </li></ul><ul><li>April Gilbert </li></ul>03/24/10 Test
  23. 23. Current Developers <ul><li>Ken Shaw (PM) </li></ul><ul><li>Nadeem Khan </li></ul><ul><li>Don Welch </li></ul><ul><li>Randy Stockberger </li></ul><ul><li>Deqing Hu </li></ul><ul><li>Yongsheng Liu </li></ul><ul><li>Guy Howard </li></ul><ul><li>David Collins </li></ul><ul><li>Paul Stieger </li></ul><ul><li>Brad Dixon (I-Blaster) </li></ul><ul><li>Shawn Gibson (Lava) </li></ul><ul><li>Ian Kelly (Tiger) </li></ul><ul><li>Raj Krishnan (Tiger) </li></ul><ul><li>Jorge Sanchez (Tarzan Intro) </li></ul><ul><li>Ed Dozier (Tarzan Intro) </li></ul>03/24/10 Test Convergence = Synergy

×