The document discusses developing a global system for automated test applications using a plug-in architecture. It proposes:
1. Treating test applications as plug-ins that can be dynamically loaded into a framework. This would provide a unified interface and data storage.
2. Developing a test application template that abstracts the framework details and provides a standardized way for developers to create test plug-ins.
3. Using messaging and a factory pattern to allow communication between the framework and plug-ins that operate in different contexts.
The goal is to create a modular, reusable and user-friendly system for developing and running automated tests across different hardware and applications.
Presentation on how to chat with PDF using ChatGPT code interpreter
Global System for Automated Apps using Plug-Ins
1. Global System for Automated Applications
using Plug-Ins
Jarobit Pina Saez
2. Jarobit Pina Saez
User: JPina
Forum and Community
User: JPina
Write to me to:
jarobit.pinasaez@draeger.com
2 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
3. WHO ARE DRAEGER?
2010 – Category winner for Process
Innovation
2011 – Category winner for Logistics
and Operational efficiency
2012 – Overall Winner
2012 – Category winner for Financial
management
2012 – Logistics and Operational
Efficiency
3 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
4. INDEX
1. Introduction.
2. 1.1 Starting Point.
Demonstration.
1.2 Detected Issues.
3. 1.3 Goal. and system data.
Database
4. 1.4 Desired Solution.
Global System.
5. Test Application Template.
6. Thanks and Resources.
7. Questions.
4 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
5. 1. Introduction:
1.1 Starting Point.
o
Wh ned
ig
des test?
this
Can I
change
this HW
?
Wh
ere
sou is th
e
cod rce
e?
do I
How is
run th n?
ai
s t ag
te
Can I
modify t
his
Param?
5 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
How
long
take will
upda to
te
syste the
m?
What is
the SW
Rev.?
6. 1. Introduction:
1.2 Detected Issues.
•
Different Data Storage Systems:
•
Non existent data retrieval tool.
• Custom Stored Procedures.
• Lots of paper based data and chart plotting.
•
Not fully automated solutions and different test environments.
• Steep learning curves for the operators.
•
No tracking system in the production line (No poka-yoke).
6 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
7. 1. Introduction:
1.3 Goal.
• One database and management tool:
• One Test Environment:
• Unified data retrieval & analysis tool.
• Ability to track units in the production lines (Poka-Yoke).
7 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
8. 1. Introduction:
1.4 Proposed Solution.
Universal
One storage
system
Server based
code
Tracking
One
API
User Friendly
8 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
9. 1. Introduction:
1.4 Goal.
Could we treat our test/automation applications as “Plug –Ins”?
• Software component that adds a specific feature to an existing software
application. When an application supports plug-ins, it enables customization.
Framework:
Initialisation
Not OK?
OK?
Test Execution
Finished?
9 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
10. INDEX
1. Introduction.
2. Demonstration
3.Database and system data.
4.Framework.
5.Test Application Template.
6.Thanks and Resources.
7.Questions.
10 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
11. 2. Demonstration:
11 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
12. INDEX
1. Introduction.
2. Demonstration.
3. Database and system data.
3.1 Database.
4.Global System.
3.2 Test Application Data.
5.Test Application Template.
6.Thanks and Resources.
7.Questions.
12 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
13. 3. Database and system data:
3.1 Database
Test Report
Test Results
Test Cases Data
The system is based on a well designed and structured database
Operator
Product Data and Tracking
• Characteristics:
Device
+ Sr. Number
• A.C.I.D.
• Atomicity.
• Consistency.
Operator/Rights
Operations
Product
Hardware data
Test Bench
• Isolation.
• Durability.
Rights
TB Status
• Data normalisation.
TB Family
• Maintainable against futureHardware
requirements
Operator data
13 | 37
Fixture/Product
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
Fixture
14. 3. Test Application Data:
3.2 Test Application Data.
LVOOP
Test parameters:
• Test application constants, settings details, instruments O.P…
Test Limits:
• Test cases maximum and minimum possible value.
Hardware data:
• Devices’ address, serial numbers, etc.
Device under test data:
• Part number, serial number, name, etc.
14 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
15. INDEX
1. Introduction.
2. Demonstration.
3. Database and system data.
4. Global System.
4.1 System Overview.
5.Test System Problematic.
4.2 Application Template.
4.3 How to Resources.
6.Thanks and call unknown applications.
4.4 Messaging between contexts.
7.Questions.
15 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
16. 4. Global System:
4.1. System Overview.
Custom Menu (Events)
Buttons (Events)
Additional Info
Dynamic Window: (Subpanel)
•
•
•
•
•
•
•
DUT details.
Elapsed Test Time
Statistics.
YIELD.
User interaction.
Results display.
Test Applications (Plug-Ins).
UNKNOWN
SYSTEM
QDMH
QDSM
QDSM
Parallel process
Parallel process
Tracking Window:
•
•
Messages from the system
Messages from the dynamically
loaded application.
EDSM
16 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
Parallel process
17. 4. Global System:
4.2 System Challenge.
!!
!!
• The not possible to call unknown source codesolution
It is Packed Project Libraries provide with the
System Executable
OK!!!
ERROR!!!!
Dependencesare
Where included
Dynamically called
With the PPL (Compiled code)
the missing dependences?
Unknown source code
Dynamically called
VI in PPL
17 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
18. 4. Global System:
4.3 How to call unknown applications.
Problem!!
Context 1
Context 2 Generic Application
Entry point to customised
functions
Context 3
LVLIBP
Generic Application
• How do I build my executable without calling all the test applications
Attributes
Framework
Test Application
Solution!!
LVLIBP
Methods (Dynamic)
Test Application
Context 3
Context 2
• Plug-in Architecture using PackedInit Instruments
• Project Libraries by Michel Lacasse
Generic Application
Test Application
Attributes
Methods (Dynamic)
•Init Instruments
•Run
•Close Instr.
18 | 37
e
nc
ta
Ins
•Run
•Close Instr.
Factory pattern
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
Ch
ild
Attributes
of
Methods (Dynamic)
•Init Instruments
•Run
•Close Instr.
19. 4. Global System:
4.4 Messaging Between Contexts.
• Can I use common messaging tools?
In
st a
nc
e
f
Framework
o
ild
Ch
Generic Application
• Queues are context dependant.
LVLIBP
• Needed to drive sequences in the applications
Generic
• Classes are context dependant.
Application
Class
• They contain the test data.
• Events are “not” context dependant.
• Needed to send messages from the application to the system
Context 1
Context 3
• LVLIBPs create their own context
•
Generic
Application
So how
Class
LVLIBP
Test
can I communicate with my test application
Message
19 | 37
!
Test Application
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
Application
Class
You wish!!
20. INDEX
1. Introduction.
2. Demonstration.
3. Database and system data.
4. Global System.
5. Test Application Template.
5.1 Reasons and Objective.
5.Thanks and Resources.
5.2 Concept.
6.Questions.
20 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
21. 5. Test Application Template:
5.1 Reasons and Objective.
Reasons:
• Provide the other developers with a complete level of abstraction
from the framework
• Allow other programmers with lower LabVIEW knowledge to deploy
their test applications
• Provide the other developers with a “Stand Alone” environment.
• Avoid time loss programming the “Framework-Test Application” API
for each test application.
21 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
22. 5. Test Application Template:
5.1 Reasons and Objective.
Objective:
To do by developers
Provided
Framework
Process Events
Init
Instruments
Run Application
Close
Instruments
Process queue
TEMPLATE
22 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
23. 5. Test Application Template:
5.2 Concept.
TEMPLATE
Abort button
Pressed?
Takes the resources
to drive the instruments
Initialise
Instruments
Frees the resources
to drive the instruments
Test Application
Idle
Keeps the instruments
References alive
23 | 37
Check
Abort
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
Close
Instruments
24. INDEX
1. Introduction.
2. Demonstration.
3. Database and system data.
4. Global System.
5. Test Application Template.
6. Thanks and Resources.
7.Questions.
24 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
25. 7. Thanks.
Francisco Sáez who introduced me to the
engineering.
Fabiola de la Cueva for her unconditional support.
Michael Lacasse for coming out with the Plug In
architecture and his help.
Grant Heimbach who helped me to understand
how the application builder works.
For their support and confidence in me.
25 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
26. 7. Further Information.
• Resources:
• Advanced Architectures Courses.
• QDMH.
• APIs for Messaging
• Michael Lacasse’s “Plug-in Architecture using Packed
Project Libraries.”
• Plug-In Architecture using Packed Project Libraries.
• Grant Heimbach’s “Under the hood of the application
builder.”
• Under the hood of the application builder.
• LAVAg.org
• National Instruments Forum.
26 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
27. INDEX
1. Introduction.
2. Demonstration.
3. Database and system data.
4. Global System.
5. Test Application Template.
6. Thanks and Resources.
7. Questions.
27 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
28. 8. Questions.
QUESTIONS
Do you want to know more??
•Come to the CSLUG Meeting
•4th of December in Newbury
28 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
29. THANK YOU
Thank you for
your attention
29 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
30. Possible Questions:
Dynamic Window Thread.
Operator InfoData Name Operator ID
Test Bench
Product Rights and
DUT ID & Sr Number
It is basically a Request
repetitive sequence:
Server
Test
Bench
Data
Generic Application
Test
ClassBench
Data
Initialise
SM
Request
Operator
Data
t In
duc
Pro
Request
DUT
Data
Initialise
Test
Report
STATE MACHINE
Generic Application
Class
Close
Instruments
Exit
Parameters
& Limits
Download
Application
Test Application
Class
Show
Results
Upload
Application
Data
30 | 37
fo
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
Initialise
Instruments
Run
Application
31. Possible Questions
Messaging Between Contexts.
Context 2 Generic Application
LVLIBP
Context 1
Context 3
Context 2
Attributes
Methods (Static)
• Init QUEUE
• Enqueue
• Dequeue
• Close QUEUE
e
nc
ta
Ins
Methods (Static)
•Init QUEUE
•Enqueue
•Dequeue
•Close QUEUE
•Generate Event
Factory pattern
• Generate Event
•
•
31 | 37
Test Application
Attributes
•QUEUE Ref
•Event Ref
Create User Event
Register User Event
Generic Application
Test Application
Context 3
Generic Application
Framework
•
•
Door to our application
Attend to User Event
Close User Event
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
LVLIBP
Test Application
Ch
ild
of
Attributes
• QUEUE Ref
• Event Ref
Methods (Static)
•Init QUEUE
•Enqueue
•Dequeue
•Close QUEUE
•Generate Event
Methods (Static)
•QDSM
32. Possible Questions:
Messaging Between Contexts.
• Classes:
Context 2 Generic Application
Context 3
LVLIBP
are context dependant.
Generic
Test Application
Framework class is different in Application
• Same
2 different applications. LVLIBP
Attributes
Test Application
GenericParameters, limits, product information, test bench
Application
•
Methods
Attributes
Attributes
information.
Methods
Methods
• Data collected in the framework.
Instance
•Instance is application dependant.
Data
• Data is used and modified by the test applications.
Context Classes
• 1
Class To Cluster
(Method)
Different Classes
Cluster To Variant
32 | 37
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
Cluster To Class
(Method)
Variant To Cluster
33. 4. Global System:
4.3 How to call unknown applications.
Problem!!
Generic App
LVLIBP
• How do I build my executable without calling all the test applications ?
Generic
Application
Class
• Plug-in Architecture using Packed Project Libraries by Michel Lacasse
Test App
LVLIBP
Framework
Test
Generic
Application
Class
33 | 37
In
st
Generic App
LVLIBP
an
ce
s
In
clu
s
ld
de
hi
cl u
/C
In
nt
re
Pa
de
s
Solution!!
Factory Pattern
Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
Generic App
LVLIBP
Test
Application
Class