Thoughts on System Design by Thoughts on System Design by Engineers for Modeling and Engineers for Modeling and SimulationSimulation
Jonathan Sprinkle, Ph.D.Jonathan Sprinkle, Ph.D.
Executive Director, CHESSExecutive Director, CHESS
University of California, BerkeleyUniversity of California, Berkeley
http://www.eecs.berkeley.edu/~sprinkle/http://www.eecs.berkeley.edu/~sprinkle/
12 December 200512 December 2005 J. Sprinkle, "Thoughts on Simulation/Modeling"J. Sprinkle, "Thoughts on Simulation/Modeling" 22
ThoughtsThoughts
““I would as soon play tennis without a I would as soon play tennis without a net as write free verse”net as write free verse”
Robert FrostRobert Frost
12 December 200512 December 2005 J. Sprinkle, "Thoughts on Simulation/Modeling"J. Sprinkle, "Thoughts on Simulation/Modeling" 33
Thoughts:Thoughts:
““I would as soon flip burgers for a I would as soon flip burgers for a McLiving, as design systems using McLiving, as design systems using vivi””
Jonathan SprinkleJonathan Sprinkle
12 December 200512 December 2005 J. Sprinkle, "Thoughts on Simulation/Modeling"J. Sprinkle, "Thoughts on Simulation/Modeling" 44
Blank Verse vs. Blank PageBlank Verse vs. Blank Page
12 December 200512 December 2005 J. Sprinkle, "Thoughts on Simulation/Modeling"J. Sprinkle, "Thoughts on Simulation/Modeling" 55
Poetry vs. (Code) PoetryPoetry vs. (Code) Poetry
What is it that the (safety) net gives you?What is it that the (safety) net gives you? Structure, Restriction, Formality, VerifiabilityStructure, Restriction, Formality, Verifiability
And what about the blank (verse) page?And what about the blank (verse) page? Freedom, ConversationFreedom, Conversation
Frankly: the more freedom a programmer has, the Frankly: the more freedom a programmer has, the worse the code (or the poetry)worse the code (or the poetry)
“Like, wow, man” --Beatnik Poet Laureate
12 December 200512 December 2005 J. Sprinkle, "Thoughts on Simulation/Modeling"J. Sprinkle, "Thoughts on Simulation/Modeling" 66
Example DSLs/DSMEsExample DSLs/DSMEs
Ptolemy IIPtolemy II Graphical interface which Graphical interface which
touts the benefits of Actor-touts the benefits of Actor-Oriented ModelingOriented Modeling1.1.
GMEGME Generic Modeling Environment Generic Modeling Environment
which allows development of which allows development of restrictive DSLsrestrictive DSLs
SimulinkSimulink Domain-Specific modeling Domain-Specific modeling
environment for control designenvironment for control design
1.1. Actor Oriented Modeling (AOM) is not currently a buzzword or a generally accepted TLA Actor Oriented Modeling (AOM) is not currently a buzzword or a generally accepted TLA
Claudius PtolemaeusClaudius Ptolemaeus Prof. Edward A. LeeProf. Edward A. Lee
12 December 200512 December 2005 J. Sprinkle, "Thoughts on Simulation/Modeling"J. Sprinkle, "Thoughts on Simulation/Modeling" 77
ObjectsObjectsActorsActors
Model Driven Design essentially wants to use Model Driven Design essentially wants to use objectsobjects (programming constructs) to implement (programming constructs) to implement actoractor semanticssemantics (system constructs) (system constructs)
Can be done lots of ways:Can be done lots of ways: Direct execution of model for simulation and deploymentDirect execution of model for simulation and deployment
Drawback: often not suitable for deploymentDrawback: often not suitable for deployment Deployment models generated from simulation modelsDeployment models generated from simulation models
Drawback: which ones do you certify?Drawback: which ones do you certify? Deployment models based on simulation modelsDeployment models based on simulation models
How closely are they based?How closely are they based?
Still requires ‘verification/validation’Still requires ‘verification/validation’ Final deployment (state of the art)Final deployment (state of the art) Models and generators (emerging)Models and generators (emerging)
More
relia
ble
12 December 200512 December 2005 J. Sprinkle, "Thoughts on Simulation/Modeling"J. Sprinkle, "Thoughts on Simulation/Modeling" 88
To Do:To Do:
Drive domain development through interaction with Drive domain development through interaction with domain expertsdomain experts Explore problem domain with the people who…have Explore problem domain with the people who…have
problems in that domainproblems in that domain
Identify important domain concepts, and important Identify important domain concepts, and important modeling “design time” conceptsmodeling “design time” concepts
Choose/design design and execution languagesChoose/design design and execution languages Ponder growth of domain to mitigate migration Ponder growth of domain to mitigate migration
issuesissues
Note this is my vaguest slide yet…