Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Promises and Challenges of Model-Based Design Hans Vangheluwe 29 April 2012 CAMPaM workshop, Bellairs Research Institute, Barbados
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity Model Everything . . . Explicitly
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity Model Everything . . . Explicitly for design (Engineering) and analysis (Science)
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity Model Everything . . . Explicitly for design (Engineering) and analysis (Science) The spectrum of uses of models Documentation
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity Model Everything . . . Explicitly for design (Engineering) and analysis (Science) The spectrum of uses of models Documentation Formal Verification of Properties (all models, all behaviours)
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity Model Everything . . . Explicitly for design (Engineering) and analysis (Science) The spectrum of uses of models Documentation Formal Verification of Properties (all models, all behaviours) Model Checking of Properties (one model, all behaviours)
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity Model Everything . . . Explicitly for design (Engineering) and analysis (Science) The spectrum of uses of models Documentation Formal Verification of Properties (all models, all behaviours) Model Checking of Properties (one model, all behaviours) Test Generation
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity Model Everything . . . Explicitly for design (Engineering) and analysis (Science) The spectrum of uses of models Documentation Formal Verification of Properties (all models, all behaviours) Model Checking of Properties (one model, all behaviours) Test Generation Simulation (one model, one behaviour) . . . calibration, optimization, . . .
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity Model Everything . . . Explicitly for design (Engineering) and analysis (Science) The spectrum of uses of models Documentation Formal Verification of Properties (all models, all behaviours) Model Checking of Properties (one model, all behaviours) Test Generation Simulation (one model, one behaviour) . . . calibration, optimization, . . . Application Synthesis (mostly for models of software)
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Requirements (“What?”) Detached or Semi-detached Style (classical, modern, . . . ) Number of Floors Number of rooms of different types (bedrooms, bathrooms, . . . ) Garage, Storage, . . . Cellar . . .
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Design (“How?”) Requirements (“What?”) Detached or Semi-detached Style (classical, modern, . . . ) Number of Floors Number of rooms of different types (bedrooms, bathrooms, . . . ) Garage, Storage, . . . Cellar . . .
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Design (“How?”) Requirements (“What?”) Detached or Semi-detached Style (classical, modern, . . . ) Number of Floors Number of rooms of different types (bedrooms, bathrooms, . . . ) Garage, Storage, . . . Cellar . . .
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions System Boundaries System to be built/studied Environment with which the system interacts
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions System vs. “Plant” www.mathworks.com/products/demos/simulink/PowerWindow/html/PowerWindow1.html
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Number of Components – hierarchical (de-)composition
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Crowds: diversity, interaction www.3dm3.com
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Diversity of Components: Power Window
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Non-compositional/Emergent Behaviour
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Uncertainty Often related to level of abstraction: for example continuous vs. discrete www.engr.utexas.edu/trafficSims/
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Question: is the deviation from the trend periodic?
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Answer: transform to make the solution obvious
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Guiding principle ( ∼ physics: principle of minimal action) minimize accidental complexity , only essential complexity remains Fred P . Brooks. No Silver Bullet – Essence and Accident in Software Engineering. Proceedings of the IFIP Tenth World Computing Conference, pp. 1069–1076, 1986. http://www.lips.utexas.edu/ee382c-15005/Readings/Readings1/05-Broo87.pdf
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Dealing with Complexity: some approaches multiple abstraction levels optimal formalism multiple formalisms multiple views
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Multiple Abstraction Levels Different Abstraction Levels – properties preserved
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Multiple Abstraction Levels Levels of Abstraction/Views: Morphism model M_t M_d abstraction simulation trajectory traj_t traj_d detailed abstract (technical) level (decision) level
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Most Appropriate Formalism (Minimizing Accidental Complexity) www.planeshift.it Massively Multiplayer Online Role Playing games need Non-Player Characters (NPCs)
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions TankWars: high level Radar Tank WeaponDetectionSystem Sensors Turret FuelTank Analyzers InRangeDetector ObstacleDetector WaypointDetector Memorizers EnemyTracker FuelStationMap RepairStationMap ObstacleMap Strategical Deciders PilotStrategy AttackPlanner RefuelPlanner RepairPlanner Pathfinder Tactical Deciders EscapePlanner ExplorePlanner Steering TurretSteering Executors Coordinators TurretTankMovementCoordinator Actuators MotorControl TurretControl
Model Everything! Compl. Causes Dealing with Compl. MPM DSM Language Eng. Language Evolution Conclusions Strategic Deciders – High-level Goals PilotStrategy EnoughFuel damageHigh [repairTracker. [not repairTracker. NormalOperation repairPosKnown] repairPosKnown] [in enemyTracker.enemyPosKnown && not fuelTank.lowFuel] Exploring Attacking Repairing Fleeing H* [repairTracker. repaired repairPosKnown] BBBBBBBBBBBBBBBBBBBBBBB[not fuelTracker.fuelPosKnown] fuelFull Refueling fuelLow [fuelTracker.fuelPosKnown] Jörg Kienzle, Alexandre Denault, Hans Vangheluwe. Model-Based Design of Computer-Controlled Game Character Behavior. MoDELS 2007: 650-665
Recommend
More recommend