Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Models Of Modeling


Published on

Explores generalized models of the process of modeling and creating simulations. Includes concepts from leading thinkers in the modeling and simulation field.

  • Be the first to comment

Models Of Modeling

  1. 1. Models of Modeling Roger Smith, PhD, DM, MS, MBA Chief Technology Officer Florida HospitalNicholson Center for Surgical Advancement Approved for Public Release.
  2. 2. SIMULATION SURGEON Simulation Surgeon Soldier SpySOLDIER SPY 2
  3. 3. Cross-Domain PrinciplesCommander Policy OR ManagerCrew Cell OR TeamSoldier Analyst EMT 3
  4. 4. Challenges in Modeling Different Worlds Human Body Hard Objects living Energy Signalstanks, helos, ships tissue rf, eo, ir 4
  5. 5. 90 Mental Models … for InvestingYouve got to have models in your head. And youve got toarray your experience ‑ both vicarious and direct ‑ on thislatticework of models. …What are the models? Well, the first rule is that youve got tohave multiple models ‑ because if you just have one or two thatyoure using, the nature of human psychology is such thatyoull torture reality so that it fits your models, or at least youllthink it does. …Its like the old saying, "To the man with only a hammer, everyproblem looks like a nail." But thats a perfectly disastrous wayto think and a perfectly disastrous way to operate in theworld. …And the models have to come from multiple disciplines ‑because all the wisdom of the world is not to be found in onelittle academic department. …You may say, "My God, this is already getting way too Charlie Mungertough." But, fortunately, it isnt that tough ‑ because 80 or 90 Berkshire Hathawayimportant models will carry about 90% of the freight in making (Warren Buffett’s Partner)you a worldly ‑ wise person. And, of those, only a merehandful really carry very heavy freight. 5
  6. 6. Mental Models and Tools for Modeling• Mathematics • Finite State Machine• Statistics • Markov Chain• Physics • Continuous vs. Discrete• Logic • Sim Languages & Tools• Queuing • Notations (ER, UML)• Human Behavior• Economics• Social Relationships• CFD• Finite Element 6
  7. 7. Holy Grail:MODELS OF MODELING? 7
  8. 8. General Models Created for Courses 8
  9. 9. Pritsker’s Modeling Principles • Conceptualizing a model • In modeling combined systems, requires system knowledge, the continuous aspects of the engineering judgment, and problem should be considered model-building tools. first. The discrete aspects of the • The secret to being a good model should then be modeler is the ability to remodel. developed. • The modeling process is • A model should be evaluated evolutionary because the act of according to its usefulness. modeling reveals important From an absolute perspective, a information piecemeal. model is neither good or bad, • nor is it neutral. The problem or problem statement is the primary • The purpose of simulation controlling element in model- modeling is knowledge and based problem solving. understanding, not models.Source: Pritsker, A. (2000). Papers, Experiences, Perspectives. Systems Publishing Corp.
  10. 10. DES Program Structure Start Main Initialization Timing 1. Invoke Initialization1. Set clock 2. Invoke Timing 1. Select next event2. Set state variables 3. Invoke Event Handler 2. Advance sim clock3. Load event list Event Handlers Mathematics 1. Update state variables 2. Increment counters 1. Statistical Distributions 3. Generate future events 2. Mathematical Operations NO Finished? YES Reports 1. Compute interest data 2. Write reports StopSource: Law, A & Kelton, W. (1991). Simulation Modeling and Analysis. McGraw Hill.
  11. 11. DEVS Model Structure MODEL Model 5 Internal Transition •State Data Change 7 Output Events 3 Input Events •State Structure Specific •Event Type •Event Type •Time Stamped •Time Stamped •Object Identifier •Object Identifier •(other attributes) •(other attributes) 1 State Set 6 Output Event •Object Instance Generator 4 •Current Attributes •Trigger Condition External Transition •Mathematic Algorithm •Event Formatting •Event+State Data •New State Data •State Structure Independent •New Event 2 Time Advance •Monotonically Increasing •Distributed SynchronizationSource: Zeigler, Praehofer, Kim. (2000). Theory of Modeling and Simulation. Academic Press.
  12. 12. Kiviat Modeling Approach Purpose of the modeling project. Problem Statement Static state of objects. Physical Model Relationships between objects. Logical Model Possible actions. Dynamic Model Criteria for taking action. Decision Process Model Limiting effects. Control System ModelSource: Kiviat, P. (1998). Interview with Ernie Page for ACM SIGSIM Distinguished Lectureship.
  13. 13. The Big Picture: Knowledge Trumps Algorithms Knowledge & Skills Training Event Training System Simulated Environment Simulation System Model Algorithm
  14. 14. Interactive Simulation Architecture Synthetic User Models Translators Environment Interfaces Simulation Management Time Management Data Management Event Management Object Management Operating System Distribution Management Hardware NetworkSource: Smith, R. (2006). Military Simulation Techniques and Technology, DiSTI Course Workbook.
  15. 15. General Modeling Approaches • None – Omit Feature and Behavior from the Simulation • Geometry – Size and placement of organ • Stochastic – Probability of Injury, Mean Time Between Failure • Logical – Tissue Properties, Body System • Physics – Force, Mass, Friction, Vector Tracing • Artificial Intelligence – Human Decision & PerceptionSource: Smith, R. (2007). “Military Modeling”, Handbook of Dynamic Systems Modeling, CRC Press.
  16. 16. General Categories for Events Planned Reactive Management Environment Movement Path Evade Enemy Start Crater Terrain Search Pattern Fire Weapons Pause Destroy Bridge Battle Planning Detect Enemy Checkpoint Burn Forest Intel Analysis Apply Attrition Rate Change Collapse Building S Bridge TARGET SAM Bld SAM CITY CITY P C TreesSource: Smith, R. (2006). Military Simulation Techniques and Technology, DiSTI Course Workbook..
  17. 17. Physical Modeling Cycle Move Sense Start Cycle Here Communicate EngageSource: Smith, R. (2002). Military Simulation Techniques & Technology. DiSTI Course Manual.
  18. 18. Battlespace Abstract ModelSource: Smith, R. (2006). Military Simulation & Serious Games. Modelbenders Press.
  19. 19. Battlespace Abstract Model 2 Move Dynamic Perceive Environment Reason Engage ExchangeSource: Smith, R. (2007). “Military Modeling”, Handbook of Dynamic Systems Modeling, CRC Press.
  20. 20. Surgical Simulation: No Architectural Concepts Model Clinical Generation Vascular Expertise Structures Bleeding Tissue Simulation Parameters Tissue Cutting Organ Texturing Tissue Haptic Interface Deformation Collision Immersive OR Detection Fluid SimulationSource: Harders, M. (2008). Surgical Scene Generation for Virtual Reality Based Training in Medicine. Springer Verlag. 20
  21. 21. Possible Surgical Simulation Architecture Synthetic User Models Translators Environment Interfaces -Tissue Dynamics -Surgeon -Body -Instruments -Fluid Flow -Team -Fluids -Video -Body Response -Anesthetist - Pharma - Monitors Simulation Management Time ManagementData Management Event Management Object Management Operating System Distribution Management Hardware Network
  22. 22. Read all the code you can find AWSIM for(i=1 ; i <= NUMS ; ++i) { x1 = myPoints[ mySprings[i].i ].x; y1 = myPoints[ mySprings[i].i ].y; x2 = myPoints[ mySprings[i].j ].x; myPoints[ mySprings[i].j ].y; y2 = TACSIM while(x<getmaxx()){ r12d = sqrt ( (x1 - x2) *(x1 - x2) + (y1 - y2) * (y1 - y2) setfillstyle(SOLID_FILL,0); ); // square bar(x,y,x+bmp.width,y+bmp.height); // root of the distance if(r12d != 0) x++; draw_bitmap(&bmp,x,y); Quake { } for (i=0; i<NUM_ITER; i++) vx12 = myPoints[ mySprings[i].i ].vx - myPoints[ mySprings[i].j ].vx; { vy12 = myPoints[ mySprings[i].i ].vy - // Transfer the block N times and simulate myPoints[ mySprings[i].j ].vy; corruption f = (r12d - mySprings[i].length) * KS + (vx12 * (x1 - lostBlockCount = 0; x2) + vy12 * (y1 - y2)) * KD / r12d; for (j=0; j<N; j++) if (rand_val() <= PR_BAD) lostBlockCount++; // Are all blocks lost or did some make it through? if (lostBlockCount == N) lostDataCount++; else goodDataCount++; } 22
  23. 23. Read all of the books available 23
  24. 24. Advice for the Next Generation• Just do it … Design, build, run your own models• Generalize … Look for general principles• Read books and code … Learn beyond your own experience• Question other people … There are geniuses in our field• Branch out … psychology, system dynamics, medicine, economics … 24
  25. 25. Download the Presentation Technical Papers  Presentations 25