SlideShare a Scribd company logo
1 of 5
Download to read offline
Model-based GUI testing using Uppaal at
NOVO Nordisk
Ulrik H. Hjort2
, Jacob Illum1
, Kim G. Larsen1
, Michael A. Petersen2
, and
Arne Skou1
1
Department of Computer Science, Aalborg University, Denmark
2
NOVO Nordisk A/S, Hillerød, Denmark
Abstract. This paper details a collaboration between Aalborg Univer-
sity and NOVO Nordisk in developing an automatic model-based test
generation tool for system testing of the graphical user interface of a
medical device on an embedded platform. The tool takes as input an
UML Statemachine model and generates a test suite satisfying some
testing criterion, such as edge or state coverage, and converts the in-
dividual test case into a scripting language that can be automatically
executed against the target. The tool has significantly reduced the time
required for test construction and generation, and reduced the number
of test scripts while increasing the coverage.
1 Introduction
Model-based development (MBD), [5], is a recent and very promising approach
to industrial software development addressing the increasingly complex world
of making correct and timely software. Although originally developed for gen-
eral software systems, MBD has demonstrated great potential within embedded
system and in particular safety critical systems for which failures after field de-
ployment are unacceptable, either due to the catastrophic consequences of such
failures or the impossibility of updating the software after deployment. MBD
techniques address these problems by working with precise mathematical mod-
els of the software system and using these models for e.g., formal verification of
correctness, automatic code generation, and/or automatic test generation.
The benefits from working with models are numerous: Models are easier to
communicate and more precise than textual specifications; models allow for fast
prototyping as models can be simulated effortlessly; correctness of the model can
be established mathematically; with automatic code generation, manual labor is
minimizes assuring faster time to market and less bugs.
The world of model checking has always been a strong proponent for building
models and specifications for hardware and software systems and the research
field is offering many methods for establishing model correctness. Recently, algo-
rithms and methods from model checking have been extended to other types of
model analysis such as automatic controller synthesis, [4, 6], and optimal plan-
ning and scheduling, [1, 3]. The latter turns out to be particularly applicable for
automatic test suite generation, as finding a smallest possible test suite satisfying
some coverage criteria is, simply, a planning or scheduling problem.
In this paper, we describe the development of a tool chain for adapting model-
based model checking, planning and scheduling techniques to the application
of automatic test suite generation. The technology underlying the tool chain
is provided by Aalborg University, who with their widely recognized model-
checking tool Uppaal, [2], has made numerous significant contribution to the
field of model checking. The case for the tool chain is testing graphical user
interfaces on an embedded platform and provided by the large Danish health care
company NOVO Nordisk A/S. Worldwide, NOVO Nordisk employs more than
27,000 employees spread over 81 countries. NOVO Nordisk is a world leader in
diabetes care, but their business areas also stretch into haemostasis management,
growth hormone therapy and hormone replacement therapy.
The remainder of the paper is structured as follow: In Section 2 we pro-
vide a short introduction to Uppaal. In Section 3 we detail the case for the
collaboration, and we finally conclude with our experiences from this work.
2 The Uppaal model checker
Uppaal is a tool for design, simulation and model checking (formal verification)
of real-time systems modeled as networks of timed automata extended with
discrete datatypes and user-defined functions. Based on more than a decade of
research, Uppaal provides very efficient algorithms and symbolic datastructures
for analysing such models.
Since the release of Uppaal in the mid-nineties, several variants have emerged,
realizing the strength of both timed automata as a modeling language for real-
time behavior and the efficiency of Uppaal’s symbolic model checking engine.
Such variants include3
:
– Uppaal Tiga: Automatic synthesis of controllers for real-time systems. The
modeler provides a model of the environment together with a model of all
possible behavior of the controller. Using the model and providing a control
objective, Uppaal Tiga is able to automatically synthesis a controller that
guarantees the objective.
– Uppaal Cora: Optimization engine for resource-constrained problems such
as planning and scheduling problems. Given a resource-constrained problem
with many potential solutions, Uppaal Cora is able to find the optimal or
swiftly generate near-optimal solutions to the problem.
– Uppaal Tron: Engine for online testing of real-time systems. Online testing
differs from regular testing in the sense that the model of the systems is
executed in parallel to actual system implementation. The purpose of the
executing model is to stimulate the implementation with legal inputs and
observe the behavior to establish whether the implementation adheres to the
model.
3
All the tools are available from http://www.uppaal.com
– Uppaal Pro: Analysis of real-time systems showing probabilistic behavior.
Uppaal Pro takes as input a model of a real-time system with uncertainty
and is able compute the probability of the model satisfying some criterion.
– Times: Schedulability analysis of real-time systems. Times is able to estab-
lish schedulability of task and resource systems where the tasks are modeled
as timed automata.
3 The Case Study: GUI Testing
The purpose of this collaborative work between Aalborg University and NOVO
Nordisk has been to develop a test generation tool for system testing of graphical
user interfaces using the Uppaal model checking tool.
The company is developing the hardware and software of an embedded de-
vice for medical purposes. This device has a graphical user interface to receive
instructions from and provide feedback to the user. The software department
at NOVO Nordisk has the assignment of system testing the GUI to determine
whether all interactions work appropriately and that the expected information is
displayed on the screen. The specification of the behavior is traditionally made
in Microsoft Visio to provide a graphical representation that can be used in the
review process as well as for implementation.
The process for the system testers is to look at the Visio drawings and man-
ually generate a set of test cases that cover the behavior of the GUI and validate
that the output is correct. These tests need to be reviewed and accepted, be-
fore they are finally converted to a scripting language that can automatically be
executed against the platform. This process is depicted on the left of Figure 1.
1. Model GUI structure
using MS Visio
2. Manually design covering
test cases
3. Review test cases 4. Generate test cases
in scripting language
5. Execute tests
1. Model GUI structure in
Rational Systems Developer
as UML Statemachines
2. Export model to
XMI format
3. Covert UML model
to Uppaal model
4. Automatically generate
test suite according to
coverage criteria using Uppaal
5. Export tests to
scripting language
6. Execute tests
Fig. 1. Old (left) and new (right) testing process.
This approach has a number of drawbacks, namely, that 1) manual creation
of test cases is tedious, 2) establishing whether the test cases do in fact cover
the model is difficult, 3) changes to the model require the entire process to be
repeated.
By introducing model-based testing in this process, we can alleviate these
drawbacks by removing the manual task of test generation and test review,
knowing that the output of the automatic process is mathematically guaranteed
to cover the model. And finally, since the technology is fully automated, changes
to the model are reflected in the test cases by the push of a button.
To ease the transition to model-based GUI specifications, we have chosen
UML Statemachines as an input model since 1) UML is an establish standard
familiar to most developers and thus requires minimal re-education, 2) NOVO
Nordisk has the software infrastructure in place to support the building of UML
models, 3) the UML Statemachine notion is very similar to the current Visio
models thus maintaining the current validation process.
To accommodate this choice, it has been necessary to adapt Uppaal to accept
UML Statemachine models. This has been accomplished by using the XML-like
UML exchange format called XMI, which is converted into a Uppaal model.
The engines of Uppaal and Uppaal Cora are then applied to the models and
used to generate a test suite with either edge or state coverage. The resulting
test cases are, finally, converted into the scripting language that can be executed
on the target. This new process is depicted to the right of Figure 1.
4 Conclusion
Using the automated testing tool has reduced the time used on test construction
from upwards of 30 days to 3 days spent modelling and then a few minutes on
actual test generation. The benefits extend into the specification process, as the
model structure is used for specifications and later refined with action code to
allow for automatic test generation. This removes the process of keeping specifi-
cations and test models consistent, an otherwise tedious and error-prone process.
Furthermore, the testing tool has decreased the number of test case while at the
same time increasing and guaranteeing full model coverage. The automatically
generated test scripts have uncovered a number of bugs in the software, even
“difficult” bugs that can be hard to detect, since the test generation process
makes no assumptions about how the system should be used; something testers
have a tendency to do.
The company has experienced that creating usable models for test generation
requires time, however, once the model has been generated making changes,
extensions, and doing maintenance is easy. Finally, the fact that specification
changes are immediately reflected in the test suite has proved extremely helpful.
In conclusion, the collaboration has been very successful and beneficial to
both company and university.
References
1. G. Behrmann, E. Brinksma, M. Hendriks, and A. Mader. Scheduling lacquer produc-
tion by reachability analysis – a case study. In Workshop on Parallel and Distributed
Real-Time Systems 2005, pages 140–. IEEE Computer Society, 2005.
2. Gerd Behrmann, Alexandre David, and Kim G. Larsen. A tutorial on UPPAAL. In
Formal Methods for the Design of Real-Time Systems, volume 3185 of LNCS, pages
200–236. Springer, 2004.
3. Gerd Behrmann, Kim G. Larsen, and Jacob I. Rasmussen. Optimal scheduling
using priced timed automata. ACM SIGMETRICS Perform. Eval. Rev., 32(4):34–
40, 2005.
4. Franck Cassez, Jan J. Jessen, Kim G. Larsen, Jean-Fran¸cois Raskin, and Pierre-
Alain Reynier. Automatic synthesis of robust and optimal controllers - an industrial
case study. In HSCC, volume 5469 of LNCS, pages 90–104. Springer, 2009.
5. David S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Com-
puting. John Wiley & Sons, 2003.
6. Jan Jakob Jessen, Jacob Illum Rasmussen, Kim Guldstrand Larsen, and Alexandre
David. Guided controller synthesis for climate controller using uppaal tiga. In
FORMATS, volume 4763 of LNCS, pages 227–240. Springer, 2007.

More Related Content

What's hot

Unit 3 Control Flow Testing
Unit 3   Control Flow TestingUnit 3   Control Flow Testing
Unit 3 Control Flow Testingravikhimani
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A SurveyIRJET Journal
 
Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Gregory Solovey
 
Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...eSAT Publishing House
 
Calibration and validation model (Simulation )
Calibration and validation model (Simulation )Calibration and validation model (Simulation )
Calibration and validation model (Simulation )Rajan Kandel
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V pkaviya
 
Control Flow Testing
Control Flow TestingControl Flow Testing
Control Flow TestingHirra Sultan
 
Thetheoryofsoftwaretesting
ThetheoryofsoftwaretestingThetheoryofsoftwaretesting
ThetheoryofsoftwaretestingPiyushMehta57
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...Chakkrit (Kla) Tantithamthavorn
 
Analysis of 3-D Model in ANSYS 9.0 by Java Program and Macros Using Interlink...
Analysis of 3-D Model in ANSYS 9.0 by Java Program and Macros Using Interlink...Analysis of 3-D Model in ANSYS 9.0 by Java Program and Macros Using Interlink...
Analysis of 3-D Model in ANSYS 9.0 by Java Program and Macros Using Interlink...IDES Editor
 
Testing parallel programs
Testing parallel programsTesting parallel programs
Testing parallel programsPVS-Studio
 
LusRegTes: A Regression Testing Tool for Lustre Programs
LusRegTes: A Regression Testing Tool for Lustre Programs LusRegTes: A Regression Testing Tool for Lustre Programs
LusRegTes: A Regression Testing Tool for Lustre Programs IJECEIAES
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven AutomationPankaj Goel
 
UFT Automation Framework Introduction
UFT Automation Framework IntroductionUFT Automation Framework Introduction
UFT Automation Framework IntroductionHimal Bandara
 
Integration testing complete overview
Integration testing complete overviewIntegration testing complete overview
Integration testing complete overviewTestingXperts
 
Evaluating SRGMs for Automotive Software Project
Evaluating SRGMs for Automotive Software ProjectEvaluating SRGMs for Automotive Software Project
Evaluating SRGMs for Automotive Software ProjectRAKESH RANA
 
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONSDYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONSijesajournal
 
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Lionel Briand
 

What's hot (20)

Unit 3 Control Flow Testing
Unit 3   Control Flow TestingUnit 3   Control Flow Testing
Unit 3 Control Flow Testing
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 
Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test
 
Unit 2 unit testing
Unit 2   unit testingUnit 2   unit testing
Unit 2 unit testing
 
Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...
 
Calibration and validation model (Simulation )
Calibration and validation model (Simulation )Calibration and validation model (Simulation )
Calibration and validation model (Simulation )
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
 
Control Flow Testing
Control Flow TestingControl Flow Testing
Control Flow Testing
 
Thetheoryofsoftwaretesting
ThetheoryofsoftwaretestingThetheoryofsoftwaretesting
Thetheoryofsoftwaretesting
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
 
Analysis of 3-D Model in ANSYS 9.0 by Java Program and Macros Using Interlink...
Analysis of 3-D Model in ANSYS 9.0 by Java Program and Macros Using Interlink...Analysis of 3-D Model in ANSYS 9.0 by Java Program and Macros Using Interlink...
Analysis of 3-D Model in ANSYS 9.0 by Java Program and Macros Using Interlink...
 
Testing parallel programs
Testing parallel programsTesting parallel programs
Testing parallel programs
 
LusRegTes: A Regression Testing Tool for Lustre Programs
LusRegTes: A Regression Testing Tool for Lustre Programs LusRegTes: A Regression Testing Tool for Lustre Programs
LusRegTes: A Regression Testing Tool for Lustre Programs
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven Automation
 
UFT Automation Framework Introduction
UFT Automation Framework IntroductionUFT Automation Framework Introduction
UFT Automation Framework Introduction
 
Rv11
Rv11Rv11
Rv11
 
Integration testing complete overview
Integration testing complete overviewIntegration testing complete overview
Integration testing complete overview
 
Evaluating SRGMs for Automotive Software Project
Evaluating SRGMs for Automotive Software ProjectEvaluating SRGMs for Automotive Software Project
Evaluating SRGMs for Automotive Software Project
 
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONSDYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
DYNAMUT: A MUTATION TESTING TOOL FOR INDUSTRY-LEVEL EMBEDDED SYSTEM APPLICATIONS
 
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
 

Viewers also liked

Integrated Web Recommendation Model with Improved Weighted Association Rule M...
Integrated Web Recommendation Model with Improved Weighted Association Rule M...Integrated Web Recommendation Model with Improved Weighted Association Rule M...
Integrated Web Recommendation Model with Improved Weighted Association Rule M...ijdkp
 
Data mining for the masses, Chapter 6, Using R as an alternative to Rapidminer
Data mining for the masses, Chapter 6, Using R as an alternative to RapidminerData mining for the masses, Chapter 6, Using R as an alternative to Rapidminer
Data mining for the masses, Chapter 6, Using R as an alternative to RapidminerUlrik Hørlyk Hjort
 
An efficient intrusion detection using relevance vector machine
An efficient intrusion detection using relevance vector machineAn efficient intrusion detection using relevance vector machine
An efficient intrusion detection using relevance vector machineIAEME Publication
 
Partners with nature v3
Partners with nature v3Partners with nature v3
Partners with nature v3Ecotrust
 
Resilience report spreads2
Resilience report spreads2Resilience report spreads2
Resilience report spreads2Ecotrust
 
Model-based GUI testing using UPPAAL
Model-based GUI testing using UPPAALModel-based GUI testing using UPPAAL
Model-based GUI testing using UPPAALUlrik Hørlyk Hjort
 
ODD EVEN BASED BINARY SEARCH
ODD EVEN BASED BINARY SEARCHODD EVEN BASED BINARY SEARCH
ODD EVEN BASED BINARY SEARCHIAEME Publication
 

Viewers also liked (8)

Integrated Web Recommendation Model with Improved Weighted Association Rule M...
Integrated Web Recommendation Model with Improved Weighted Association Rule M...Integrated Web Recommendation Model with Improved Weighted Association Rule M...
Integrated Web Recommendation Model with Improved Weighted Association Rule M...
 
Data mining for the masses, Chapter 6, Using R as an alternative to Rapidminer
Data mining for the masses, Chapter 6, Using R as an alternative to RapidminerData mining for the masses, Chapter 6, Using R as an alternative to Rapidminer
Data mining for the masses, Chapter 6, Using R as an alternative to Rapidminer
 
An efficient intrusion detection using relevance vector machine
An efficient intrusion detection using relevance vector machineAn efficient intrusion detection using relevance vector machine
An efficient intrusion detection using relevance vector machine
 
Partners with nature v3
Partners with nature v3Partners with nature v3
Partners with nature v3
 
Resilience report spreads2
Resilience report spreads2Resilience report spreads2
Resilience report spreads2
 
Model-based GUI testing using UPPAAL
Model-based GUI testing using UPPAALModel-based GUI testing using UPPAAL
Model-based GUI testing using UPPAAL
 
ODD EVEN BASED BINARY SEARCH
ODD EVEN BASED BINARY SEARCHODD EVEN BASED BINARY SEARCH
ODD EVEN BASED BINARY SEARCH
 
Ijmet 07 06_005
Ijmet 07 06_005Ijmet 07 06_005
Ijmet 07 06_005
 

Similar to Model-based GUI testing using Uppaal at NOVO Nordisk

EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODELEXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODELijaia
 
Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...cscpconf
 
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...KIIT
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
Minimal Testcase Generation for Object-Oriented Software with State Charts
Minimal Testcase Generation for Object-Oriented Software with State ChartsMinimal Testcase Generation for Object-Oriented Software with State Charts
Minimal Testcase Generation for Object-Oriented Software with State Chartsijseajournal
 
Automatic Test Generation for Space
Automatic Test Generation for SpaceAutomatic Test Generation for Space
Automatic Test Generation for SpaceUlisses Costa
 
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks IJECEIAES
 
Introduction to networks simulation
Introduction to networks simulationIntroduction to networks simulation
Introduction to networks simulationahmed L. Khalaf
 
MBT_Installers_Dev_Env
MBT_Installers_Dev_EnvMBT_Installers_Dev_Env
MBT_Installers_Dev_EnvChris Struble
 
Test Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment ToolTest Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment ToolUniversity of Antwerp
 
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATION
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATIONTRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATION
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATIONijseajournal
 
IRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
IRJET- Use of Simulation in Different Phases of Manufacturing System Life CycleIRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
IRJET- Use of Simulation in Different Phases of Manufacturing System Life CycleIRJET Journal
 
Gui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paperGui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paperIzzat Alsmadi
 
Model-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime InconsistenciesModel-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime InconsistenciesDaniel Lehner
 
2. leiviskä k (1996) simulation in pulp and paper industry. february 1996
2. leiviskä k (1996) simulation in pulp and paper industry. february 19962. leiviskä k (1996) simulation in pulp and paper industry. february 1996
2. leiviskä k (1996) simulation in pulp and paper industry. february 1996Huy Nguyen
 
A WORKSPACE SIMULATION FOR TAL TR-2 ARTICULATED ROBOT
A WORKSPACE SIMULATION FOR TAL TR-2 ARTICULATED ROBOT A WORKSPACE SIMULATION FOR TAL TR-2 ARTICULATED ROBOT
A WORKSPACE SIMULATION FOR TAL TR-2 ARTICULATED ROBOT IAEME Publication
 
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...ijseajournal
 

Similar to Model-based GUI testing using Uppaal at NOVO Nordisk (20)

EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODELEXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
 
Q44098893
Q44098893Q44098893
Q44098893
 
Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...Generation and Optimization of Test cases for Object-Oriented Software Using ...
Generation and Optimization of Test cases for Object-Oriented Software Using ...
 
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Minimal Testcase Generation for Object-Oriented Software with State Charts
Minimal Testcase Generation for Object-Oriented Software with State ChartsMinimal Testcase Generation for Object-Oriented Software with State Charts
Minimal Testcase Generation for Object-Oriented Software with State Charts
 
Automatic Test Generation for Space
Automatic Test Generation for SpaceAutomatic Test Generation for Space
Automatic Test Generation for Space
 
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
 
Introduction to networks simulation
Introduction to networks simulationIntroduction to networks simulation
Introduction to networks simulation
 
MBT_Installers_Dev_Env
MBT_Installers_Dev_EnvMBT_Installers_Dev_Env
MBT_Installers_Dev_Env
 
Test Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment ToolTest Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment Tool
 
50120140502017
5012014050201750120140502017
50120140502017
 
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATION
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATIONTRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATION
TRANSFORMING SOFTWARE REQUIREMENTS INTO TEST CASES VIA MODEL TRANSFORMATION
 
IRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
IRJET- Use of Simulation in Different Phases of Manufacturing System Life CycleIRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
IRJET- Use of Simulation in Different Phases of Manufacturing System Life Cycle
 
Gui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paperGui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paper
 
Model-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime InconsistenciesModel-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime Inconsistencies
 
2. leiviskä k (1996) simulation in pulp and paper industry. february 1996
2. leiviskä k (1996) simulation in pulp and paper industry. february 19962. leiviskä k (1996) simulation in pulp and paper industry. february 1996
2. leiviskä k (1996) simulation in pulp and paper industry. february 1996
 
A WORKSPACE SIMULATION FOR TAL TR-2 ARTICULATED ROBOT
A WORKSPACE SIMULATION FOR TAL TR-2 ARTICULATED ROBOT A WORKSPACE SIMULATION FOR TAL TR-2 ARTICULATED ROBOT
A WORKSPACE SIMULATION FOR TAL TR-2 ARTICULATED ROBOT
 
10.1.1.9.5971 (1)
10.1.1.9.5971 (1)10.1.1.9.5971 (1)
10.1.1.9.5971 (1)
 
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
PROPOSING AUTOMATED REGRESSION SUITE USING OPEN SOURCE TOOLS FOR A HEALTH CAR...
 

Recently uploaded

Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 

Recently uploaded (20)

Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 

Model-based GUI testing using Uppaal at NOVO Nordisk

  • 1. Model-based GUI testing using Uppaal at NOVO Nordisk Ulrik H. Hjort2 , Jacob Illum1 , Kim G. Larsen1 , Michael A. Petersen2 , and Arne Skou1 1 Department of Computer Science, Aalborg University, Denmark 2 NOVO Nordisk A/S, Hillerød, Denmark Abstract. This paper details a collaboration between Aalborg Univer- sity and NOVO Nordisk in developing an automatic model-based test generation tool for system testing of the graphical user interface of a medical device on an embedded platform. The tool takes as input an UML Statemachine model and generates a test suite satisfying some testing criterion, such as edge or state coverage, and converts the in- dividual test case into a scripting language that can be automatically executed against the target. The tool has significantly reduced the time required for test construction and generation, and reduced the number of test scripts while increasing the coverage. 1 Introduction Model-based development (MBD), [5], is a recent and very promising approach to industrial software development addressing the increasingly complex world of making correct and timely software. Although originally developed for gen- eral software systems, MBD has demonstrated great potential within embedded system and in particular safety critical systems for which failures after field de- ployment are unacceptable, either due to the catastrophic consequences of such failures or the impossibility of updating the software after deployment. MBD techniques address these problems by working with precise mathematical mod- els of the software system and using these models for e.g., formal verification of correctness, automatic code generation, and/or automatic test generation. The benefits from working with models are numerous: Models are easier to communicate and more precise than textual specifications; models allow for fast prototyping as models can be simulated effortlessly; correctness of the model can be established mathematically; with automatic code generation, manual labor is minimizes assuring faster time to market and less bugs. The world of model checking has always been a strong proponent for building models and specifications for hardware and software systems and the research field is offering many methods for establishing model correctness. Recently, algo- rithms and methods from model checking have been extended to other types of model analysis such as automatic controller synthesis, [4, 6], and optimal plan- ning and scheduling, [1, 3]. The latter turns out to be particularly applicable for
  • 2. automatic test suite generation, as finding a smallest possible test suite satisfying some coverage criteria is, simply, a planning or scheduling problem. In this paper, we describe the development of a tool chain for adapting model- based model checking, planning and scheduling techniques to the application of automatic test suite generation. The technology underlying the tool chain is provided by Aalborg University, who with their widely recognized model- checking tool Uppaal, [2], has made numerous significant contribution to the field of model checking. The case for the tool chain is testing graphical user interfaces on an embedded platform and provided by the large Danish health care company NOVO Nordisk A/S. Worldwide, NOVO Nordisk employs more than 27,000 employees spread over 81 countries. NOVO Nordisk is a world leader in diabetes care, but their business areas also stretch into haemostasis management, growth hormone therapy and hormone replacement therapy. The remainder of the paper is structured as follow: In Section 2 we pro- vide a short introduction to Uppaal. In Section 3 we detail the case for the collaboration, and we finally conclude with our experiences from this work. 2 The Uppaal model checker Uppaal is a tool for design, simulation and model checking (formal verification) of real-time systems modeled as networks of timed automata extended with discrete datatypes and user-defined functions. Based on more than a decade of research, Uppaal provides very efficient algorithms and symbolic datastructures for analysing such models. Since the release of Uppaal in the mid-nineties, several variants have emerged, realizing the strength of both timed automata as a modeling language for real- time behavior and the efficiency of Uppaal’s symbolic model checking engine. Such variants include3 : – Uppaal Tiga: Automatic synthesis of controllers for real-time systems. The modeler provides a model of the environment together with a model of all possible behavior of the controller. Using the model and providing a control objective, Uppaal Tiga is able to automatically synthesis a controller that guarantees the objective. – Uppaal Cora: Optimization engine for resource-constrained problems such as planning and scheduling problems. Given a resource-constrained problem with many potential solutions, Uppaal Cora is able to find the optimal or swiftly generate near-optimal solutions to the problem. – Uppaal Tron: Engine for online testing of real-time systems. Online testing differs from regular testing in the sense that the model of the systems is executed in parallel to actual system implementation. The purpose of the executing model is to stimulate the implementation with legal inputs and observe the behavior to establish whether the implementation adheres to the model. 3 All the tools are available from http://www.uppaal.com
  • 3. – Uppaal Pro: Analysis of real-time systems showing probabilistic behavior. Uppaal Pro takes as input a model of a real-time system with uncertainty and is able compute the probability of the model satisfying some criterion. – Times: Schedulability analysis of real-time systems. Times is able to estab- lish schedulability of task and resource systems where the tasks are modeled as timed automata. 3 The Case Study: GUI Testing The purpose of this collaborative work between Aalborg University and NOVO Nordisk has been to develop a test generation tool for system testing of graphical user interfaces using the Uppaal model checking tool. The company is developing the hardware and software of an embedded de- vice for medical purposes. This device has a graphical user interface to receive instructions from and provide feedback to the user. The software department at NOVO Nordisk has the assignment of system testing the GUI to determine whether all interactions work appropriately and that the expected information is displayed on the screen. The specification of the behavior is traditionally made in Microsoft Visio to provide a graphical representation that can be used in the review process as well as for implementation. The process for the system testers is to look at the Visio drawings and man- ually generate a set of test cases that cover the behavior of the GUI and validate that the output is correct. These tests need to be reviewed and accepted, be- fore they are finally converted to a scripting language that can automatically be executed against the platform. This process is depicted on the left of Figure 1. 1. Model GUI structure using MS Visio 2. Manually design covering test cases 3. Review test cases 4. Generate test cases in scripting language 5. Execute tests 1. Model GUI structure in Rational Systems Developer as UML Statemachines 2. Export model to XMI format 3. Covert UML model to Uppaal model 4. Automatically generate test suite according to coverage criteria using Uppaal 5. Export tests to scripting language 6. Execute tests Fig. 1. Old (left) and new (right) testing process. This approach has a number of drawbacks, namely, that 1) manual creation of test cases is tedious, 2) establishing whether the test cases do in fact cover the model is difficult, 3) changes to the model require the entire process to be repeated. By introducing model-based testing in this process, we can alleviate these drawbacks by removing the manual task of test generation and test review,
  • 4. knowing that the output of the automatic process is mathematically guaranteed to cover the model. And finally, since the technology is fully automated, changes to the model are reflected in the test cases by the push of a button. To ease the transition to model-based GUI specifications, we have chosen UML Statemachines as an input model since 1) UML is an establish standard familiar to most developers and thus requires minimal re-education, 2) NOVO Nordisk has the software infrastructure in place to support the building of UML models, 3) the UML Statemachine notion is very similar to the current Visio models thus maintaining the current validation process. To accommodate this choice, it has been necessary to adapt Uppaal to accept UML Statemachine models. This has been accomplished by using the XML-like UML exchange format called XMI, which is converted into a Uppaal model. The engines of Uppaal and Uppaal Cora are then applied to the models and used to generate a test suite with either edge or state coverage. The resulting test cases are, finally, converted into the scripting language that can be executed on the target. This new process is depicted to the right of Figure 1. 4 Conclusion Using the automated testing tool has reduced the time used on test construction from upwards of 30 days to 3 days spent modelling and then a few minutes on actual test generation. The benefits extend into the specification process, as the model structure is used for specifications and later refined with action code to allow for automatic test generation. This removes the process of keeping specifi- cations and test models consistent, an otherwise tedious and error-prone process. Furthermore, the testing tool has decreased the number of test case while at the same time increasing and guaranteeing full model coverage. The automatically generated test scripts have uncovered a number of bugs in the software, even “difficult” bugs that can be hard to detect, since the test generation process makes no assumptions about how the system should be used; something testers have a tendency to do. The company has experienced that creating usable models for test generation requires time, however, once the model has been generated making changes, extensions, and doing maintenance is easy. Finally, the fact that specification changes are immediately reflected in the test suite has proved extremely helpful. In conclusion, the collaboration has been very successful and beneficial to both company and university. References 1. G. Behrmann, E. Brinksma, M. Hendriks, and A. Mader. Scheduling lacquer produc- tion by reachability analysis – a case study. In Workshop on Parallel and Distributed Real-Time Systems 2005, pages 140–. IEEE Computer Society, 2005. 2. Gerd Behrmann, Alexandre David, and Kim G. Larsen. A tutorial on UPPAAL. In Formal Methods for the Design of Real-Time Systems, volume 3185 of LNCS, pages 200–236. Springer, 2004.
  • 5. 3. Gerd Behrmann, Kim G. Larsen, and Jacob I. Rasmussen. Optimal scheduling using priced timed automata. ACM SIGMETRICS Perform. Eval. Rev., 32(4):34– 40, 2005. 4. Franck Cassez, Jan J. Jessen, Kim G. Larsen, Jean-Fran¸cois Raskin, and Pierre- Alain Reynier. Automatic synthesis of robust and optimal controllers - an industrial case study. In HSCC, volume 5469 of LNCS, pages 90–104. Springer, 2009. 5. David S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Com- puting. John Wiley & Sons, 2003. 6. Jan Jakob Jessen, Jacob Illum Rasmussen, Kim Guldstrand Larsen, and Alexandre David. Guided controller synthesis for climate controller using uppaal tiga. In FORMATS, volume 4763 of LNCS, pages 227–240. Springer, 2007.