CIMSIM2012 Keynote Component-based Modeling and Simulationteoym/pub/12/2012-Sep... · 2....
Transcript of CIMSIM2012 Keynote Component-based Modeling and Simulationteoym/pub/12/2012-Sep... · 2....
CIMSIM2012 Keynote
Component-based Modeling and Simulation
Yong Meng TEODepartment of Computer ScienceNational University of Singaporeemail: [email protected]
Motivation• Model Development and Simulation program centric, model-centric to model sharing [31] reuse of simulation models is appealing reduced development time and cost [31] flexibility in meeting user requirements [65]
• Simulation Operating Environment Internet as infrastructure for model sharing – grid,
peer-to-peer, cloud computing, etc.
• Knowledge Sharing models (knowledge) sharing on a larger scale quantum leap in size and capability of simulation
applications25 September 2012 CIMSIM 2012 - Keynote 2
Outline• Motivation
• Related Work
• Component-based Modeling & Simulation Modeling & Simulation Life-cycle Cross-cutting Issues Syntactic Composability Verification Semantic Composability Validation
• Summary
• References
25 September 2012 CIMSIM 2012 - Keynote 3
Composability“capability to select and assemble simulation components in various combinations to satisfy user requirements” [94]
• Simulation component - “a reusable, self contained unit that is independently testable and usable in a variety of contexts.” [31]
25 September 2012 CIMSIM 2012 - Keynote 4
1
2
3
N
. . .
3
1
5222
8
3
N
Simulation BSimulation A
ComponentRepository
Levels of Composability
None
Technical
Syntactic
Semantic
Pragmatic
Dynamic
Conceptual
25 September 2012
com
posa
bilit
y
CIMSIM 2012 - Keynote 5
VisionCOMPONENT
TOOLBOX
QueueingNetworks
Simulation Modelfor a Cluster Scheduler
Simulation Modelfor a Grid Meta-scheduler
25 September 2012
reuse of model components
reuse of base components
…
CIMSIM 2012 - Keynote 6
Component-based Approaches
25 September 2012 CIMSIM 2012 - Keynote 7
Software Engineering
Modeling & Simulation
Software Engineering vs Modeling & Simulation
25 September 2012 CIMSIM 2012 - Keynote 8
Related Work
• Cross-cutting issues [12, 40] Component abstraction [32, 40] Model reuse [12, 32, 40, 87, 96, 101, 135] Model discovery and selection [45, 92, 98, 101, 135] Syntactic verification [23, 54] …
• Semantic validation is non-trivial [95, 98] Not a closed operation Many aspects: data compatibility, logical, temporal,
formal, … Emergent properties ….
25 September 2012 CIMSIM 2012 - Keynote 9
Outline• Motivation
• Related Work
• Component-based Modeling & Simulation Modeling & Simulation Life-cycle Cross-cutting Issues Syntactic Composability Verification Semantic Composability Validation
• Summary
• References
25 September 2012 CIMSIM 2012 - Keynote 10
Life-cycle of Simulation Study
25 September 2012 CIMSIM 2012 - Keynote 11
Traditional (adapted from Banks et al., 2005)
Proposed Component-based Life-cycle
Cross-cutting Issues inComponent-based Modeling & Simulation
SyntacticVerification
component representation
dataencapsulation
loosecoupling
heterogeneouscomponents
ModelDiscovery
domainknowledge
component repository
ModelSelection
modelreuse
SemanticValidation
25 September 2012 CIMSIM 2012 - Keynote 12
CoDES: ComposableDiscrete-event Scalable Simulation
25 September 2012 CIMSIM 2012 - Keynote 13
[ANSS2008]
Outline• Motivation• Related Work
• Component-based Modeling & Simulation Modeling & Simulation Life-cycle Cross-cutting Issues Syntactic Composability Verification Model and Component Representation Hierarchical Component Reuse Describing Domain Knowledge EBNF Composition Grammar Example: Queuing Networks Implementation
Semantic Composability Validation
• Summary• Rferences
25 September 2012 CIMSIM 2012 - Keynote 14
[AMS2007,ANSS2008,PADS2010,WinterSim2011]
Syntactic Composability Verification
• “capability to combine and recombinecomponents without substantial integrationefforts” [3]
• How (a formalism to) Guides the composition Represents conceptual model for discovery &
validation
25 September 2012 CIMSIM 2012 - Keynote 15
Syntactic Verification Process
25 September 2012 CIMSIM 2012 - Keynote 16
Model Representation
• A network of components linked by connectors
• Types of connectors: One to One One to Many (Fork) Many to One (Join)
• Component-Connector Paradigm + components as black-boxes = loose coupling and data encapsulation
25 September 2012 CIMSIM 2012 - Keynote 17
• A black-box with in and/or out communicationchannels
• Meta-component abstraction: attributes: mandatory & specific behavior: a finite timed state automaton
• Implemented using our proposed COMLstandard (XSD schema)
25 September 2012
Component Representation
[Il ]Sp[t] Cond n St[Ol ][Am ]
CIMSIM 2012 - Keynote 18
Hierarchical Component Reuse
25 September 2012 CIMSIM 2012 - Keynote 19
within a domain across domains
Describing Domain Knowledge
• Enrich model description to support syntacticverification, discovery, semantic validation, …
• COSMO (COmponent Simulation and ModelingOntology) component-oriented simulation within and across
application domains high-level ontology (simulation); low-level ontology
(application domain): OWL-DL and RDF
25 September 2012 CIMSIM 2012 - Keynote 20
COSMO Ontology
ComponentBase Component
Model Component
AttributeBehavior Worldview
Data
Constraints
DestinationSourceType
Transition
State
Statehas_Inputhas_Output
Condition
has_Constraints
25 September 2012 CIMSIM 2012 - Keynote 21
COSMO Ontology: Queuing Network Example
25 September 2012
Component
Base Component Model Component
QN_BaseComponent
Source Server Sink
interArrivalTimeMean
Distribution
serviceTimeMean Policy
…
is_ais_a
is_a
has_IATime has_SrvTime has_Policy
has_SrvTimeDistrhas_ArrivalTimeDistr
CIMSIM 2012 - Keynote 22
EBNF Composition Grammar• 2 parts:
(a) CoDES Composition RulesSimulator := (Comp Con)+ Con := ConO | ConF | ConJComp := Base_Comp | Model_CompBase_Comp := QN_B_Comp
#CoDES Reuse RuleModel_Comp := QN_Simulator|MC_Simulator
Reuse acrossapp domains
Formal
Scalable
25 September 2012 CIMSIM 2012 - Keynote 23
[AMS2007,ANSS2008,PADS2010]
Example: Queuing Networks(b) Domain Specific Composition Rules
#Base ComponentsQN_B_Comp := Source|Server|Sink
#QN Composition RulesQN_Simulator := Source BlockNT+ [Terminal]|
Source BlockT+Terminal := ConO End|ConF (“(“End”)”)+|ConJ EndEnd := Source|Sink
BlockNT := ConF (“(“Box BlockNT* [ConJ Box BlockNT*]”)”)+|(ConO Box [BlockNT])+|_
BlockT := ConF (“(“Box BlockT* [Terminal|ConJ BlockT*]”)”) ConO Box
[BlockT])+|_
Box := Server|Model_Comp
25 September 2012
C1 C3C2
CIMSIM 2012 - Keynote 24
Implementation Details• Component representation COML schema implemented in XSD and XML validated using XML parser
• COSMO ontology created using Protégé specified using RDF (Resource Description Framework)
• Composition grammar EBNF Java parser using Earley’s algorithm
• Model discovery & selection implemented in Java Matching Index computation uses Jena Reasoner on the COSMO
ontology • Verification of syntactic composability composition grammar parser written in Java
25 September 2012 CIMSIM 2012 - Keynote 25
Outline• Motivation• Related Work
• Component-based Modeling & Simulation Modeling & Simulation Life-cycle Cross-cutting Issues Syntactic Composability Verification Semantic Composability Validation Approach General Model Properties Formal Model Execution Validation Cost
• Summary• References
25 September 2012 CIMSIM 2012 - Keynote 26
[PADS2009-2011,WinterSim2009,JoS2012]
• Does a composed model produces semanticallycorrect results?
• Key issues: Not a closed operation [10] Various perspectives [88]:Logical Temporal FormalAccuracyCost
…
Semantic Composability Validation
25 September 2012 CIMSIM 2012 - Keynote 27
Semantic Validation Process
25 September 2012 CIMSIM 2012 - Keynote 28
Approach• Semantic validation is computationally expensive
• ObservationsMore invalid than valid models Discarding a model as invalid is generally
cheaper than proving absolute validity
• Incremental approach Progressively eliminates invalid models Increases accuracy and credibility Higher computational cost
25 September 2012 CIMSIM 2012 - Keynote 29
25 September 2012
Model Population
CIMSIM 2012 - Keynote 30
25 September 2012
Approach – Syntactic Verification
VALID(syntax ✓)
INVALID(syntax ✗)
CIMSIM 2012 - Keynote 31
25 September 2012
INVALID(syntax ✓, semantic ✗)
Approach – Semantic Validation
INVALID(syntax ✗)
CIMSIM 2012 - Keynote 32
25 September 2012
Approach – Semantic Validation Valid = Syntax + Semantic (model properties + model execution)
INVALID[model properties]
Syntax Verification
INVALID[reference model]
INVALID(syntax ✗)
General Model Properties
Model Execution
CIMSIM 2012 - Keynote 33
How
25 September 2012
1. General model properties Correct and meaningful component communication Safety, liveness, deadlock-free – with time
- Covers software engineering + simulation perspectives[PADS 2009, PADS 2010]
2. Formal validation of model execution Comparison with reference model using state machine
- New time-based formalism defines validity- 5-step process validates model execution over time
[WinterSim 2009, PADS 2011]incr
easi
ng a
ccur
acy
& co
mpu
tatio
nal c
ost
CIMSIM 2012 - Keynote 34
Layered Approach Detail
25 September 2012 CIMSIM 2012 - Keynote 35
increasing accuracy and costs
1.1 Component Communication• Quantifies degree of semantic compatibility between
the reused components with respect to newlycomposed model
• Composability Index:
25 September 2012 CIMSIM 2012 - Keynote 36
1.2 Component Coordination
25 September 2012
• Guarantee that the logical coordination of components is correct
• Validate the logical coordination of components with respect to all possible combinations of states; transitions are instantaneous
• Properties: Safety – “Nothing bad ever happens” Entire composition: deadlock free, a property holds throughout the check Individual components: a property holds throughout the check
Liveness – “Something good will always happen” Individual components: a specific state is always reached
• Represent using Promela + employ SPIN model checker• Suffers from state explosion => attributes and time are
abstracted awayCIMSIM 2012 - Keynote 37
1.3 Meta-simulation Validation
• Guarantees composition safety and liveness through time
• We propose validity points to specify safety and transient predicates to specify liveness
• Properties Safety – Validity points [PADS2009] - data that must pass through
various connection points in the composition VP1 = d1 {origin = Server, destination = Sink, range = 10;
35, type = double} Liveness – Transient predicate - predicate that must become false
during a given time interval after it becomes true. transient(C2) = (busy == true)
• Transform into Java hierarchy and execute25 September 2012 CIMSIM 2012 - Keynote 38
2 Formal Model Execution Validation
• Software engineering Model properties - safety, liveness, deadlock-free, … Simple state machines and few attributes; often timeless
• Simulation Complex state machines & larger #attributes that change
over time => insufficient Composed model is a valid abstraction of real system ->
requires validation of model execution over time Current state-of-the-art (Petty&Weisel) propose a timeless
formalism => general model properties are previouslyvalidated; no fork/join; no feedback loops
25 September 2012 CIMSIM 2012 - Keynote 39
Comparison with Petty & Weisel’sFormal Composability Theory
1. Formal component representation
2. Composition
3. Reference model
ZZ ff ZZ
C1 C3C2
M f3 o f2 o f1
…
-static-unfeasible
- component order- no fork & join - no feedback loops
-assume to exist a-priori
- time-based- dynamic
- time-based- fork & join - feedback loops
constructed from generic description
Our approach
25 September 2012
S1*
S1*
S2*
S2*
S4*
S4*
S5*
S5*
S1S1 S2S2 S4S4 S5S5
af3
bf2
df3
af3*
bf2*
df3*
CIMSIM 2012 - Keynote 40
Time-based Formalism
• Component function representing input, states & time vs integer
function
• Mathematical composability time vs integer domains
25 September 2012
Expressive
Orders time
)()()()( |),( relationbinary bijective the exists thereiif composable are
and then},1,|),{(model composeda Given
jm
jn
outi
inj
im
jn
jiji
ttTTttR
ffnjiffM
CIMSIM 2012 - Keynote 41
Time-based Formalism (2)
• Simulation Time-ordered functions => fork, join, feedback loops
• Validity: compares with reference model over time Exact match New degree of similarity index based on related
simulation states ( )
25 September 2012
Dynamic execution representation
Measure of similarity
…
<f1,O1, 5> <fi,Op+1, tp+1-tp> <fj,Oq+1, tq+1-tq>
…
CIMSIM 2012 - Keynote 42
Degree of Semantic Similarity
V (p,q) {(p,q) | p q }
f in ( p)
p
f out ( p)
f *in (q)
q
f *out (q)
p q DS(s(p),s*(q)) DF( fin (p), f *
in (q)) DF( fout (p), f *out (q))
22
- same component is executed- composition states are related:- related attributes (in the ontology)
- same value or- same trend
25 September 2012 CIMSIM 2012 - Keynote 43
5-Step Validation Process
25 September 2012
(1) Formal Representation (2) Unfolding
and Sampling
(3) Composition
(4) Simulation
(2) Unfolding and Sampling
(3) Composition
(4) Simulation
(5) V
alid
atio
n(5
) Val
idat
ion Strong equivalence?
L(M) V L(M*)?
(1) Formal Representation
Composition CompositionC1 C3C2 C1 C3C2
Valid
Valid
Invalid
sampledvalues
L(M) L(M*)
C1 C1*
Yes
Yes
No
No
… …
Composed Model Reference Model
CIMSIM 2012 - Keynote 44
• Simple example #components = 1,000 fork/join = 10% #states = 3 states/component no feedback loops
• Larger example #components = 20 fork/join = 25% #states = 9 states/component feedback loops =10%
Validation Cost
25 September 2012
…
CIMSIM 2012 - Keynote 45
More results in [PADS2011, JoS2012]
ValidationRuntime (s)
n=100 n=500 n=1,000
1. General Model Properties
A. Component Communication 0.1 0.3 0.5
B. Component Coordination 195.6 320.4 412.3
C. Component Coordination over Time 97.3 120.6 160.8
2. Formal Model Execution 15.3 209.5 420.6
TOTAL 308.3 650.8 994.2
25 September 2012
Validation Cost Breakdown
Simple Examplen=1,000; fork/join ratio = 10%;
General Model Properties : Formal Validation45:55%
It takes 49 seconds to simulate and
17 minutes to validate
CIMSIM 2012 - Keynote
Simple ExampleGeneral Model Properties - Formal Validation
5 - 55%It takes 49 seconds to simulate
and17 minutes to validate
Large Example
General Model Properties - Formal Validation87 – 13%
It takes 1.3 minutes to simulateand
27 minutes to validate46
Summary
• Component-based modeling Component abstractions: meta-components, domain knowledge
representation [ANSS 2008] Model discovery and selection: partial matches [ANSS 2008,
WinterSim2011]
• Syntactic composability verification EBNF composition grammar [AMS 2007, PADS2010]
• Semantic composability validation: Approach [PADS 2009, PADS 2011] General model properties [PADS2009, PADS2010] Formal time-based formalism of model execution [Wintersim
2009*] Costs of validation [PADS2011, JoS2012]
* ACM SIGSIM Best PhD Student Paper Award
25 September 2012 CIMSIM 2012 - Keynote 47
Summary
25 September 2012 CIMSIM 2012 - Keynote 48
proposedCoDES
ANSS2008
ANSS2008
WinterSim2011
AMS2007, ANSS2008
AMS2007,PADS2010
PADS2009-2011,WinterSim2009,JoS2012
Simulation examples: queuing networks, grid virtual organizations, military troop training
Open Problems
1. Who (and how to specify) the reference model for validation?
2. Techniques to reduce model state space in larger models
3. What about emergent properties?
25 September 2012 49CIMSIM 2012 - Keynote
Emergent Properties
25 September 2012 CIMSIM 2012 - Keynote 50
System Properties
Emergent Properties
Design Properties
Syntactic VerificationSemantic Validation
Prediction or Detection Semantic Validation
“The whole is greater than the sum of its parts” - Aristotle
Publications1. C. Szabo and Y.M. Teo, An Integrated Approach for the Validation of Emergence in
Component-based Simulation Models, Proc of Winter Simulation Conference, IEEE ComputerSociety Press, Berlin, Germany, Dec 9-12, 2012.
2. C. Szabo and Y.M. Teo, An Objective-based Approach for Semantic Validation of Emergencein Component-based Simulation Models, Proc of 26th ACM/IEEE/SCS Workshop on Principles ofAdvanced and Distributed Simulation, pp. 155-162, ZhangJiaJie, China, Jul 15-19, 2012.
3. Y.M. Teo and C. Szabo, Semantic Validation of Emergent Properties in Component-basedSimulation Models, Book Chapter in Ontology, Epistemology, and Teleology of Modeling andSimulation – Philosophical Foundations for Intelligent M&S Applications, edited by Andreas Tolk, pp319-333, Springer-Verlag, 2013.
Publications - www.comp.nus.edu.sg/~teoym 1. C. Szabo and Y.M. Teo, An Approach to Semantic-based Model Discovery and Selection, Proc of Winter
Simulation Conference, pp. 3054--3066, IEEE Computer Society Press, Phoenix, Arizona, USA, Dec 11-14, 2011.
2. C. Szabo and Y.M. Teo, An Analysis of the Cost of Validating Semantic Composability, Proc of25th ACM/IEEE/SCS Workshop on Principles of Advanced and Distributed Simulation, pp. 62-69, IEEE ComputerSociety Press, Nice, France, June 14-17, 2011. [also in Journal of Simulation, 2012]
3. Claudia Szabo, COMPOSABLE SIMULATION MODELS AND THEIR FORMAL VALIDATION, PhD Thesis,Department of Computer Science, National University of Singapore, 2010.
4. C. Szabo and Y.M. Teo, On Validation of Semantic Composability in Data-driven Simulation, Proc of24thACM/IEEE/SCS Workshop on Principles of Advanced and Distributed Simulation, pp. 73-80, IEEE ComputerSociety Press, Atlanta, USA, May 17-19, 2010.
5. C. Szabo, Y.M. Teo and S. See, A Time-based Formalism for the Validation of Semantic Composability, Procof Winter Simulation Conference, pp. 1411-1422, IEEE Computer Society Press, Austin, Texas, USA, December13-16, 2009, (ACM SIGSIM Best PhD Student Paper Award).
6. C. Szabo and Y.M. Teo, An Approach for Validation of Semantic Composability in Simulation Models, Procof 23rdACM/IEEE/SCS Workshop on Principles of Advanced and Distributed Simulation, pp. 3-10, IEEE ComputerSociety Press, New York, USA, Jun 22-25, 2009.
7. Y.M. Teo and C. Szabo, CODES: An Integrated Approach to Composable Modeling and Simulation, Proc of41stAnnual Simulation Symposium, pp. 103-110, IEEE Computer Society Press, Ottawa, Canada, Apr 13-16,2008.
8. C. Szabo and Y.M. Teo, On Syntactic Composability and Model Reuse, Proc of the International Conferenceon Modeling and Simulation, pp. 230-236, IEEE Computer Society Press, Phuket, Thailand, March 2007, (invitedpaper).
25 September 2012 CIMSIM 2012 - Keynote 51
25 September 2012 52
Thank you
http://www.comp.nus.edu.sg/~teoymEmail: [email protected]
CIMSIM 2012 - Keynote
Acknowledgement: This keynote is based on the PhD work my student, Dr Claudia Szabo, currently with the University of Adelaide, Australia.