SlideShare a Scribd company logo
1 of 15
Download to read offline
Test-Driven Simulation Modelling (TDSM)
Bhakti Stephan Onggo
Department of Management Science
s.onggo@lancaster.ac.uk
• We propose a novel
technique for the verification
and validation of simulation
models
• The technique explicitly
embeds verification and
validation to simulation
modelling and it can be
implemented using standard
unit testing tools
• The proposed technique has
been tested on ABS (Agent-
Based Simulation) and DES
(Discrete-Event Simulation)
Summary
2
• Model verification and validation is an important activity in
simulation
• Verification: to check the correctness of a simulation model
against its conceptual model
• Validation: to build confidence that the model is adequate for its
intended use
• In an incremental model development, we need to make sure a new
addition to the model does not break the correctness and validity of
the earlier version of the model
• Iterative -> automate the verification and validation?
• Model documentation is a good practice, so does documentation
about how to verify and validate the model
• Accompany a model with its verification and validation cases
• It is especially important if a significant part of the model is written in
a programming language (e.g. Visual Logic, Java)
Why is our research important?
3
• Hence, the contributions of our work are
• Proposing a method to help with simulation model verification
and validation that can be automated using a software tool such
as a unit testing tool
• Our method promotes the principle of parsimony (incremental
model development)
• Our method encourages modellers to think about V&V early
• Our method promotes documenting verification and validation
cases of a simulation model
Why is our research important?
4
• Test-Driven Development (TDD) in
software engineering
• TDD is suitable for a software
development process that is
iterative, incremental and
evolutionary (such as simulation)
• Exploratory study on the use of
TDD as a simulation model
verification tool has been done
(Collier & Ozik, Asta et al. and
Onggo et al.)
• Similar approach to TDD has been
explored too (Gurcan et al., Niazzi
et al. and Thiele et al.)
Asta, S., E. Özcan, and P.-O.
Siebers. 2014.
Collier, N., and J. Ozik. 2013
Onggo, B.S.S., C. Indriany, and
M. Gunal. 2014
Gurcan, O., O. Dikenelli, C.
Bernon. 2013.
Niazzi M.A., A. Hussain, and
M. Kolberg. 2009
Thiele, J.C., Kurth, W., and
Grimm V. 2014.
Background
5
Method
• We extended TDD to cover model
validation and embed TDD into the
standard simulation modelling
process – we call this Test-Driven
Simulation Modelling (TDSM)
• For each verification or validation
case, we need to specify how the
model (or part of the model)
should behave
• A validation case may require the
model to be run multiple times to
build the confidence intervals
• Sensitivity analysis can be specified
in which a validation case will test
one point in the exploration space
6
Case 1: DES
• SharpSim - a general
purpose DES library
written in Visual
CSharp (C#)
• M/M/1 Queue
RUN ARRIVAL
START
SERVICE
END
SERVICE
ID = 1;
S = 2;
Customer c =
new Customer(ID);
edgeR_A.attribute = c;
eStart.queue.Add
(ev.evnt.parameter);
edgeA_S.attribute =
eStart.queue[0];
ID++;
Customer c =
new Customer(ID);
edgeA_A.attribute = c;
if (S > 0)
edgeA_S.condition = true;
else
edgeA_S.condition = false;
(S > 0)
∫
∫
(Q > 0)
eStart.queue
.RemoveAt(0);
S--;
edgeS_E.condition = true;
edgeS_E.attribute = c;
S++;
if (eStart.queue
.Count() == 0)
edgeE_S.condition = false;
else {
edgeE_S.condition = true;
edgeE_S.attribute =
eStart.queue[0];
}
Stats.Collect
ts
ta
ta
7
Case 1: DES Verification
Scenario 1: check correctness if
arrivals at 1, 2 and service time 4, 3
8
Case 1: DES Validation
Scenario 2: Validate the model by evaluating whether the expected waiting time from the
analytic model (i.e. 0.1922) is within the 95% confidence interval of the expected waiting
time from the simulation model
9
Case 2: ABS
• Agent-based maritime
search-operation
simulation (MASSIM) –
Onggo & Karatas
(Wintersim 2014)
• Various search
algorithms: random,
exhaustive, parallel,
creeping, etc.
• Detection functions:
deterministic, various
probabilistic functions
• Single searcher,
multiple searchers
10
Case 2: ABS Validation
Exhaustive search
Random search
11
Case 2: ABS Validation
Parallel search
12
• TDSM is a useful technique in the verification and validation of
simulation models
• TDSM works based on two principles:
• modellers should be guided by the knowledge of relevant
analytic models that are simpler and have known solutions
when they are building a complex model
• Modellers must think about how their model is going to be
verified and validated, even before they begin to develop the
model
• TDSM and other methods (Gurcan et al. 2013, Niazzi et al. 2009
and Thiele et al. 2014) aim to help modellers validate a simulation
model
• TDSM is useful for auto-verification or auto-validation of simulation
models
Conclusion
13
• Evaluate TDSM using an experiment with real modellers
• Find an optimum TDSM strategy that balances test coverage and
cost
• Model verification and validation is a combinatorial problem
• We need tool to evaluate the test cases (unit tests)
• A unit test can contain mistakes too!
• We need to embed TDSM components in a Visual Simulation
Modelling tool
• Get some feedback
Next steps/future work
14
References
• Onggo BSS and Karatas M. (2016) 'Test-driven
simulation modelling: A case study using agent-based
maritime search-operation simulation', European
Journal of Operational Research, 254 (2):517-531
• Onggo, B. S. S. , Indriany, C. & Gunal, M. (2014). Test-
driven simulation modelling. In A. Bruzzone, E. Çayırcı,
M. Günal, A. R. Kaylan, M. Massei, & C. Zanni-Merk
(Eds.), Proceedings of the 7th international workshop
on applied modeling and sim- ulation (WAMS14) (pp.
43–48). Turkey: Istanbul .
15

More Related Content

Similar to Test Driven Simulation Modelling

Simulation in Social Sciences - Lecture 6 in Introduction to Computational S...
Simulation in Social Sciences -  Lecture 6 in Introduction to Computational S...Simulation in Social Sciences -  Lecture 6 in Introduction to Computational S...
Simulation in Social Sciences - Lecture 6 in Introduction to Computational S...Lauri Eloranta
 
How much testing is enough
How much testing is enoughHow much testing is enough
How much testing is enoughReti Yulvenia
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniquesAshutosh Garg
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques2PiRTechnologies
 
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachClaudia Badell
 
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachTestingUy
 
'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015 'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015 Georgina Tilby
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for TestingSQALab
 
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...TEST Huddle
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For TestingTEST Huddle
 
Integrate Test Activities in Agile
Integrate Test Activities in AgileIntegrate Test Activities in Agile
Integrate Test Activities in AgileTEST Huddle
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using AxiomsSQALab
 
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010TEST Huddle
 
Innovation Experiment Systems Practices (ICSOB 2015)
Innovation Experiment Systems Practices (ICSOB 2015)Innovation Experiment Systems Practices (ICSOB 2015)
Innovation Experiment Systems Practices (ICSOB 2015)Teemu Karvonen
 
Integrate testing activities in Agile (EuroSTAR webinar)
Integrate testing activities in Agile (EuroSTAR webinar)Integrate testing activities in Agile (EuroSTAR webinar)
Integrate testing activities in Agile (EuroSTAR webinar)Rik Marselis
 
Chapter7 abm book_noha_nagi
Chapter7 abm book_noha_nagiChapter7 abm book_noha_nagi
Chapter7 abm book_noha_nagiNoha Nagi
 

Similar to Test Driven Simulation Modelling (20)

Simulation in Social Sciences - Lecture 6 in Introduction to Computational S...
Simulation in Social Sciences -  Lecture 6 in Introduction to Computational S...Simulation in Social Sciences -  Lecture 6 in Introduction to Computational S...
Simulation in Social Sciences - Lecture 6 in Introduction to Computational S...
 
How modeling and simulation help in testing and
How  modeling and simulation help in testing andHow  modeling and simulation help in testing and
How modeling and simulation help in testing and
 
How much testing is enough
How much testing is enoughHow much testing is enough
How much testing is enough
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques
 
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
 
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
 
'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015 'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for Testing
 
Measurement.pptx
 Measurement.pptx Measurement.pptx
Measurement.pptx
 
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
 
New model
New modelNew model
New model
 
A New Model For Testing
A New Model For TestingA New Model For Testing
A New Model For Testing
 
Integrate Test Activities in Agile
Integrate Test Activities in AgileIntegrate Test Activities in Agile
Integrate Test Activities in Agile
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
 
Innovation Experiment Systems Practices (ICSOB 2015)
Innovation Experiment Systems Practices (ICSOB 2015)Innovation Experiment Systems Practices (ICSOB 2015)
Innovation Experiment Systems Practices (ICSOB 2015)
 
Integrate testing activities in Agile (EuroSTAR webinar)
Integrate testing activities in Agile (EuroSTAR webinar)Integrate testing activities in Agile (EuroSTAR webinar)
Integrate testing activities in Agile (EuroSTAR webinar)
 
Chapter7 abm book_noha_nagi
Chapter7 abm book_noha_nagiChapter7 abm book_noha_nagi
Chapter7 abm book_noha_nagi
 
crossvalidation.pptx
crossvalidation.pptxcrossvalidation.pptx
crossvalidation.pptx
 

Recently uploaded

CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 

Recently uploaded (20)

VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 

Test Driven Simulation Modelling

  • 1. Test-Driven Simulation Modelling (TDSM) Bhakti Stephan Onggo Department of Management Science s.onggo@lancaster.ac.uk
  • 2. • We propose a novel technique for the verification and validation of simulation models • The technique explicitly embeds verification and validation to simulation modelling and it can be implemented using standard unit testing tools • The proposed technique has been tested on ABS (Agent- Based Simulation) and DES (Discrete-Event Simulation) Summary 2
  • 3. • Model verification and validation is an important activity in simulation • Verification: to check the correctness of a simulation model against its conceptual model • Validation: to build confidence that the model is adequate for its intended use • In an incremental model development, we need to make sure a new addition to the model does not break the correctness and validity of the earlier version of the model • Iterative -> automate the verification and validation? • Model documentation is a good practice, so does documentation about how to verify and validate the model • Accompany a model with its verification and validation cases • It is especially important if a significant part of the model is written in a programming language (e.g. Visual Logic, Java) Why is our research important? 3
  • 4. • Hence, the contributions of our work are • Proposing a method to help with simulation model verification and validation that can be automated using a software tool such as a unit testing tool • Our method promotes the principle of parsimony (incremental model development) • Our method encourages modellers to think about V&V early • Our method promotes documenting verification and validation cases of a simulation model Why is our research important? 4
  • 5. • Test-Driven Development (TDD) in software engineering • TDD is suitable for a software development process that is iterative, incremental and evolutionary (such as simulation) • Exploratory study on the use of TDD as a simulation model verification tool has been done (Collier & Ozik, Asta et al. and Onggo et al.) • Similar approach to TDD has been explored too (Gurcan et al., Niazzi et al. and Thiele et al.) Asta, S., E. Özcan, and P.-O. Siebers. 2014. Collier, N., and J. Ozik. 2013 Onggo, B.S.S., C. Indriany, and M. Gunal. 2014 Gurcan, O., O. Dikenelli, C. Bernon. 2013. Niazzi M.A., A. Hussain, and M. Kolberg. 2009 Thiele, J.C., Kurth, W., and Grimm V. 2014. Background 5
  • 6. Method • We extended TDD to cover model validation and embed TDD into the standard simulation modelling process – we call this Test-Driven Simulation Modelling (TDSM) • For each verification or validation case, we need to specify how the model (or part of the model) should behave • A validation case may require the model to be run multiple times to build the confidence intervals • Sensitivity analysis can be specified in which a validation case will test one point in the exploration space 6
  • 7. Case 1: DES • SharpSim - a general purpose DES library written in Visual CSharp (C#) • M/M/1 Queue RUN ARRIVAL START SERVICE END SERVICE ID = 1; S = 2; Customer c = new Customer(ID); edgeR_A.attribute = c; eStart.queue.Add (ev.evnt.parameter); edgeA_S.attribute = eStart.queue[0]; ID++; Customer c = new Customer(ID); edgeA_A.attribute = c; if (S > 0) edgeA_S.condition = true; else edgeA_S.condition = false; (S > 0) ∫ ∫ (Q > 0) eStart.queue .RemoveAt(0); S--; edgeS_E.condition = true; edgeS_E.attribute = c; S++; if (eStart.queue .Count() == 0) edgeE_S.condition = false; else { edgeE_S.condition = true; edgeE_S.attribute = eStart.queue[0]; } Stats.Collect ts ta ta 7
  • 8. Case 1: DES Verification Scenario 1: check correctness if arrivals at 1, 2 and service time 4, 3 8
  • 9. Case 1: DES Validation Scenario 2: Validate the model by evaluating whether the expected waiting time from the analytic model (i.e. 0.1922) is within the 95% confidence interval of the expected waiting time from the simulation model 9
  • 10. Case 2: ABS • Agent-based maritime search-operation simulation (MASSIM) – Onggo & Karatas (Wintersim 2014) • Various search algorithms: random, exhaustive, parallel, creeping, etc. • Detection functions: deterministic, various probabilistic functions • Single searcher, multiple searchers 10
  • 11. Case 2: ABS Validation Exhaustive search Random search 11
  • 12. Case 2: ABS Validation Parallel search 12
  • 13. • TDSM is a useful technique in the verification and validation of simulation models • TDSM works based on two principles: • modellers should be guided by the knowledge of relevant analytic models that are simpler and have known solutions when they are building a complex model • Modellers must think about how their model is going to be verified and validated, even before they begin to develop the model • TDSM and other methods (Gurcan et al. 2013, Niazzi et al. 2009 and Thiele et al. 2014) aim to help modellers validate a simulation model • TDSM is useful for auto-verification or auto-validation of simulation models Conclusion 13
  • 14. • Evaluate TDSM using an experiment with real modellers • Find an optimum TDSM strategy that balances test coverage and cost • Model verification and validation is a combinatorial problem • We need tool to evaluate the test cases (unit tests) • A unit test can contain mistakes too! • We need to embed TDSM components in a Visual Simulation Modelling tool • Get some feedback Next steps/future work 14
  • 15. References • Onggo BSS and Karatas M. (2016) 'Test-driven simulation modelling: A case study using agent-based maritime search-operation simulation', European Journal of Operational Research, 254 (2):517-531 • Onggo, B. S. S. , Indriany, C. & Gunal, M. (2014). Test- driven simulation modelling. In A. Bruzzone, E. Çayırcı, M. Günal, A. R. Kaylan, M. Massei, & C. Zanni-Merk (Eds.), Proceedings of the 7th international workshop on applied modeling and sim- ulation (WAMS14) (pp. 43–48). Turkey: Istanbul . 15