Transcript Slide 0

Model Based Software Engineering:
Hardware virtualisation for testing
Mark van den Brand
Software Engineering and Technology
Research area and mission of SET
• The research area of SET is software engineering,
and model-based software engineering in particular.
• Given the high-tech software-intensive industry in the
Eindhoven region, SET considers time- and cost-efficient
development of high-quality software as crucial.
• The mission of SET consists in developing methods
and tools for time- and cost-efficient development
and evolution of high-quality software systems: from
inception, through development and maintenance, to
phase out.
/ Faculteit Wiskunde en Informatica
18-7-2015
PAGE 1
Observations
• High-tech industry develop both hardware and
(control) software
•
•
•
•
wafer steppers
printers
medical systems
logistic systems
• Development of hard- and software are not in sync:
• software development often starts after finishing the
hardware
• Testing is expensive
/ Faculteit Wiskunde en Informatica
18-7-2015
PAGE 2
Example
• VirtualProto project:
• Goal “Virtualization of wafer handler”
• Started 4 years ago with MSc assignments of 5 Manipal
students
• Theme of KWR project “VirtualProto”
• Continued with OOTI assignment of Ernest Lobo and postdoc
(Loek Cleophas) directly funded by ASML
• Recent publication:
Nagy, I., Cleophas, L.G.W.A., Brand, M.G.J. van den, Engelen, L.J.P.,
Raulea, L.V. & Lobo, E.M.X. (2012). VPDSL : a DSL for software in
the loop simulations covering material flow. Proceedings of the 17th
IEEE International Conference on Engineering of Complex
Computer Systems (ICECCS 2012, Paris, France, July 18-20, 2012).
/ Faculteit Wiskunde en Informatica
18-7-2015
PAGE 3
VPDSL
• Early testing and integration
• Software tested on range from real machine to SW simulators
• Objectives:
Shorten lifecycle of functional testing and qualification
Optimize costs in relation to qualification effort
expensive
inexpensive
Functional completeness
•
•
Proto
real robots, optics,…
Test Rig
Test Bench
DevBench
Availability
/ Faculteit
PAGE
4 Wiskunde en Informatica
simulation based
18-7-2015
VPDSL
Software in a Loop Simulation
test cases
Software
actuators, sensors
test cases
real function calls to
influence actuators,
query sensors
Software
replies on sensor
values and positions,
with realistic data
Simulators
TWINSCAN
/ Faculteit
PAGE
5 Wiskunde en Informatica
18-7-2015
VPDSL
How to build a Wafer Flow Simulator?
?
…try to re-create a virtual replica of the real world…
Actuators
Sensors
/ Faculteit
PAGE
6 Wiskunde en Informatica
Holders
Transportable
Material
Operator
Interactions
…
18-7-2015
VPDSL
How to build a Wafer Flow Simulator?
• Error scenarios
?
…however, the real world usually does not “behave” perfectly…
Error-injection Scenarios in Simulation
Position Sensors
Transfer without
wafer displacement
Transfer with
wafer displacement
Wafer
Presence
Sensor
/ Faculteit
PAGE
7 Wiskunde en Informatica
18-7-2015
VPDSL
• Design workflow
Specify VPDSL model
Eclipse-based
Xtext DSL
editor
X LoC
Generate simulation code
Eclipse-based
Xtend/Xpand
DSL to C++
12*X LoC
(8*X model-dependent)
Integrate simulation code
with control software
/ Faculteit
PAGE
8 Wiskunde en Informatica
Technologies in target code:
•Boost state machines
•Geometry library
•ASML sw. facilities
18-7-2015
VPDSL
• Runtime workflow
Initialize control
software with simulator
Initialize injector
Read injector
configuration file
Control
Software
Wafer
Flow Simulator
Robot1
actuated to
{r1,phi1,z1}
Wait for event
from control software
Inject error
[yes]
if(evCheckError)
[no]
[yes]
Check fault rules
if(satisfied)
[no]
Wafer displacement injection
during transfer
Displaced
Wafer
Actuated
Peripheral
Light beam
sensor
Fixed
Peripheral
18-7-2015
/ Faculteit Wiskunde en Informatica
PAGE 9
VPDSL
• Use for Progression Testing
• VPDSL + generator used for part of
Wafer Handler
• New control SW functionality to have robot correctly center slightly
displaced wafer while transferring it to load lock was developed
Control SW
detects eccentric
wafer, uses robot
to correct
• Integration with control SW showed bug in this new functionality
− Would have turned up during test on proto machine
− Saved costly testing time on machine
/ Faculteit
PAGE
10 Wiskunde en Informatica
18-7-2015
Project proposal idea
• Design of virtual machine components and
mapping to DSL concepts
• Application to other domains:
• printer (Oce)
• medical equipment (Philips)
• Using machine logs to replay error scenarios
• Checking of machine description with respect to
behavior properties
/ Faculteit Wiskunde en Informatica
18-7-2015
PAGE 11