SlideShare uma empresa Scribd logo
1 de 18
SimProject
CASE Tool for Discrete Event Programming
(Simulation)
Information Systems Engineering Project, 2005
Ron Perlmuter, Avi Orenstein
Ben-Gurion University
About
SimProject is a computer-aided software engineering tool that allows
development of events, procedures & variables using discrete event
simulation.
Graphical user interface resembles to Microsoft Visual Studio combined
with Visio provides an easy and intuitive way to simulation programming.
SimProject compiles the graphical model to pseudo-code and later
interpreters it using Microsoft .NET/C#.
Finally the model is executed and the simulation results are displayed in
console. Debugging and step by step execution is also supported.
SimProject was built as part of our final B.Sc. project at BGU.
Goals
Two primary goals:
• Educational tool for discrete event simulation
• Utility for programming advanced simulations
Alternatives, like Arena, are very pricey and don’t
justify development of small scale simulations.
Goals
How Can I Use It?
Aside from software programming and testing, is it possible to use
this tool for business cases?
Definitely, here is a real life example...
How Can I Use It?
You had the fortune to become a McDonald's
franchise and you opened a new restaurant in
your beloved neighborhood.
After awhile you hear complaints about long
queues, dissatisfied customers and losing
customers to the restaurant next door.
How Can I Use It?
You decide to create a simulation model, starting by resources:
1 chef, 2 cashiers, 10 tables.
You figure out that most of the time the restaurant works fine, but
only between 12:00 to 14:00 the problems arise.
You calculate the customers arrival rate and average time they:
• Serviced by the cashier
• Serviced by the chef
• Waiting for a seating
Also you realized that the waiting line is no longer than 5 persons,
meaning you lose customers to the next restaurant.
How Can I Use It?
Now you can use this model in our tool and get more insights:
• Number of customers you lose per day
• Waiting time per customer
• Locate the bottlenecks
Computer simulation allows you to easily (and cheaply)
investigate possible solutions:
• Adding another cashier – how will it affect the lost customers
number? How it will affect the average waiting time?
• Will increasing the number of tables create a positive effect?
• Should I hire another chef?
This problem is real, and impacts many business. Think about your
retailers and service providers…
Architecture
We have divided the
solution into 5 modules:
• CASE
• Project
• Diagrams
• Simulation Engine
• User Interface
Simulation Engine
Its prime objective is to compile and execute a simulation
project.
We thought about the best implementation for this
objective, without creating a dependency on other
modules.
We were inspired by Java and .NET platforms, creating a
new programming language that compiles into
intermediate language.
The intermediate language is an internal simulation
language, adapting the graphical model to C#.
The user is not aware of any internal languages.
Acceptance Criteria
The robustness & performance of our tool can be
measured by the capability to model various simulations
which are studied in Computer Simulation course at Ben-
Gurion University.
Those simulations are composed from well known discrete
event idioms from the classic literature.
Our CASE tool allows the usage of the following models:
• M/M/1 – Single server with events from Markov
distribution.
• M/M/n – Multiple servers.
• Inventory models.
• Jobs scheduling models.
Challenges & Solutions
Diagrams Module
Creating a diagrams module from scratch is time consuming and
risky.
Also it was not part of our project goals.
Two solutions were possible:
1. Integration with Microsoft Visio – due to poor support and
cumbersome integration with Microsoft .NET we rejected this
option.
2. Integration with Open Source – allowed us to draw diagrams
and we manually changed its code in order to enhance the
existing C# components with our requirements.
The usage of the open source was very productive.
User Interface Module
Like in the previous slide, we wanted to provide a Visual Studio
experience since it’s very intuitive for developers and students.
We searched for an open source solution and found a great
implementation in C#.
Curious About Simulation?
More Stuff…
Computer Simulation is a technique that represents real world
using computerized program. The simulation also models it’s
internal processes with the addition of the simulation results.
Discrete Event Simulation is an evolving model which is
represented by situational variables. Those variables change on
the time axis, and precisely on specific locations in time. We call
these locations in time ‘events’.
Known Simulation Methods:
• Manual – drawing manual data flow diagrams on paper,
describing the logics and executing using trace tables.
• Textual languages – this method describes the simulation using
special syntax and commands. They usually simplified and
don’t require an extensive knowledge in high level
programming languages. E.g: Siman, Simphony.
More Stuff…
• High level programming languages – capable of modeling
any simulation. Most of the times used for simple simulations
with simple outputs. E.g. Fortran, Java, C, VB.
• Graphical simulation languages – visual language that
describes the simulation model using well known structures.
Those are adapted to textual simulation languages which later
can be used in other programming languages. E.g. Arena,
Simulink.
Thanks
Ron Perlmuter
www.linkedin.com/in/ronper

Mais conteúdo relacionado

Mais procurados

DevOps for the IBM Mainframe environment
DevOps for the IBM Mainframe environmentDevOps for the IBM Mainframe environment
DevOps for the IBM Mainframe environmentMicro Focus
 
Leverage the power of machine learning on windows
Leverage the power of machine learning on windowsLeverage the power of machine learning on windows
Leverage the power of machine learning on windowsJosé António Silva
 
Elephant Carpaccio
Elephant CarpaccioElephant Carpaccio
Elephant CarpaccioLars Thorup
 
Effective Architecting: Best Practices for Software Architects
Effective Architecting: Best Practices for Software ArchitectsEffective Architecting: Best Practices for Software Architects
Effective Architecting: Best Practices for Software ArchitectsGanesh Samarthyam
 
GDG Cloud meetup november 2019 - kubeflow pipelines
GDG Cloud meetup november 2019 -  kubeflow pipelinesGDG Cloud meetup november 2019 -  kubeflow pipelines
GDG Cloud meetup november 2019 - kubeflow pipelinesSven Degroote
 
Browser and Cloud - The Future of IDEs?
Browser and Cloud - The Future of IDEs?Browser and Cloud - The Future of IDEs?
Browser and Cloud - The Future of IDEs?martinlippert
 

Mais procurados (9)

DevOps for the IBM Mainframe environment
DevOps for the IBM Mainframe environmentDevOps for the IBM Mainframe environment
DevOps for the IBM Mainframe environment
 
E031202024029
E031202024029E031202024029
E031202024029
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
SchiebelResume
SchiebelResumeSchiebelResume
SchiebelResume
 
Leverage the power of machine learning on windows
Leverage the power of machine learning on windowsLeverage the power of machine learning on windows
Leverage the power of machine learning on windows
 
Elephant Carpaccio
Elephant CarpaccioElephant Carpaccio
Elephant Carpaccio
 
Effective Architecting: Best Practices for Software Architects
Effective Architecting: Best Practices for Software ArchitectsEffective Architecting: Best Practices for Software Architects
Effective Architecting: Best Practices for Software Architects
 
GDG Cloud meetup november 2019 - kubeflow pipelines
GDG Cloud meetup november 2019 -  kubeflow pipelinesGDG Cloud meetup november 2019 -  kubeflow pipelines
GDG Cloud meetup november 2019 - kubeflow pipelines
 
Browser and Cloud - The Future of IDEs?
Browser and Cloud - The Future of IDEs?Browser and Cloud - The Future of IDEs?
Browser and Cloud - The Future of IDEs?
 

Semelhante a Discrete Event Simulation, CASE tool built using C#

Virtual amity | Term Paper | SEM-III
Virtual amity | Term Paper | SEM-IIIVirtual amity | Term Paper | SEM-III
Virtual amity | Term Paper | SEM-IIIVishal Aditya
 
Project Proposal Service Center Management software
Project Proposal  Service Center Management softwareProject Proposal  Service Center Management software
Project Proposal Service Center Management softwareAdam Waheed
 
Lecture 1 uml with java implementation
Lecture 1 uml with java implementationLecture 1 uml with java implementation
Lecture 1 uml with java implementationthe_wumberlog
 
Required computer skills program devlopment
Required computer skills program devlopmentRequired computer skills program devlopment
Required computer skills program devlopmentHubert Shanthan
 
GDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSCVJTI
 
Introduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyIntroduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyZainul Zain
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docxWeek 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docxestefana2345678
 
Design Patterns - The Ultimate Blueprint for Software
Design Patterns - The Ultimate Blueprint for SoftwareDesign Patterns - The Ultimate Blueprint for Software
Design Patterns - The Ultimate Blueprint for SoftwareEdureka!
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptRayonJ1
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)FarjanaAhmed3
 
Webinar: Design Patterns : Tailor-made solutions for Software Development
Webinar: Design Patterns : Tailor-made solutions for Software DevelopmentWebinar: Design Patterns : Tailor-made solutions for Software Development
Webinar: Design Patterns : Tailor-made solutions for Software DevelopmentEdureka!
 

Semelhante a Discrete Event Simulation, CASE tool built using C# (20)

Virtual amity | Term Paper | SEM-III
Virtual amity | Term Paper | SEM-IIIVirtual amity | Term Paper | SEM-III
Virtual amity | Term Paper | SEM-III
 
Software process model
Software process modelSoftware process model
Software process model
 
Project Proposal Service Center Management software
Project Proposal  Service Center Management softwareProject Proposal  Service Center Management software
Project Proposal Service Center Management software
 
Climberreport
ClimberreportClimberreport
Climberreport
 
Lecture 1 uml with java implementation
Lecture 1 uml with java implementationLecture 1 uml with java implementation
Lecture 1 uml with java implementation
 
Required computer skills program devlopment
Required computer skills program devlopmentRequired computer skills program devlopment
Required computer skills program devlopment
 
GDSC FY Orientation.pptx
GDSC FY Orientation.pptxGDSC FY Orientation.pptx
GDSC FY Orientation.pptx
 
Introduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyIntroduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga Academy
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Hci 3
Hci 3Hci 3
Hci 3
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docxWeek 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
 
Design Patterns - The Ultimate Blueprint for Software
Design Patterns - The Ultimate Blueprint for SoftwareDesign Patterns - The Ultimate Blueprint for Software
Design Patterns - The Ultimate Blueprint for Software
 
Cnpm bkdn
Cnpm bkdnCnpm bkdn
Cnpm bkdn
 
Lean Quality & Engineering
Lean Quality & EngineeringLean Quality & Engineering
Lean Quality & Engineering
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Software Engineering 2014
Software Engineering 2014Software Engineering 2014
Software Engineering 2014
 
Webinar: Design Patterns : Tailor-made solutions for Software Development
Webinar: Design Patterns : Tailor-made solutions for Software DevelopmentWebinar: Design Patterns : Tailor-made solutions for Software Development
Webinar: Design Patterns : Tailor-made solutions for Software Development
 
Software Processes
Software ProcessesSoftware Processes
Software Processes
 

Último

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Último (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Discrete Event Simulation, CASE tool built using C#

  • 1. SimProject CASE Tool for Discrete Event Programming (Simulation) Information Systems Engineering Project, 2005 Ron Perlmuter, Avi Orenstein Ben-Gurion University
  • 2. About SimProject is a computer-aided software engineering tool that allows development of events, procedures & variables using discrete event simulation. Graphical user interface resembles to Microsoft Visual Studio combined with Visio provides an easy and intuitive way to simulation programming. SimProject compiles the graphical model to pseudo-code and later interpreters it using Microsoft .NET/C#. Finally the model is executed and the simulation results are displayed in console. Debugging and step by step execution is also supported. SimProject was built as part of our final B.Sc. project at BGU.
  • 3. Goals Two primary goals: • Educational tool for discrete event simulation • Utility for programming advanced simulations Alternatives, like Arena, are very pricey and don’t justify development of small scale simulations.
  • 5. How Can I Use It? Aside from software programming and testing, is it possible to use this tool for business cases? Definitely, here is a real life example...
  • 6. How Can I Use It? You had the fortune to become a McDonald's franchise and you opened a new restaurant in your beloved neighborhood. After awhile you hear complaints about long queues, dissatisfied customers and losing customers to the restaurant next door.
  • 7. How Can I Use It? You decide to create a simulation model, starting by resources: 1 chef, 2 cashiers, 10 tables. You figure out that most of the time the restaurant works fine, but only between 12:00 to 14:00 the problems arise. You calculate the customers arrival rate and average time they: • Serviced by the cashier • Serviced by the chef • Waiting for a seating Also you realized that the waiting line is no longer than 5 persons, meaning you lose customers to the next restaurant.
  • 8. How Can I Use It? Now you can use this model in our tool and get more insights: • Number of customers you lose per day • Waiting time per customer • Locate the bottlenecks Computer simulation allows you to easily (and cheaply) investigate possible solutions: • Adding another cashier – how will it affect the lost customers number? How it will affect the average waiting time? • Will increasing the number of tables create a positive effect? • Should I hire another chef? This problem is real, and impacts many business. Think about your retailers and service providers…
  • 9. Architecture We have divided the solution into 5 modules: • CASE • Project • Diagrams • Simulation Engine • User Interface
  • 10. Simulation Engine Its prime objective is to compile and execute a simulation project. We thought about the best implementation for this objective, without creating a dependency on other modules. We were inspired by Java and .NET platforms, creating a new programming language that compiles into intermediate language. The intermediate language is an internal simulation language, adapting the graphical model to C#. The user is not aware of any internal languages.
  • 11. Acceptance Criteria The robustness & performance of our tool can be measured by the capability to model various simulations which are studied in Computer Simulation course at Ben- Gurion University. Those simulations are composed from well known discrete event idioms from the classic literature. Our CASE tool allows the usage of the following models: • M/M/1 – Single server with events from Markov distribution. • M/M/n – Multiple servers. • Inventory models. • Jobs scheduling models.
  • 13. Diagrams Module Creating a diagrams module from scratch is time consuming and risky. Also it was not part of our project goals. Two solutions were possible: 1. Integration with Microsoft Visio – due to poor support and cumbersome integration with Microsoft .NET we rejected this option. 2. Integration with Open Source – allowed us to draw diagrams and we manually changed its code in order to enhance the existing C# components with our requirements. The usage of the open source was very productive.
  • 14. User Interface Module Like in the previous slide, we wanted to provide a Visual Studio experience since it’s very intuitive for developers and students. We searched for an open source solution and found a great implementation in C#.
  • 16. More Stuff… Computer Simulation is a technique that represents real world using computerized program. The simulation also models it’s internal processes with the addition of the simulation results. Discrete Event Simulation is an evolving model which is represented by situational variables. Those variables change on the time axis, and precisely on specific locations in time. We call these locations in time ‘events’. Known Simulation Methods: • Manual – drawing manual data flow diagrams on paper, describing the logics and executing using trace tables. • Textual languages – this method describes the simulation using special syntax and commands. They usually simplified and don’t require an extensive knowledge in high level programming languages. E.g: Siman, Simphony.
  • 17. More Stuff… • High level programming languages – capable of modeling any simulation. Most of the times used for simple simulations with simple outputs. E.g. Fortran, Java, C, VB. • Graphical simulation languages – visual language that describes the simulation model using well known structures. Those are adapted to textual simulation languages which later can be used in other programming languages. E.g. Arena, Simulink.