Title: Language Constructs for Identifying Flexible Points in Coercible Simulations
1Modeling and Simulation Technology Research
Initiative
Language Constructs for Identifying Flexible
Points in Coercible Simulations
Joseph C. Carnahan Paul F. Reynolds, Jr.,
Ph.D. David C. Brogan, Ph.D.
2Modeling and Simulation Technology Research
Initiative
- Simulation Design and Transformation for Reuse
- COERCE
- Coercibility the practices and methods for
capturing designer knowledge in software
(Carnahan et al.) - Coercion a user-guided, semi-automated software
transformation process (Waziruddin et al.) - Composability
- Reusing components, possibly with acceptable
amounts of revision, to meet new requirements
(Bartholet et al.)
3Overview of COERCE
Simulation concept
Initial requirements
Simulation instance
Coercible Simulation
Simulation Coercion
Simulation instance
Simulation instance
Flexible point metadata
Reuse requirements
4Flexible Points
- Any element of the simulation that can be
- manipulated in meaningful and effective ways
- to direct a simulations behavior
- Examples
- Value substitution for constants/parameters
- Changing loop convergence criteria
- Adding and removing stochastic elements
- Allowing execution order to vary
5Clarifying Flexible Points
- Pragmatic definition, emphasis on semi-automated
transformation - Contrast with
- Simulation parameters
- Design decisions
Parameters
Flexible points
Design decisions
6Tools for COERCE
- Focus is on flexible points
- Language constructs (to describe)
- Optimization techniques (to manipulate)
- Visualization tools (to display and evaluate)
Work presented here on language constructs
7COERCE and Language Constructs
- Need a way for developers to describe COERCE
metadata - Many flexible points evident at development time
- Desired metadata properties
- Easy to write
- Machine-readable
8Language Construct Requirements
- Useful information about a flexible point
- Code that must be changed to manipulate it
- Alternative bindings that are available
- The original intent and implementation
- Effects of changing a flexible point
- Which simulation variables are affected and how
- What the behavioral effects (performance and
accuracy) of each alternative are - How the effects of different flexible points
interact with each other
9Complexity of the Challenge
- Meeting all of these requirements is difficult
- Compounded by the wide variety of flexible
points - Model versus model-implementation
- Narrow versus broad
- Ordered versus unordered alternatives
- Independent versus entangled
10Language Construct Ideas
- Two possible approaches
- A toolbox of language primitives
- Different constructs for different types of
flexible points? - Different constructs for different available
information? - A single killer construct
- Tradeoff between flexibility and complexity?
11Flexible Point Table
- One solution Tabular representation
- Rows for alternatives
- Columns for
- Name
- Description
- Possible implementation
- Can be implemented as an embedded XML document,
using XSLT for presentation
12Flexible Point Example
13Evaluation of Table Construct
- Applicable to a significant set of flexible
points - Turning constants into variables
- Swapping constant parameters with stochastic
functions - Replacing arbitrary block of code (function body)
- Provides opportunities for automation through
COERCE - Easy to implement with existing languages and
tools
14Future Directions
- Extending the flexible point table
- Looking at flexible points as cross-cutting
aspects - Aspect-oriented languages and systems
- Special constructs for describing broad flexible
points - Identifying flexible points without location in
code - Additional exploration through examples
15Summary
- Explored definitions for flexible points in
coercible simulations. - Investigated variety of language constructs for
capturing coercibility information, and
identified a set of requirements for them - Created the flexible point table as a method for
addressing capture of flexible points - Evaluated utility of flexible point table
16Acknowledgements
- Defense Modeling and Simulation Office
- National Science Foundation
- MaSTRI at the University of Virginia
Modeling and Simulation Technology Research
Initiative